Страница 1 из 1

Нумерация Ethernet

Добавлено: 03 дек 2006 09:41
hatred
На компе две Ethernet карточки, одна собтственно коннетится к ADSL мопеду, другая (встроенная) - смотрит в сетку.

собственно беда: какого черта время от времени они меняются местами, т.е. раньше встроенная всегда eth0 была, а потом становится когда eth0 когда eth1....

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

Нумерация Ethernet

Добавлено: 03 дек 2006 10:49
michael
Я свои по MAC-адресу различаю. На интерфейс с определённым MAC'ом выдаётся соответствующий IP, а eth0 или eth1 - уже не волнует.

Нумерация Ethernet

Добавлено: 03 дек 2006 11:15
rayven
Про MAC адрес идея правильная, только можно сделать красивее: udev. Просто напиши правило, назначающее имена устройствам по MAC и все будет отлично.

Нумерация Ethernet

Добавлено: 03 дек 2006 12:12
rpk
На каждый алиас назначается соответствующий драйвер ядра, отсюда и плясать надо. В зависимоти от того, "чем" у тебя файлы устройств управляются разумеется.

/etc/modprobe.conf ->
************
alias eth0 8139too
alias eth1 eepro100
************
Соответственно никакой неоднозначно в данном случае быть не может. Попробуй поправить modules.conf или что там у тебя на предмет указания ручками что и для чего загружать.

Если меняются, наверное логика того, "кто файлы устройств создаёт", более интеллектуальная нежели выше, и где-то прихрамывает.
В последнее время с udev/devfs и прочими не ковырялся?

Нумерация Ethernet

Добавлено: 03 дек 2006 13:13
michael
/etc/modprobe.conf решение хорошее, но только не в случае, когда драйвера вкомпилены в ядро. А как для udev такие правила написать?

Нумерация Ethernet

Добавлено: 03 дек 2006 18:55
rayven
Часть раз
Часть два

Первую часть нужно просто перетерпеть, чтобы понять о чем речь, а вот вторая -- это ответ на ваши вопросы про udev.

Нумерация Ethernet

Добавлено: 03 дек 2006 19:42
rpk
[quote="michael"]/etc/modprobe.conf решение хорошее, но только не в случае, когда драйвера вкомпилены в ядро.[/quote]
Кончайте норкоманеть! Я на вас вызому мелицЫю!
modprobe как раз и описывает модули их их параметры при загрузке соответствующего модуля...

Нумерация Ethernet

Добавлено: 03 дек 2006 21:04
hatred
не ругайтесь, ларчик просто открыался, действительно udev, но вот как это делается в Arch:
1. идем в /etc/udev читаем readme-udev-arch.txt секцию "Persistent Network names (optional)"
2. собственно все :)

Нумерация Ethernet

Добавлено: 03 дек 2006 21:05
loooser
rpk: о какой загрузке модуля ты говоришь? Тебе же сказали - "вкомпилены в ядро"

Когда что-то вкомпилино в ядро - курите 'man bootparam'.

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

ETHERNET DEVICES
       Different  drivers  make use of different parameters, but they all at least share
       having an IRQ, an I/O port base value, and a name. In its most generic  form,  it
       looks something like this:

              ether=irq,iobase[,param_1[,...param_8]],name

       The  first  non-numeric  argument  is  taken as the name.  The param_n values (if
       applicable) usually have different meanings for each different card/driver.  Typ-
       ical param_n values are used to specify things like shared memory address, inter-
       face selection, DMA channel and the like.

       The most common use of this parameter is to force probing for a second ethercard,
       as the default is to only probe for one. This can be accomplished with a simple:

              ether=0,0,eth1

       Note  that  the values of zero for the IRQ and I/O base in the above example tell
       the driver(s) to autoprobe.

       The Ethernet-HowTo has extensive documentation on using multiple cards and on the
       card/driver  specific implementation of the param_n values where used. Interested
       readers should refer to the section in that document on their particular card.

Нумерация Ethernet

Добавлено: 03 дек 2006 22:17
hatred
loooser, ну ё майо ну ты изначально пиши фразы нормально, думаешь при беглом чтении на твою частицу "не" обратили внимание? :)

А в случае udev вот что у меня получилось в результате того что я в своем последнем посте написал:

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

# PCI device 0x10ec:0x8139 (8139too)                                                                                          
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:4c:eb:07:53", NAME="eth0"                                             
                                                                                                                              
# PCI device 0x10de:0x0057 (forcedeth)                                                                                        
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:13:d4:f9:ca:82", NAME="eth1"                                             
                                                                                                                              
# Firewire device 0011d800006c9193)                                                                                           
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:d8:00:00:6c:91:93", NAME="eth2"

Нумерация Ethernet

Добавлено: 04 дек 2006 00:48
loooser
hatred: не понял, а где я в данном топике употребил частицу "не" ??

Нумерация Ethernet

Добавлено: 04 дек 2006 17:50
hatred
а точно, не ты :)

а непонятки внесло вот это:
/etc/modprobe.conf решение хорошее, но только не в случае, когда драйвера вкомпилены в ядро.