(Специальная редакция для Санкт-Петербурга, для провайдера WebPlus)


Предисловие

Решил я проапгрейдить свою старую систему Slackware 8, после долгого перерыва. По случаю купил несколько дистрибутивов, включая Mandrake 10 на универсальном цифровом диске. Поставил я почти все эти дистрибутивы и стал смотреть насколько они удобны для меня.
Интересовало меня, прежде всего, минимизация усилий по настройке оборудования и русификации. Приглянулась мне Mandrake 10 с ядром 2.6.3-7mdk. Установил и настроил за один вечер практически все свое оборудование, за исключением доступа к сети Интернет через ADSL модем, и настроил вечно никому не нужные русские буквы. В моей старой системе, ADSL модем(Zyxel OMNI ADSL USB EE на чипсете Alcatel) нормально себя чувствовал с драйвером amedyn, в свое время загруженным и настроенным. В новой же системе, с новым ядром, я столкнулся с разным количеством проблем, большую часть описаний которых, можно найти на форумах.

Консультации с провайдером не дали мне дополнительной информации, как настраивать модем под linux, но дали общую информацию о протоколах, IP-адресах, явках и пр. Интернет описания настроек различных ADSL модемов помогли понять в каком направлении двигаться. И модем был настроен, я получил высокоскоростной постоянный доступ в Интернет из под Linux.
Меня несколько расстроила и утомила процедура установки и я решил по возможности упростить ее, а заодно сохранить опыт настройки данного модема для последующего беспроблемного конфигурирования.
Здесь стоит заметить, почему я выбрал ADSL модем с USB. Я сторонник современных технологий plug and play в любом виде. Я получаю преимущества от пользования горячего подключения, когда использую USB устройства. И я использую операционные системы Windows и Linux на разных компьютерах с одними и теми же устройствами, подключая и отключая различные usb устройства и я ожидаю беспроблемной работы, так что горячее подключение и автоконфигурирование экономит мои усилия, а в беспроводных сетях мегаполиса, так это жизненно важно.:-)

Предупреждение


Данная статья рассказывает как настроить подключение к провайдеру в г. Санкт-Петербург(Питер,Ленинград,WebPlus), Российская Федерация, предоставляющему услугу ADSL доступа в Интернет, ТОЛЬКО с помощью модема Zyxel OMNI ADSL USB EE c PID = 0xa5a5 и VID =0x06b9 model 630-11 Alcatel Telecom DinaMiTe modem, c божьей помощью протокола RFC1483 routed. Иные модемы и протоколы, в том числе версии 630-41 are not supported. Все описанное относится к ядрам 2.6.3 и несильно выше. Pid и Vid это два параметра идентифицирующие оборудование.

Для модема Zyxel OMNI ADSL USB EE (Annex A) на чипсете Connexant с VID=0586 PID=330a см. Заметки о модеме на чипсете Connexant.
И помните, вся ответственность за следованием советам левого товарища из Интернет лежит на Вас.


Сбор сведений о модеме


90% секретной информации находится в открытых исходниках. У меня имелся настроенный доступ в Интернет под Windows XP. Была получена следующая информация:
Модем в Windows XP (System Info) определялся как Alcatel Telecom DinaMiTe modem, c PID = 0xa5a5 и VID =0x06b9. См. скриншот System Information. В системе он представлен в виде сетевой карты с названием ZyXEL OMNI ADSL USB (RFC1483 mode). Т.е. Драйвер модема моделирует сетевую карту:
См. скриншот Менеджера устройств. TCP/IP настроен на использование статического IP адреса. Забыл картинку сделать. Но тут надо подключить воображение. У Вас все получиться.
IP адрес, маска подсети и ip адрес шлюза получены. Адреса DNS серверов записаны. Различные параметры относящиеся к модему записаны в текстовый файл.
Файлы firmware (Fw-usb.bin, init-usb.bin) на всякий случай загружены.
Все сложено на USB flash drive. Все готово к dive into Linux.
Перезагрузка. Lilu. Linux. Bash. root. rm -rf / :-)
Поехали.

Пасхальное яйцо


Пока далеко не уехали, дополнительная информация по модему появилась. В Windows XP, в трее весит иконка монитора состояния модема, тупая такая программка (зеленая иконка), показывающая только мгновенную скорость соединения через модем. Так вот, там есть режим расширенной информации (зарыли таки пасхальное яйцо). Включается просто – при нажатых ctrl-shift щелкаем левой кнопкой мыши по надписи zyxel. Появиться кнопка Advanced – там вся вселенная. Но лучше ничего не трогать, чтобы не сломать.

Исходная конфигурация


Компьютер с usb портами. Да, ничего специального не требуется, просто c usb портами. Вновь установленная система Mandrake 10 Offical Discovery с ядром 2.6.3-7mdk. Именно с этим ядром, мы же не хотим парится.
Установленная locale UTF-8.
KOI-7 мастдай.

Установка требуемых rpm пакетов


Для нашего простого случая в Питере (RFC1483 routed) требуется не так много библиотек и все они идут в поставке Mandrake 10, вот повезло.
Если ставим бинарный rpm (только скомпилированные драйвер и скрипты) то требуются только следующие пакеты:
  1. libusb0.1_4-0.1.7-1mdk.rpm - библиотека доступа к USB устройствам
  2. libpcap0-0.8.1-1mdk.rpm - packet capture библиотека
  3. liblinux-atm1-2.4.1-3mdk.rpm - библиотеки поддержки ATM в Linux
  4. linux-atm-2.4.1-3mdk.prm - поддержка ATM в Linux

Если собираемся компилировать(а это придется рано или поздно) и всякие другие развлечения, то дополнительно ставим пакеты разработчика.
  1. kernel-source-2.6.3-7mdk.rpm или исходные коды ядер серии 2.6.
  2. libusb0.1_4-devel-0.1.7-1mdk.rpm - заголовочные файлы для разработки
  3. liblinux-atm1-devel-2.4.1-3mdk.rpm - файлы разработчика Linux ATM API
Все больше ничего не надо. Даже пакета ppp и связанных с ним. Конечно, если Вы не из Петербурга и используете "хитрые" способы доступа типа PPP over ATM, PPP over Ehternet, требуется установка дополнительных библиотек и много, много ручной работы, там где меня нет, которую по идее должен делать....., остапа понесло, вообще-то никто не должен или должен, или не должен?
Как найти библиотеки? Запускаем менеджер rpmdrake. В поле поиска задаем сокращенные названия: kernel-source или libusb и т.д.
Если не находите, посмотрите, может они уже установлены. Для этого запустите режим удаления пакетов, но не удаляйте, что Вы прямо как маленькие.
А да забыл, делать все вышенабитое надо с бюджетом root'a, не экономьте, дело стоящее.

Установка пакета amedyn_spb (специальная редакция для питерчан).


Пакет amedyn_spb был собран мной для себя.
Получаем rpm пакет драйвера с моей уютной домашней странички:
http://www.dzhi.sp.ru/drivers/amedyn_spb-2004-08-01.k2.6.3-7mdk.i686.rpm
Эх, хорошо иметь домик в деревне. Если проблемы с типом процессора, скажите, перекомпилю, просто не помню пересобирал ли я ядро.
Настраиваем в менеджере источников программ (rpmdrake), путь к месту где деньги лежат (будут лежать все скачанные rpms).
Все готово к установке. Устанавливаем, указав группировать пакеты по источнику и выбрав наше место. Выбираем файл. Ставим.
Редактируем файл /etc/amedyn. Вносим в него свой IP-адрес, маску подсети, IP-адрес шлюза. Никаких пробелов после знака "равно", будьте внимательны, из-за одного символа на полтора миллиарда попала одна европейская ракета.
Редактируем файл /etc/resolv.conf. Вносим в него адреса первичного и вторичного DNS. Вот что есть у меня для питерского провайдера. У вас должно быть что-то похожее, но не факт что такое-же.
#cat /etc/resolv.conf
nameserver 195.131.52.130
nameserver 194.8.160.90
Все. Перезагружаемся. Oops. Не надо, мы в Linuxе. Надо стартовать сервис. Здесь как и у Ильи Муромца два пути: первый запустить сервис, второй запустить скрипт. Почему некто Муромец выбрал запуск скрипта?
Скрипт amstart.sh - стартует загрузку драйвера и поднятие сетевого интерфейса atm0.
Скрипт amstop.sh - с двух раз?
Потому что, в глючных системах, надо контролировать каждый шаг, а скрипт позволяет делать это лучше, сервис оставим на потом, когда все будет работать как часы.
# amstart.sh
Если google не пингуется, то что делать смотрим Замеченные проблемы. Этот раздел полнится глюками.
А если пингуется, что делать и кто виноват? Моч.. Смотрим вопросы.

Информация о существующем драйвере Amedyn версии от 29.10.2003

Данный драйвер был переделан автором(не мной, мозгов не хватит, пока) из драйвера для модема Alcatel Speedtouch, который построен на чипсете Alcatel Telecom DinaMiTe, на котором построен мой(да, находящийся в собственности под оперативным управлением по доверенности) Zyxel.
С некоторых пор драйвер для speedtouch включен в поставку ядра linux. Надо бы сделать патч для Zyxel, но этих Zyxel-ов так много разновидностей, что нужен репозитарий, с кучей товарищей, которые будут беречь каждую народную копейку. Вот бы еще исходник firmware бы где взять. Можно было бы опутать dslем всю эту ужасно-огромную бывшую верхнюю вольту, хотя правда за оптоволокном в каждый дом.

История об установке драйвера amedyn и его конфигурировании

Скачиваем драйвер с сайта автора драйвера (см. ссылки). Благодарим судьбу, что есть люди, которые делают правильные и нужные вещи.
Распаковка архива в каталог /usr/src, следование процедуре компиляции-установки, настройка параметров и отсутствие результата.
Начинаем разбираться глубже. Читаем форум, волосы дыбом.
Итак, метод плаг и прай не работает, надо что еще. Впадаем в депрессию, ну как так можно делать продукты без акцизной марки, это же просто вредительство.
Заходим рутом и выполняем команду:
#mount /dev/brain /mnt/head -t system_analysis
#cd /mnt/head
#sysanald -b
Проверяем все ли работает нормально:
#ps -ax | grep sysanald
Видим запущенный процесс. Здесь надо отметить, что не всегда процесс запуска столь успешен,как в нашем случае. В таких ситуациях, помогает только помощь эксперта, см. в конце статьи рекламу.
Ставим задачу: Поиск неисправности в многокомпонентной системе.
Исходная посылка: Firmware и процесс загрузки работают правильно, драйвер тоже, опыт предыдущей системы.
Проверяем исходную посылку. Замечаем, при компиляции драйвера, выдается странное предупреждение. Ок, драйвер на заметку.
Выполняем скрипты по отдельности.
#amload.sh
Выполнен успешно. Firmware загружено. С точки зрения опыта заложенного в программу amload, все ok. Делаем вывод о работоспособности firmware и процесса загрузки.
#modprobe amedyn
Ничего не сообщил. Смотрим список загруженных модулей:
#lsmod
Вроде amedyn загружен.
Помня, что драйверы немногословны, делаем следующее:
Запускаем дополнительное окно консоли и в ней выполняем команду:
#tail -f /var/log/messages
Теперь мы видим последние сообщения на стандартном логгере.
Смотрим там строчки содержащие строку xdslusb. И видим, что есть какая-то проблема, вывалились внутренности, не транспортабелен, в морг значит в морг.
Ок, проблемы с ваучером. Ставим драйвер на заметку.
#amnetup.sh
Отвалился, в моем частном случае, с сообщением "No route to host". Ставим на заметку.
Что-то не работает. На заметке у нас драйвер и amnetup.sh. Странно, драйвер раньше работал, правда с другим ядром. Проблема скорее всего во взаимодействии драйвера и нового ядра. Как ее фиксить, на данном этапе не представляю.
Смотрим где остановился amnetup.sh. Для этого смотрим исходник скрипта. Ок, падает на команде atmarp -s $GATEWAY 0.$VPI.$VCI. Что за команда, что делает, не представляю.
Итак, драйвер или amnetup.sh. Вначале грузится драйвер. Начнем с драйвера.
Идем на форум, читаем труды. Просто сказано - идем, на самом деле, это гиммор, для тех перцев которые не продублировали свои системы и не любят работать с соломкой.
Чтение "шескпира" в оригинале дает массу информации, об исключениях при монтировании /dev/brain.
Делаем просто, отсекаем инфу связанную с неверно сконфигурированными ядрами, не поставленными библиотеками, отключенным usb, мозгом, ногами и руками и пр. Надежда только на генетически модифицированные продукты и на ее величество генетический алгоритм.
Выясняется, что драйвер у кого-то работает, у кого-то нет, на одних яйцах идет, на других - нет. Да-а блин, имеется пипл в наше время.
Информация которая заинтересовывает - драйвер является переделанным из драйвера для модема Alcatel Speedtouch и переделка заключается в укачивании, копировании модуля speedtch.c, изменении идентификаторов модема, а также еще то, что драйвер Speedtouch есть в ядре.
Качаем, отправляем с дублирующего процессора, по беспроводной связи, с помощью openOBEX протокола скачанный файл, распаковка, выполнение шаманской инструкции, компиляция, проблемы и no results.
Странно, проверяю:
#mount
/dev/brain смонтирован.
Ага, вот sysanald process suspended. Что такое, suspended. Читаем LONGMAN Guide to English Usage. Точного соответствия не найдено, но есть похожее, ну знаете как у нас в русском, слово - suspence. Смысл: suspence is mental uncertainty: a novel of suspence. Да вместо одно непонятного слова, еще несколько. Знаете, как у Хаббарда, если слово непонятно, надо его понять.
После некоторого времени попыток, вспоминаю, пора бы уже записывать, что в ядре идет драйвер, смекаю, если компилируется ядро, то компилируется и драйвер. Захожу в каталог (или папку) /usr/src/linux-2.6.3-7mdk/drivers/usb/misc/. Вижу файл speedtch.c. Цепляюсь зубами и не отпускаю, пока не зайду в папку /usr/src/amedyn/module/. Да, с терминологией проблемы, надо бы внести в повестку следующей думы. Отпускаю, уже не дышит. Переименовываю в xdslusb.c, предварительно перетащив в корзину старый, до чего же линукс дошел, до мусорного ведра на столе. Правлю идентификаторы VENDORID и PRODUCTID, указываю своего модема.
Делаю make. Падает. На каком- то модуле br..., еще там что-то.
Ну что делать, давно хотел изучить устройство Makefile.
Смотрю, все четко разбито на разделы, более менее понятно. Делаю еще раз make.
Смотрю вывод результата. Определяю что мой модуль компилируются, а падает этот br.
Выясняю что за киса. Нужен только для протокола моста (RFC 1483/2684 bridged). Забавно, вне контекста, фраза протокол моста не понимается. Нам не надо шоко, выкидываем, правя Makefile. Не с первого раза, но скомпилировались. И вроде никаких предупреждений. Ну еще раз для надежности делаем очистку: make clean, дистилляцию make uninstall. Снова make. Свят,свят.
Запускаем:
#amstart.sh
Что-то ругается про crc32, но пишет что запускается драйвер в нормальном режиме. А потом падает, да все в том же месте amnetup.sh.
Жалкая попытка пинга www.google.com, в надежде что все само рассосется. Не рассосется, халявы не будет, я понял еще не так давно. Как сказал Эдисон, если бы люди предпринимали при каждой проблеме, в три раза больше усилий, то все проблемы были бы разрешены. Ну, это вольный пересказ слов того дядьки, кто лампочку зафигачил на 1001 шаге. Степ бай степ анд you ин.
Что за crc32? Форум, поиск. Результат - вроде не нужен драйверу в ядрах 2.6.
Комментируем.
Правда все равно падает в amnetup.sh
Опять консоль с хвостом логгера. Изучаю, как работает плаг анд плай. Отключаю модем и подключаю, смотрю лог. Вроде проблем не замечено. Видны сообщения "Usb disconnect..", "usbcore: registered new driver xdslusb". Вроде система видит драйвер и нет больших ошибок, правда маленькие есть всегда.
lsmod докладывает о наличии модуля ядра amedyn, это наш добрый драйвер.
Теперь анализирую стартовый скрипт amload.sh. Вижу, что пытается снести usb подсистему, потом драйвер, до основания, а затем, на новом чистом месте запустить загрузку firmware.
Ну что, понятно. Вначале загрузка firmware, потом драйвер, потом запуск amnetup.sh в нашем случае, с другими протоколами-случаями разбирайтесь сами, мы же в свободной стране. Америка, Америка. Не забудьте встать и приложить руку.
Перехожу к amnetup.sh.
Запускаю. Загружаются всякие товарищи из подземелья. И первая проблемное сообщение приходит от atmarpd.
Опять чего-то не хватает, а именно "no signaling daemon". Это что, типа регулировщика на перекрестке?
Достает разбираться, откладываю. Перевожу проблему в фоновый режим подсознания. Утро вечером и т.п.
На свежую голову запускаю процесс сверки подобия параметров из Windows и linux. Четко проверяю цифры. IP-IP, Маска-Маска, Шлюз - отличие. В винде стоит, какой-то не понятный шлюз, в поддержке сказали, что шлюз должен быть мой IP адрес с последним октетом установленным в единицу. Ну ладно. Верю на слово. Проверяю. Правлю /etc/amedyn.
Стартую amstart.sh. Оп. пишет amnetup.sh succeseful. Ого-го.
Дрожащими руками набираю ping www.rambler.ru. Ничего. Знаете, есть такой смайлик, так вот, фэйс выглядел не лучше.
Анализ лога. Опять регулировщик отсутствует, спит на посту что-ли. "no signaling dieman"
Да, нынешнего уровня понимания устройства Linux, явно не достаточно. Да, но это был второй учебный заход. А надо 3 как минимум. Это еще нас учил великий товарищ Чейто. Под альтернативной коммерческой ОС, гиммора не меньше, попробуйте настроить спаривание двух зубастых голубозадых с собственными драйвами. Трах с лицензией обеспечен, как и удовлетворение от хорошо сделанной работы. Они бы еще парсер отечественного законодательства на уровне чипов реализовали, ироды.
Продолжаю, нахожу 2 причины: Неверный шлюз (как оно работало в Win, не знаю, но понимаю, что много лишнего мне продали в довесок) и видимо неверные настройки параметров качества сервиса (qos). Есть отличия в цифрах sdu и т.п.
Делаю чтение документации cat mans > /dev/brain, несколько иным способом: man:/atmarp в konqueror. Eror - это от слова error? Помянем калькулятор с ЕГОГ. Да чтобы работало, нужно установить man страницы.
Далее, анализ информации из настройки windows, на предмет этого qos. Все на уровне совпадения неизвестных слов, ubr, aal5. Любимыйmax_sdu который отличается от своего одноименца из win.
Составляем набор параметров в строку и правим amnetup.sh в части параметров atmarp. Вот строка из-за которой были глюки:$ATM_PATH/atmarp -s $GATEWAY 0.$VPI.$VCI qos ubr,aal5:sdu=1530
Запуск. Пинг. Заработало. Милый, добрый Интернет пингуется, как много в этом слове.
# ifconfig
atm0 Link encap:UNSPEC HWaddr 00-00-20-F4-FF-BF-1E-00-00-00-00-00-00-00-00-00
inet addr:195.xxx.xxx.xxx Mask:255.255.255.0
UP RUNNING MTU:9180 Metric:1
RX packets:1547 errors:0 dropped:0 overruns:0 frame:0
TX packets:1686 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:184084 (9.7 Kb) TX bytes:540059 (7.4 Kb)
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.xxx.xxx.0 * 255.255.255.0 U 0 0 0 atm0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default xxx.xxx.xxxx.xx 0.0.0.0 UG 0 0 0 atm0
#
Все на месте.
Смотрим, что имеется в подсистеме ATM:
# cd /proc/net/atm/
# ls
arp devices pvc svc vc xdslusb:0
# cat arp
IPitf TypeEncp Idle IP address ATM address
atm0 PVC LLC 11 xxx.xxx.xxx.1 0.1.32
# cat devices
Itf Type ESI/"MAC"addr AAL(TX,err,RX,err,drop) ... [refcnt]
0 xdslusb 00a0c55bfb80 0 ( 0 0 0 0 0 ) 5 ( 204 0 236 0 0 ) [2]
# cat pvc
Itf VPI VCI AAL RX(PCR,Class) TX(PCR,Class)
0 1 32 5 0 UBR 0 UBR CLIP, Itf:atm0, Encap:LLC/SNAP
# cat svc
Itf VPI VCI State Remote
999 0 0 CONNECTED
# cat vc
Address Itf VPI VCI Fam Flags Reply Send buffer Recv buffer [refcnt]
cbcXXX00 0 1 32 PVC 2047 0 0/ 110592 0/ 110592 [2]
cbXXXaX0 999 0 0 SVC 0102 0 0/ 110592 0/ 110592 [2]
# cat xdslusb:0
DynaMiTe USB Modem (usb-0000:00:07.3-2)
MAC: 00:a0:c5:xx:xx:80
AAL5: tx 213 ( 0 err ), rx 245 ( 0 err, 0 drop )
Line up, firmware loaded
#
Чтобы понять, что значат все эти термины, надо почитать документацию по АТМ. Все не так страшно.
YANI. Даже в Интернет можно не ходить. Howto идут в поставке. Все в одном. И это правильная концепция, для нас безлошадных на информационной супер магистрали.
Проверяем последовательность запуска, убираем не нужное, сводим все к простой процедуре.
Все Инет работает.
Теперь надо сделать что-то, что-бы потом не парится с этой проблемой еще раз, хотя придется, но уже меньше.
Цель: изготовить rpm пакет, для себя и для друзей.
Как изготовить rpm рассказывать? Ну это было достаточно быстро. Нашел инструкцию, почитал, сделал. Эта операция скоро вкомпилируется в мозги.
Результат готовый rpm-файл (см. ссылки). Данные rpm файл рассчитан на использование с ядром 2.6.3-7mdk идущем в поставке Mandrake 10 Offical Discovery. Данное ядро уже настроено на поддержку ATM и всех прочих вещей нужных для этого модема. Так что plug and play. Теперь ловим бочку дегтя. Не совсем плаг анд плай, смотрим Замеченные проблемы.

Информация об архитектуре драйвера amedyn


Данный драйвер моделирует сетевую ATM карту в подсистеме ATM ядра Linux. Т.е. для вышележащих приложений появляется (raw) ATM устройство. Ну а usb, так можно pci, isa или еще что-нибудь.

Настраиваем plug and play

Желание достичь качественного результата ведет меня дальше.
Начинаю разбираться с настройкой горячего подключения.
Ставим цель, что мне хочется достичь: Мозговой штурм приводит к четырем способам работы с модемом. Далее сценарии по возрастанию сложности конфигурирования.
Сценарий 1. Компьютер выключен, модем подключен, телефонная линия подключена. Включение компьютера. Загрузка драйвера и автоматическое конфигурирование сетевого интерфейса. Работа в Интернет. Выключение компьютера.
Это простой сценарий, включающий в себя последовательную настройку драйвера и сети. Не включает в себя режим горячего подключения и конфигурирования. Не позволяет на ходу менять сетевые подключения.
Он реализуется существующим драйвером и скриптами.
Для запуска сервиса при загрузке:
В Mandrake 10 надо запустить Центр управления Mandrake 10 зайти в раздел Система->Сервисы
Отметить сервис amedyn_spb стартовать при загрузке. Все. Интернет должен быть доступен.

Сценарий 2. Компьютер выключен, модем не подсоединен, телефонная линия подключена. Включение компьютера. Загрузка системы. Подключение модема. Автоматическая загрузка и инициализация драйвера. Автоматическая настройка сетевого интерфейса. Работа в Интернет.
Отключение модема. Автоматическая остановка сетевого интерфейса. Автоматическая выгрузка драйвера. Продолжение работы в системе. Выключение компьютера.
Требуется настроить подсистему usb-agent. Займусь, потом напишу.
Сценарий 3. Отличается от Сценария 1 и 2, тем что подключение и отключение телефонной линии, должно сопровождаться корректным автоматическим конфигурированием сетевого интерфейса и уведомлением пользователя (и журнала syslog) о наличии/отсутствии физического подключения.
Пока не работает, видимо решается на уровне драйвера. На сайте появилась новая утилита amcontrol, надо посмотреть, люди работают.
Сценарий 4. Отличается от Сценария 2, тем что автоматически корректно подключаются, конфигурируются и отключаются все службы и сервисы завязанные на сетевой интерфейс модема, например расшаренное(shared) интернет-соединение, подключенные клиенты и пр. Т.е. происходит уведомление всех клиентов об отключении интерфейса.
Употребляемый термин "корректно" подразумевает, что приложение, служба, сервис, обрабатывает все нестандартные ситуации, а не зависает. К примеру, в сценарии 3 при отключении телефонной линии драйвер модема зависает, уведомления к клиентам не приходят, ситуация обрабатывается некорректно.
Поле не паханное. Есть где развернуться.

Замеченные проблемы


  1. Проблема с перезапуском службы amedyn_spb. Выдается сообщение: connection time out, Причина ниже, в проблеме 2.
  2. Инициализация (загрузка firmware) возможно только 1 раз при подключении. Повторная инициализация командой amload приводит к ошибке. Лечится отключением модема на 30 секунд. Также см. Проблема 3.
  3. Команда ifconfig не распознает тип atm, в результате многие программы настройки сети не умеют работать с данным типом сетевого интерфейса, в том числе конфигуратор сети Mandrake 10.
  4. Работоспособность только при одном подключенном ADSL модеме. В драйвере есть код, который берет первый попавшийся под руку модем и загружает в него firmware. 
  5. При долгом отсоединении сетевого интерфейса (по команде amnetdown.sh) в течении ночи, последующее поднятие интерфейса (amnetup.sh) завершается на вызове amioctl с результатом -1. Решается только отсоединением модема секунд на 30 и повторным подсоединением и выполнением команды amstart.sh.
  6. Не пингуется IP-адрес шлюза. Это особенность данной серии модемов. В Win аналогично. Сказали в поддержке, звонил ночью, люди работают.
  7. Дистрибутивы не имеют понятия о пользователях, которые не любят копаться в ядре. 
  8. 8.Имеются предупреждения при компиляции драйвера amedyn_spb под ядро 2.6.3-7mdk. У меня на работоспособность они не влияют. При компиляции под ядро 2.6.7 надо проделать процедуру замены файла драйвера, либо попросить меня, выложу.
  9. Сообщение “broken pine” можно игнорировать когда все работает. Если же не работает загрузка, то надо разбираться, на форуме что-то было про это, вроде есть патчи. 
  10. Часовой на посту спит, даже когда все работает. Сообщение “no signaling daemon” пишется в лог, но у меня не влияет на работоспособность. Видимо не до конца корректно реализован интерфейс АТМ.
  11. Сообщение 'I didnt find modem' появляется когда модем имеет не тот чипсет, либо когда PID VID не соответствуют.
Много проблем. Но они постепенно решаются. Через год все будет хорошо. Харашо. Все будет харашо я это знааю.

Заметки о модеме на чипсете Connexant


Эта инструкция была написана для модема на чипсете Alcatel. Однако у многих людей модемы Zyxel ADSL USB EE идут на чипсете Connexant.
Сразу заверю. В Питере эти модемы работают, по крайней мере 2 человека смогли настроить доступ в Интернет через модем на чипсете Connexant под ядра 2.6.8.
Идентификация модема Zyxel ADSL USB EE (Annex. A) на чипсете Connexant:
#lsusb
Bus 002 Device 016: ID 0586:330a
где VENDORID=0586 PRODUCTID=330a
Для поиска инструкции следует в Google набрать строку: “[CLUG] Zyxel Prestige 630-C1 setup problems”. Это по идее выведет на инструкцию написанную одним товарищем. Прямая ссылка дана в разделе Ссылки. Прямые ссылки иногда вешаются, так что не с кого спросить. Имеется также закэшированная инструкция + патчи, на моем сайте, на всякий случай, вдруг мобилизуют и отключат от импортного интернета, а так хоть память будет.
Пути здесь два. Можно патчить ядро, потом его перекомпилировать. А можно выдрать из ядра файл speedtouch.c положить в папку драйвера AccessRunner в нужное место и там патчить и собирать по инструкции. Последнее более предпочтительно, т.к. не затрагивает ядра.
И тот и этот путь приводит, по отзывам, к результату.
Кроме того, я взял драйвер Accessrunner выкинул все файлы не нужные в городе Питере, оставил только чистый патченный драйвер + загрузочные скрипты + firmware (файл cxacru.tar.gz). Не проверял на работоспособность, но в качестве пособия для изготовления собственного драйвера сойдет.
И помните никаких гарантий нет.

Заметки по утилите amcontrol

Это интерактивная утилита для контроля синхронизации. Позволяет подключать и отключать телефонную линию во время работы. Также полезна для поднятия линии при ее падении (когда пинги не проходят).
Для компиляции ее надо положить в папке драйвера в папку init и там же заменить Makefile на Makefile идущий с этой утилитой. После собрать драйвер командой make в папке драйвера. Где брать - см Ссылки.
Вот что она выводит:
#amcontrol
Zyxel 630-11 & Asus AAM6000UG line control program. 30/7/2004
Aurelio Arroyo sktt@users.sourceforge.net
Key a: Auto ON/OFF Key d: Send Down Line signal
Key s: Send Sync signal Key q: Exit program
Status:: '#' MODEM_DOWN '_' MODEM_WAIT '-' MODEM_INIT '@' MODEM_UP
I found ADSL modem with VendorID = 06b9 & ProductID = a5a5
@@@@@@@@@@@@@@@@@@@
[Auto ON]
Можно потренироваться с отключением телефонной линии и подключением и смотреть на изменение состояния. Все.
Прекращать можно и ctrl-c.
Если ее запустить при загрузке, она будет автоматически поднимать линию в случаю падения, что в конце концов, позволит держать постоянное соединение.
В основной пакет я ее еще не перенес. Так что ручками.

Заметки о драйвере для Mac OS X

ftp://ftp.zyxel.com/p630-11/driver/p630-11_MXA.1.1.C0_Mac__Standard.hqx
Если прямая ссылка не работает то надо смотреть по ftp://ftp.zyxel.com/p630-11/

Заключение в виде краткого списка ToDo

Короче, надо бы драйвер переделать и включить в ядро. Желающие? Правда ядро опухнет скоро.
Еще надо бы сделать локализацию сообщений. Разберусь как-нибудь.
Изготовить исходник в формате rpm, удовлетворяющий стандарту пакетов с исходниками.
Самая серьезная проблема, падение линии.

Заметки для владельцев других дистрибутивов

А смысл в том, что надо искать все необходимые библиотеки для своего дистрибутива, настраивать ядро на поддержку ATM, а потом компилировать драйвер из исходников. Много работы.

Ссылки


ПО использованное при создании данной статьи


  • Mandrake 10 – дистрибутив.
  • Amedyn – open source драйвер модема Zyxel 630-11.
  • KWrite - предварительная подготовка текста.
  • OpenOffice - изготовление html страницы. Да, меня поверг в ужас редактор Quanta plus. Разбираться на уровне тегов, ну увольте простого юзера, я не смог. Хотя для меня как для программера, это классный продукт для работы с xml и xhtml, когда знаешь, что хочешь.
  • Rpmdrake – прелестная утилита настройки Mandrake 10.
  • Konqueror – интегрированный браузер, с поддержкой ftp, для закачки на домашнюю страницу, просмотра созданной страницы.
  • Mozilla Firefox, Opera, Internet Explorer под лицензионной Win4Lin с лицензионной Windows 98– просмотр и визуальная оценка страницы, чтобы исключить основные проблемы просмотра для большинства пользователей, ну UTF-8 то у всех есть даже в Африке.
    Правда без стилевых листов грустно.
И много других безымянных, но не менее полезных программуль.

Вопросы, ответы на которые известны

  1. Пингуется google, что делать? Позвонить в компанию по телефону в USA: 650-623-4000
  2. Почему нет смайликов? Есть, но один большой.
  3. Почему так много плохих слов, сленга и прочего потока сознания?
Уволился с работы, занимаюсь прочисткой сознания, телик не смотрю уже давно, вот и поперло, пока все не выйдет, извиняйте, не я промывал мозги, а мне.

Вопросы, которые пока еще не выяснены, из разряда вечных

  1. Допускается ли горячее конфигурирование в ATM?
  2. Почему, по телевизору, как не включу, постоянно показывают Властелина Колец, к чему бы это?
  3. Are you mexican, or mexican't?
  4. Почему, каждый раз в компьютерном магазине, мне хочется купить зелененькую домашнюю хрюшу? Может хочется домашнего уюта?
  5. Как заполнить форму 3ндфл, написал этим ребятам, а ответа уже нет 3 месяца, плохо бумажная почта работает? mount /dev/girl, какой тип системы и куда монтировать?
  6. Почему, каждая страница, считает своим долгом потребовать регистрацию?
  7. Почему еще не все программы для Linux, переведены на русский? Что никому не надо? Что, с бизнес-моделью трудно?
Важная информация
Господа, если Вы не хотите возиться с настройкой оборудования в Linux, то я рекомендую приобрести Mac OS X или Windows Vista.
Be happy.

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

  • 25.03.2012 Перенос на сайт gimmor.blogspot.com
  • 15.12.2006 Изменен дизайн сайта
  • 22.09.2004 Добавлены заметка о утилите amcontrol и описание пасхального яйца в драйвере модема Windows XP
  • 11.09.2004 Добавлены заметки о модеме на чипсете Connexant
  • 01.08.2004 Первая редакция – первый подход к снаряду