Linux - статьи



              

Linux 2.6: откуда берется пыль и куда деваются линки - часть 4


Как видите, модуль ltserial зависит от ltmodem, так что мы можем выдать только modprobe ltserial — и ltmodem будет загружен автоматически (маленькая радость). Если мы один раз загрузим модуль, он и впредь будет загружаться, даже после перезагрузки. Выполним modprobe ltmodem и посмотрим dmesg, где помимо прочего будут и такие строки: ltmodem: module license 'Proprietary' taints kernel. Loading Lucent Modem Controller driver version 8.26-alk ACPI: PCI Interrupt 0000:00:09.1[A] -> Link [C185] -> GSI 11 (level, low) -> IRQ 11 Detected Parameters Irq=11 BaseAddress=0x3430 ComAddress=0x0 ttyLTM0 at I/O 0x3430 (irq = 11) is a Lucent/Agere Modem

Теперь, наконец, займемся самим драйвером, то есть двумя упоминавшимися уже модулями *.ko (ko — от Kernel Object file). Во-первых, обратите внимание на название драйвера — Ltmodem, в данном случае это обозначает Lucent Technologies. В модеме используется сигнальный процессор (DSP) этого известного производителя. Если вам не так повезло, и у вас другая модель, то возможно, что проблем будет больше, вплоть до неразрешимых — и действительно придется брать другой модем. Это просто Lucent так любезна, что старается предоставлять драйверы для своих юнитов, так же как и драйвера для беспроводных карточек Orinoco и т.д. Под "и т.д." следует понимать компанию Agere и ее продукцию, в которую это "практическое Bell-lab’ство" сейчас превратилось.

Кстати, кроме "вынь"-модема на настоящем DSP (он "вынь" стал только потому, что не на взаправдашнем СОМ-порту висит, а на PCI-шине), существует еще и софт-модем Agere. И как с ним быть, наш драйвер не в курсе. И даже спросить не у кого — производитель драйверы для Linux не выпускает. Там и модема-то не видно, по сути, один жирный фирмварь, который весь и надо бы портировать.

"Поддержка", однако, еще не значит "открытый код". Lucent только предоставила базовый код виртуального COM-порта в бинарном виде, к которому нужно линковать драйвер. В результате драйвер состоит из трех частей: открытые, собираемые вами ltmodem.ko, ltserial.ko и закрытый кусок кода — ltmdmobj.o (по факту — сим-линк на конкретную версию этой библиотеки, на сегодня это 8.31). Загрузить отдельно либу с доками можно на ltmodem.heby.de.

Текущая версия самого драйвера как целого — 2.6-alk-7. В данном случае alk обозначает "форк", то есть ветку разработки, которую ведет Алексей Кондратенко. Это как раз то, что нужно для ядра 2.6, с учетом как раз SYSFS. Исходники можно получить по адресу или на нашем диске.

* * *

Конечно, другой бы вам еще рассказал, как настроить дозвон модемом из командной строки, но это уж в другой раз. Я же просто залез в KPPP, проверил модем опросом ATIn, потыкался в мини-терминал и, удовлетворенный богоугодной работой, отправился в Большую Сеть. Единственное что в "командах модема" пришлось поменять тоновый набор на импульсный, ATDT на ATDP — но уж где и как все это делается, думаю, вы найдете.

Если winmodem Lucent вам действительно нужен, то на КП-диске лежат и файлы, и документы, необходимые для установки: файлы универсальные, исходники, а вот инструкции только к FC4 — думаю, c минимумом очевидных вариаций подойдет к любому ядру 2.6.




Содержание  Назад