[sisyphus] dmfe vs tulip
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Фев 28 13:40:24 MSK 2008
On Thu, Feb 28, 2008 at 02:03:58AM +0300, А.Китайкин wrote:
> Подскажите пожалуйста, кого и как отучить грузить модуль tulip
> в данном конкретном случае?
>
> У меня имеется сетевая карточка:
>
> 00:10.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x DEC-Tulip compatible 10/100 Ethernet (rev 40)
> Subsystem: Unknown device 4554:434e
> Flags: bus master, medium devsel, latency 32, IRQ 10
> I/O ports at e400 [size=256]
> Memory at df001000 (32-bit, non-prefetchable) [size=256]
> [virtual] Expansion ROM at 20000000 [disabled] [size=256K]
> Capabilities: <access denied>
> Kernel driver in use: dmfe
>
> При загрузке компьютера усердно грузится tulip. Но сеть работает
> через dmfe.
>
> В настройках etcnet в options прописано MODULE=dmfe, в результате
> в память загружаются оба. С ядром 2.6.18 сеть как-то работала.
Потому что в это ядро входил патч, который по умолчанию отключал
поддержку этих карточек в модуле tulip (грузились всё равно оба
модуля, но без дополнительных параметров модуль tulip игнорировал
устройство).
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=334104
https://launchpad.net/bugs/48287
> Попробовал 2.6.24-std-def и облом: теперь сеть запускается только
> после выгрузки обоих модулей и повторной загрузки dmfe.
На ядро 2.6.24 этот патч ещё не перенесён; апстрим, очевидно, тоже до
сих пор не исправил эту проблему.
> ...До и в процессе сочинения этого письма провел несколько
> экспериментов.
>
> Правил pci.ids и pcitable в hwdatabase, добавил девайс и связь с
> dmfe, не помогло.
Эти файлы не используются при загрузке модулей (когда-то очень давно
информация бралась из pcitable, сейчас используются только данные из
самих модулей и blacklist в конфигурации modprobe).
> Правка /etc/hotplug/blacklist не помогла (убрал dmfe, добавил tulip,
> все равно грузится!).
hotplug сейчас не используется (остались только старые хвосты типа
acpi.rc; на 2.6.24 и они станут окончательно ненужными).
> В udev ничего не понял. В т.ч. как vendor и devid связать с чем-л.
Этим занимается не непосредственно udev, а modprobe (модуль ищется по
modalias и встроенным алиасам).
> О, чудо! Ура! Заработало! - Добавил blacklist tulip в новый файлик
> в /etc/modprobe.d
Этот вариант будет работать, если не потребуется установить рядом
другую карточку, для которой нужен будет модуль tulip.
> Вопрос остался: кто хранит тайные знания о правильных драйверах?
Обычно сопоставление идёт по modalias - список поддерживаемых модулем
устройств виден в выводе modinfo; общий список извлекается из модулей
при выполнении depmod и помещается в /lib/modules/$KVER/modules.alias.
Проблемы возникают в ситуациях, когда на один и тот же идентификатор
по каким-то причинам претендует несколько модулей (в данном случае это
означает, что для устройства есть несколько разных драйверов с
различным набором ошибок в каждом из них).
> И почему вечно грузится tulip, хотя не работает, а работает dmfe?
По приведённым выше ссылкам указано, что на некоторых архитектурах по
каким-то причинам с аналогичными устройствами нормально работает
драйвер tulip, а как раз dmfe не работает; что с этим делать -
непонятно.
> На работе за последние годы прошло несколько карточек от C-Net,
> и все dmfe, и все конфигурировались вручную. Раньше было просто,
> главное прозрачно, alias eth0 "и получи то что ты видишь".
> А что взамен?
Насколько я понял, с 2.6.18-std-smp эти карточки всё-таки должны были
работать сразу; с vanilla (чем по сути сейчас является std-def) они
действительно не работают без дополнительной настройки.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20080228/b47ee1e5/attachment-0002.bin>
Подробная информация о списке рассылки Sisyphus