[sisyphus] dmfe vs tulip

Led =?iso-8859-1?q?ledest_=CE=C1_gmail=2Ecom?=
Чт Фев 28 14:55:13 MSK 2008


В сообщении от Thursday 28 February 2008 12:40:24 Sergey Vlasov написал(а):
> 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.
> Проблемы возникают в ситуациях, когда на один и тот же идентификатор
> по каким-то причинам претендует несколько модулей (в данном случае это
> означает, что для устройства есть несколько разных драйверов с
> различным набором ошибок в каждом из них).

кстати, вот этот modalias повторяется и в 8139too, и в 8139cp:
pci:v000010ECd00008139sv*sd*bc*sc*i*


-- 
Led


Подробная информация о списке рассылки Sisyphus