persistent-net.rules (2 сетевые карты с одинаковыми hw-addr)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

wzor
Сообщения: 124
ОС: gentoo

persistent-net.rules

Сообщение wzor »

после обновления bios получил неприятную проблему... при загрузке машины не инициализируются сетевые карты... связано это как я предпологаю с одинаковыми HW адресами карт... поэтому udev неможет разобраться где что... видимо необходимо вручную добавить дополнительные итендификаторы в правила... но что писать не представляю....

/var/log/dmesg:

Код: Выделить всё

[    0.842870] forcedeth 0000:00:10.0: PCI INT A -> Link[APCH] -> GSI 23 (level, low) -> IRQ 23
[    0.842875] forcedeth 0000:00:10.0: setting latency timer to 64
[    0.842918] nv_probe: set workaround bit for reversed mac addr
[    1.360456] forcedeth 0000:00:10.0: ifname eth0, PHY OUI 0x5043 @ 1, addr 04:4b:80:80:80:03
[    1.360460] forcedeth 0000:00:10.0: highdma csum vlan pwrctl mgmt timirq gbit lnktim msi desc-v3
[    1.360854] ACPI: PCI Interrupt Link [AMC1] enabled at IRQ 22
[    1.360861] forcedeth 0000:00:11.0: PCI INT A -> Link[AMC1] -> GSI 22 (level, low) -> IRQ 22
[    1.360865] forcedeth 0000:00:11.0: setting latency timer to 64
[    1.360896] nv_probe: set workaround bit for reversed mac addr
[    1.880437] forcedeth 0000:00:11.0: ifname eth1, PHY OUI 0x5043 @ 1, addr 04:4b:80:80:80:03
[    1.880440] forcedeth 0000:00:11.0: highdma csum vlan pwrctl mgmt timirq gbit lnktim msi desc-v3


сами правила которые создаются udevом
/etc/udev/rules.d/70-persistent-net.rules:

Код: Выделить всё

# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


при этом при перезагрузке с этими правилами, udev пишет:

Код: Выделить всё

* Starting udevd...                                                       [ ok ]
* Populating /dev with existing devices through uevents...                [ ok ]
* Waiting for uevents to be processed...                                  [ ok ]
* UDEV: Your system has a problem assigning persistent names
* to these network interfaces:  eth0_rename_ren
* Checking persistent-net rules:
* Found no duplicate names in persistent-net rules,
* there must be some other problem!
* Device initiated services: net.eth1


и соответственно сетевая карта НЕ инициализируется... но если удалить фаил /etc/udev/rules.d/70-persistent-net.rules то при следующей загрузке инициализация происходит корректно...
какие могут быть идеи кроме удаления правил при выключении/перезагрузке?
Спасибо сказали:
Аватара пользователя
BuriK666
Сообщения: 95
ОС: GNU/Linux Gentoo

Re: persistent-net.rules

Сообщение BuriK666 »

может перед загрузкой udev менять HW одной из карт?
Linux for you.
Спасибо сказали:
wzor
Сообщения: 124
ОС: gentoo

Re: persistent-net.rules

Сообщение wzor »

мне хотелось бы обойтись правкой правил udev.... ведь у карт разные irq и разные адреса шины... мне кажется что возможно описать эти особенности в правилах... но как это сделать, какие переменные писать я не-знаю....
Спасибо сказали:
yaleks
Сообщения: 2121
Статус: вне статуса
ОС: Gentoo ~

Re: persistent-net.rules

Сообщение yaleks »

что за материнка? встречал уже такой глюк.
Спасибо сказали:
wzor
Сообщения: 124
ОС: gentoo

Re: persistent-net.rules

Сообщение wzor »

asus m2n32 deluxe wi/fi
Спасибо сказали:
yaleks
Сообщения: 2121
Статус: вне статуса
ОС: Gentoo ~

Re: persistent-net.rules

Сообщение yaleks »

в общем надо искать утилиту для смены маков...
Спасибо сказали:
Аватара пользователя
BuriK666
Сообщения: 95
ОС: GNU/Linux Gentoo

Re: persistent-net.rules

Сообщение BuriK666 »

может поможет если дописать

Код: Выделить всё

ATTR{irq}=="23"


http://www.reactivated.net/writing_udev_rules.html
Linux for you.
Спасибо сказали:
wzor
Сообщения: 124
ОС: gentoo

Re: persistent-net.rules

Сообщение wzor »

спасибо за ответы, особенно BuriK666.
По результатам чтения статьи, пришол к выводу о необходимости нахождения какого либо параметра который имеет уникальный инетдификатор для конкретной сетевой карты, в моем случае результатом стало:

/etc/udev/rules.d/70-persistent-net.rules:

Код: Выделить всё

# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{type}=="1", ATTR{ifindex}=="3", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{type}=="1", ATTR{ifindex}=="2", KERNEL=="eth*", NAME="eth0"


сами уникальные итендификаторы были "выловлены" в
/sys/class/net/eth0/ifindex:

/sys/class/net/eth1/ifindex:
Спасибо сказали: