Lucent WinModem в ALT Linux Master

Switch to English

Данные заметки относятся только к модемам, основанным на чипсетах фирмы Lucent (бывшая Bell Labs, нынешняя Agere). В моём случае это Genius GM56PCI-LA. Более полную информацию на русском языке, в том числе по другим чипсетам и по их поддержке в ALTLinux'е, смотрите здесь: http://wiki.atmsk.ru/?LinHardWare/Modem/WinModem.

Кроме того, по адресу ftp.atmsk.ru/pub/contrib находятся уже собранные RPM-пакеты для поддержки Lucent WinModems в ALT Linux Master/Junior 2.2, автором которых является Виталий Липатов. К сожалению, к ним не прилагается src.rpm, так как, по словам автора, все пакеты собирались вручную. Поскольку каждая сборка ядра теоретически требует соответствующей сборки драйверов, по мере выхода обновлений ядра указанные пакеты с драйверами становятся всё менее и менее актуальными.

Наконец, надобность в данной странице отпадёт, когда/если ALT станет поддерживать Lucent-модемы «из коробки».

Итак... В Интернете опубликовано ДВА разных пакета, носящих одинаковое название ltmodem.

Один их них распространяется с сайта www.close.u-net.com и имеет версию 0.9.9. Вот что он умеет:

То есть ЭТО НЕ ДРАЙВЕРЫ, а набор утилит! И они у меня не заработали.

Второй распространяется с сайта www.heby.de/ltmodem и содержит драйверы для ядер серии 2.4. Текущая версия пакета - 8.26a9. Он-то нам и нужен (примечание: последняя версия для ядер серии 2.2 -- 6.00). Собирать из него RPM я не пробовал, так как у меня сложилось впечатление, что его утилиты сборки и установки:

Вместо этого здесь находится патч и инструкция, которые позволят вам выполнить все необходимые действия самостоятельно. Если такой вариант вас не устраивает, в пакете с исходниками есть сценарий build_rpm, который, если повезeт, соберeт RPM-пакет, пригодный для RedHat'a. Готовые пакеты для разных дистрибутивов есть и на сайте. Можете попробовать установить один из них в сомнительной надежде, что он заработает в ALM 2.2. Я предпочeл выполнить сборку вручную.


Если вам лень копировать команды из Веб-браузера в терминал, можете скачать и запустить этот сценарий. Он выполняет шаги с первого по четвёртый.

Шаг 1. Установка компилятора, библиотек и утилит.

sudo apt-get install gcc3.2 glibc-devel kernel24-headers make patch
Здесь подразумевается, что (а) у вас установлено ядро 2.4 (для ядра 2.2 нужны, соответственно, kernel22-headers) и (б) для построения модулей вы будете использовать компилятор GCC версии 3.2. Хотя ядро скомпилировано GCC 2.96, который не имеет полной двоичной совместимости с 3.x, у меня такой симбиоз проблем не вызвал. Если хотите гарантированно их избежать, устанавливайте пакет gcc2.96.

Шаг 2. Скачиваем и устанавливаем исходные тексты драйвера.

mkdir ~/src && cd ~/src
wget -c http://www.physcip.uni-stuttgart.de/heby/ltmodem/ltmodem-8.26a9.tar.gz
tar xzf ltmodem-8.26a9.tar.gz
cd ltmodem-8.26a9
Можете выбрать ближайший FTP-сервер.

Шаг 3. Накладываем мой патч:

wget http://ilya-evseev.narod.ru/posix/linmodem/ltmodem-8.26a9-alt1.patch
patch < ltmodem-8.26a9-alt1.patch
Что даeт патч?
  1. Позволяет запускать build_module не от root'a, а от простого пользователя, но имеющего право запуска sudo.
  2. Позволяет компилировать драйверы версией компилятора, отличной от той, которая использовалась для компиляции ядра (см.выше).
  3. Правит пути для поиска заголовочных файлов ядра, т.к. в ALT'e они слегка отличаются от общепринятых.

Шаг 4. Компилируем, устанавливаем и настраиваем модули.

sudo ./scanmodem       # убеждаемся, что модем распознаeтся
./build_module         # компилируем... приготовьтесь нажимать Enter ;-)
sudo ./ltinst2         # инсталлируем lt_modem.o и lt_serial.o в /lib/modules/`uname -r`/ltmodem
sudo rm -f /dev/modem  # ...иначе заругается
sudo ./autoload        # создаeм /dev/ttyLT0, правим /etc/modules.conf

Шаг 5. Проверка.

  1. Драйверы установлены?
    $ ls -l /lib/modules/`uname -r`/ltmodem
    -rw-r--r--    1 root     root       543712 Jan  9 13:58 lt_modem.o
    -rw-r--r--    1 root     root        28049 Jan  9 13:58 lt_serial.o
  2. Драйверы запущены?
    $ depmod -a; lsmod | grep lt_
    lt_serial              20628   0  (autoclean)
    lt_modem              472475   0  (autoclean) [lt_serial]
  3. Автозагрузка драйверов при старте системы включена?
    $ grep lt_ /etc/modules.conf
    # lt_drivers: autoloading and insertion parameter usage                               
    alias char-major-62 lt_serial                                                         
    alias /dev/tts/LT0 lt_serial                                                          
    alias /dev/modem lt_serial
  4. Модем распознаётся?
    $ wvdialconf /tmp/wvdial_ltmodem.conf


История изменений

Дата последнего изменения: 01 Июля 2004 MSD 00:37
Есть замечания? Пишите.

Хостинг от uCoz