The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка Lucent WinModem в ALT Linux (modem winmodem win linux driver hardware)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: modem, winmodem, win, linux, driver, hardware,  (найти похожие документы)
From: Ilya Evseev <ilya_evseev AT mail TOCHKA ru> Date: Mon, 28 Feb 2004 14:31:37 +0000 (UTC) Subject: Настройка Lucent WinModem в ALT Linux Оригинал: http://ilya-evseev.narod.ru/posix/linmodem/ Lucent WinModem в ALT Linux Master Данные заметки относятся только к модемам, основанным на чипсетах фирмы Lucent (бывшая Bell Labs, нынешняя Agere (http://www.agere.com/)). В моём случае это Genius GM56PCI-LA. Более полную информацию на русском языке, в том числе по другим чипсетам и по их поддержке в ALTLinux'е, смотрите здесь: http://wiki.atmsk.ru/?LinHardWare/Modem/WinModem. Кроме того, по адресу ftp://ftp.atmsk.ru/pub/contrib находятся уже собранные RPM-пакеты для поддержки Lucent WinModems в ALT Linux Master/Junior 2.2, автором которых является Вадим Липатов. К сожалению, к ним не прилагается src.rpm, так как он, по словам автора, утерян. Поскольку каждая сборка ядра теоретически требует соответствующей сборки драйверов, по мере выхода обновлений ядра указанные пакеты с драйверами становятся всё менее и менее актуальными. Наконец, надобность в данной странице отпадёт, когда/если ALT станет поддерживать Lucent-модемы <<из коробки>>. Итак... В Интернете опубликовано ДВА разных пакета, носящих одинаковое название ltmodem. Один их них распространяется с сайта http://www.close.u-net.com/ltmodem.html и имеет версию 0.9.9. Вот что он умеет: * Detects Lucent PCI modems, prints rom checksums, estabilishes basic communication with the modem. * Get the modem on/off hook and dial both dtmf and pulse. * Detects dial tone and answer tone. * Detects incoming call, then goes offhook. * Completely working full duplex voice mode (working at 8kHz, 16 bit, linear). It is already possible to use this driver to turn your winmodem into telephone. То есть ЭТО НЕ ДРАЙВЕРЫ, а набор утилит! И они у меня не заработали. Второй распространяется с сайта http://www.heby.de/ltmodem и содержит драйверы для ядер серии 2.4. Текущая версия пакета - 8.26a9. Он-то нам и нужен (примечание: последняя версия для ядер серии 2.2 -- 6.00). Собирать из него RPM я не пробовал, так как у меня сложилось впечатление, что его утилиты сборки и установки: * чересчур <<интерактивны>> для того, чтобы можно было использовать их для сборки и установки RPM-пакета; * чересчур <<интеллектуальны>> для того, чтобы можно было установить на машине А пакет, собранный на машине Б. Вместо этого здесь находится патч и инструкция, которые позволят вам выполнить все необходимые действия самостоятельно. Если такой вариант вас не устраивает, в пакете с исходниками есть сценарий build_rpm, который, если повезeт, соберeт RPM-пакет, пригодный для RedHat'a. Готовые пакеты для разных дистрибутивов есть и на сайте. Можете попробовать установить один из них в сомнительной надежде, что он заработает в ALM 2.2. Я предпочeл выполнить сборку вручную. _________________________________________________________________ Если вам лень копировать команды из Веб-браузера в терминал, можете скачать и запустить этот сценарий (прим. см. ниже ltmodem-allstuff.sh). Он выполняет шаги с первого по четвёртый. Шаг 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 Можете выбрать [9]ближайший 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 _________________________________________________________________ Последнее изменение: 02 February 2004 MSK 05:45 Ругань принимается по адресу: ilya_evseev AT mail TOCHKA ru.
ltmodem-allstuff.sh #!/bin/sh # # ltmodem-allstuff.sh # # Automate dowloading, compiling and installing # Lucent WinModem 8.26a9 drivers for Linux. # # Original location: # http://ilya-evseev.narod.ru/posix/linmodem # # Author: # ilya_evseev AT mail TOCHKA ru # # Last changed: # 27 January 2004 MSK 15:53 # set -e echo "Step 1: installing compiler, library, utilities..." sudo apt-get install gcc3.2 glibc-devel kernel24-headers make patch echo "Step 2: downloading sources..." 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 echo "Step 3: downloading and applying patch..." wget http://ilya-evseev.narod.ru/posix/linmodem/ltmodem-8.26a9-alt1.patch patch < ltmodem-8.26a9-alt1.patch echo "Step 4: build, install, configure..." sudo ./scanmodem ./build_module sudo ./ltinst2 test -e /dev/modem && sudo rm -f /dev/modem sudo ./autoload ## EOF ##
ltmodem-8.26a9-alt1.patch --- build_module.orig 2004-01-09 13:20:08 +0300 +++ build_module 2004-01-11 13:08:27 +0300 @@ -64,9 +64,13 @@ exit 2 fi -mkdir -p /tmp/ltmodem -TMPM=/tmp/ltmodem/tmpfile -echo $TMPM +if [ -z "$TMPDIR" ]; then + test -d ~/tmp && TMPDIR=~/tmp || TMPDIR=/tmp +fi +TMPD=$TMPDIR/ltmodem +test -d $TMPD || mkdir -p $TMPD +TMPM=$TMPD/tmpfile +echo Assign Record File to $TMPM export TMPM=$TMPM # FAST is usually exported from build_rpm or build_deb. @@ -253,7 +257,13 @@ if [ -z "$FAST" ]; then # Calling scanPCI utility -utils/scanmodem +if [ $UID = 0 ]; then + utils/scanmodem +else + echo Enter your password to executing ScanModem under Root privileges... + sudo utils/scanmodem + sudo chown $USER $TMPD/* +fi echo read -p "To continue: Enter" echo ================================================== @@ -345,6 +355,23 @@ rm -rf $BASE tar zxf $BASE.tar.gz + echo + echo "Patching configure..." + echo ' +--- configure.orig 2004-01-09 13:28:13 +0300 ++++ configure 2004-01-09 13:28:30 +0300 +@@ -992,6 +992,7 @@ + KERNEL_HEAD_ALT="$KERNEL_HEAD_ALT /usr/src/linux-`echo "$KERNEL_VERSION" | cut -d"-" -f1`" + fi + KERNEL_HEAD_ALT="$KERNEL_HEAD_ALT /usr/src/linux-$KERNEL_VERSION \ ++ /usr \ + /lib/modules/$KERNEL_VERSION_ORI/build" + + for DIR in $KERNEL_HEAD_ALT +' | patch -d source + echo "...done" + echo + # for rpm Distro -CPU.rpm with CPU exported from build_rpm if test -n "$CPU" ; then echo CPU='"'$CPU'"' >> $BASE/SETTINGS @@ -919,6 +946,25 @@ fi #TEST=1 +echo +echo "Patching autoload..." +echo ' +--- source/autoload.orig 2004-01-09 14:04:12 +0300 ++++ source/autoload 2004-01-09 14:07:28 +0300 +@@ -274,8 +274,7 @@ + END + cat $TMPM >> $RECORD + cat $TMPM +- sleep3 +- exit 1 ++ read -p "Press Ctrl+C to abort, Enter to continue AT YOUR OWN RISK!" + fi + + +' | patch -d source +echo "...done" +echo + if [ -z "$FAST" ]; then if [ -n "$FV" ] ; then echo For useful methods of packaging drivers read DOCs/Options.txt @@ -941,3 +987,4 @@ fi fi # FAST echo +

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру