[mdk-re] serial ports not working with kernel 2.4.7!!! Bug or feature?

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_mivlgu=2Emurom=2Eru?=
Вс Авг 5 20:49:00 MSD 2001


On Sun, 05 Aug 2001 18:39:57 +0400
cornet <cornet на zmail.ru> wrote:

> И все же я так и не понял, что это за char-major-NNN модули??
> Вечно логи забиты сообщениями, что modprobe видите ли не смог их
> найти, задолбало уже....
> 
> Кто нть может это популярно разъяснить??

Это механизм автозагрузки модулей по требованию.  Когда происходит
обращение к файлу устройства, для которого в данный момент не загружен
драйвер (ядру неизвестен этот major number), делается попытка
запустить modprobe char-major-NNN (или block-major-NNN для блочного
устройства).  В modprobe есть таблица, где перечислены драйверы для
большинства номеров; если там нужной записи нет, можно указать в
/etc/modules.conf alias char-major-NNN <имя модуля>.  Если modprobe не
может найти нужный драйвер (номер вообще неизвестен, или, как в случае
с serial, нужного модуля нет), пишется сообщение в лог.

Выяснить, к какому устройству относится major number, можно в файле
Documentation/devices.txt (в исходниках ядра или в пакете kernel-doc).
Например, так надоевший многим char-major-180 - это устройства USB;
для этого номера нет единого драйвера, поэтому автозагрузка в данном
случае вряд ли возможна.  char-major-226 - это DRI; для него нужно
выбрать драйвер, соответствующий видеокарте, и поставить в alias (или
поставить off, если DRI не поддерживается).

Есть еще char-major-10-NNN - это miscdevices (для устройств, не
требующих собственного major number); их номера тоже есть в
devices.txt.  Кроме того, похожий механизм используется и в других
местах: для загрузки драйверов сетевых протоколов (net-pf-NNN),
модулей сжатия PPP (ppp-compress-NNN), ...  При загрузке модуля scsi
делается запрос модуля scsi_hostadapter.




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