The OpenNET Project / Index page

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

Настройка ADSL модема ZyXEL OMNI ADSL EE с USB интерфейсом под Linux (xdsl modem linux usb)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: xdsl, modem, linux, usb,  (найти похожие документы)
From: Алексей Михайлов <MinimumLaw@Rambler.Ru.> Date: Mon, 18 Nov 2004 14:31:37 +0000 (UTC) Subject: Настройка ADSL модема ZyXEL OMNI ADSL EE с USB интерфейсом под Linux Оригинал: http://user.rol.ru/~minlaw/omni-adsl-usb-ee-howto.html Авторские права --------------- Держателем авторского права на этот документ является его автор, Михайлов Алексей Анатольевич, он же MinimumLaw. Данный документ можно передавать на электронных носителях и по сетям связи в любых форматах. Использование данного документа в печатных изданиях разрешена только по согласованию с автором или любым из соавторов. Разрешено внесение исправлений в электронные версии данного документа, при выполнении следующих условий: Данная секция обязательно должна присутствовать в итоговом документе. При внесении незначительных исправлений, не имеющих отношения к тематике данного произведения необходимо обеспечить доступ к исходному материалу о чем в явной форме указать в тексте откорректированного документа, или согласовать корректировку с автором. О всех изменениях, касающихся непосредственно тематики произведения необходимо уведомить держателя авторских прав, и, если они окажутся существенными, для внесения их в последующие версии данного документа. Если исправление признается существенным, и будет внесено в последующую версию документа, то автор исправления получает статус соавтора. Текущая версия документа: 1.0, соавторов нет. Введение Давно я подумывал о том чтобы дома отказаться от диалапа и сделать себе любимому нормальный интернет канал. И вот, в один ужасный (или прекрасный) день я дозрел до похода в ближайший КЕЙ и обнаружил, что цена на ADSL стала вполне приемлемой, но модемы (к сожалению) только с интерфейсом USB, и к тому же в комплекте поставки нет драйвера под мою любимую ОС, а конкретно LINUX. Звонок в отдел продаж WebPlus (а именно через него я собирался подключаться) закончился многозначительными намеками, типа умельцы есть, но под Linux мы ничего не обещаем. Жаль конечно, но где наша не пропадала. Договорившись с продавцами (слава богу есть еще хорошие люди в компьютерных магазинах) я взял модем на условиях money back домой на испытание. Преамбула Дома меня ждал ASPLinux версии 9.2. Надо сказать, что я им уже позанимался, а следовательно там были версии ядер 2.4.26 и 2.6.6 (их, или более поздние, можно и нужно взять на http://www.kernel.org). Собственно дальше начались раскопки internet завалов. Довольно быстро обнаружились следующие, интересные проекты: AMEDYN (http://sourceforge.net/projects/zyxel630-11) ACCESSRUNNER (http://sourceforge.net/projects/accessrunner) ECIADSL (http://sourceforge.net/projects/eciadsl) Уже хорошо, хотя тот факт, что возможных вариантов больше чем один весьма насторожил. Однако, посмотрев внимательно на первые два, я обнаружил их безусловную схожесть. Похоже, как это часто бывает, проект AMEDYN тихо и незаметно умер, а на его месте, как трава на могилке появился ACCESSRUNNER. Однако, приглянулся мне все таки ECIADSL. В самом деле, не надо ничего грузить в ядро (а значит самая уязвимая часть системы имеет меньше шансов сломаться). Он даже собрался. И даже после внимательного изучения inf файла от драйвера для MS Windows прогрузил фирмваре и попытался установить соединение, но уж очень насторожил тот факт, что он не моргает лампочкой на модеме, как это делает его собрат из самой распространенной операционной системы. Одним словом, на крайний случай сгодится, хотя и доверия не внушает. Так что пришлось сесть за ACCESSRUNNER. ACCESSRUNNER Предварительные требования Для начала работы в любом случае необходимы исходные тексты ядра. Они могут быть установлены из дистрибутива (что хуже) или скачаны с http://www.kernel.org. В последнем случае (так как всё равно необходима перекомпиляция ядра системы) рекомендую включить поддержку шины USB как модуль. В противном случае понадобиться вносить изменения в загрузочные скрипты драйвера. Данная статья написана с использованием ASPLinux 9.2 в качестве базового дистрибутива, но без всяких изменений может быть использована и с версиями ASPLinux вниз вплоть до 7.0. Для других дистрибутивов она вполне применима, с возможными поправками на символические ссылки в /usr/include. Я не тестировал данное руководство применительно к ядру серии 2.2, но судя по всему и здесь проблем быть не должно. Если вы установили ядро из дистрибутива, то необходимым условием будет так же установка базовых пакетов разработчика (make, gcc, autotool и т.д.). Установка драйвера Пользуясь случаем хочу... Нет всего лишь передать привет разработчикам дистрибутива ASPLinux. Если бы не их настойчивое желание сделать Linux похожим на часы партизанские с семью стрелками, я бы управился быстрее. Итак, приступим. Для начала скачаем сам драйвер, допустим в каталог /opt, и там его распакуем. cd /opt wget -c http://easynews.dl.sourceforge.net/sourceforge/accessrunner/cxacru.tar.bz2 bzcat cxacru.tar.bz2 | tar -xf- Далее по накатанной дорожке. cd /opt/cxacru make А здесь начались сюрпризы. Драйвера то оказывается мало. Нужен еще и пакет linux-atm. Ну ладно. cd /opt wget -c http://easynews.dl.sourceforge.net/sourceforge/linux-atm/linux-atm-2.4.1.tar.gz tar -xzf linux-atm-2.4.1.tar.gz cd linux-atm-2.4.1 ./configure make И опять сюрприз. И вот тут самое время вспомнить о переданном ранее привете. Давайте исправим недочет в устройстве ASPLinux. cd /usr/src rm -f linux-2.4 linux-2.6 linux # удаляем старые ссылки ln -s linux-2.6.6 linux-2.6 # если у нас есть ядро 2.6 ln -s linux-2.4.26 linux-2.4 # если у нас есть ядро 2.4 ln -s linux linux-2.6 # или ln -s linux linux-2.4, если работаем с ядром 2.4 cd /usr/include mv asm asm_distrib # на всякий случай оставим оригинальные версии mv linux linux_distrib # хотя их назначение для меня загадка ln -s ./../src/linux/include/asm-i386 asm ln -s ./../src/linux/include/linux linux Этими действиями мы установили символические ссылки на включаемые файлы текущего ядра для сборки программ из исходных текстов. Теперь, если программа использует заголовочные файлы ядра, она берет их именно из текущей версии ядра (подразумевается, что исходные тексты последнего ядра распакованы в каталог /usr/src). Вот теперь самое время, наконец-то собрать linux-atm. cd /opt/linux-atm-2.4.1 ./configure --prefix=/usr make make install ldconfig Ну и на последок, привожу распечатку моего патча к данной версии драйвера. Надеюсь, в скором будущем его включат в непосредственно в проект ACCESSRUNNER. И еще, так как у меня ядро серии 2.6, я должен запускать make new. Ради интереса, я собрал модуль для ядра серии 2.4 таким же образом и он заработал. Так что рекомендую поступать именно так. cd /opt/cxacru cat - > cxacru-MinimumLaw.patch diff -u -r cxacru-Patched/init/cxioctl.c cxacru/init/cxioctl.c --- cxacru-Patched/init/cxioctl.c 2004-05-18 01:47:26.000000000 +0400 +++ cxacru/init/cxioctl.c 2003-09-07 01:06:12.000000000 +0400 @@ -256,10 +256,6 @@ else if (vid == 0x08e3 && pid == 0x0100) return 2; - /* Vendor = ZyXEL, Product = OMNI ADSL USB EE (Annex A) */ - else if (vid == 0x0586 && pid == 0x330a) - return 3; - /* Vendor = Olitec, Product = ADSL modem version 3 */ else if (vid == 0x08e3 && pid == 0x0102) return 3; diff -u -r cxacru-Patched/init/cxload.c cxacru/init/cxload.c --- cxacru-Patched/init/cxload.c 2004-05-18 01:46:13.000000000 +0400 +++ cxacru/init/cxload.c 2003-09-07 01:07:02.000000000 +0400 @@ -1097,10 +1097,6 @@ else if (vid == 0x08e3 && pid == 0x0100) return 2; - /* Vendor = ZyXEL, Product = OMNI ADSL USB EE (Annex A) */ - else if (vid == 0x0586 && pid == 0x330a) - return 3; - /* Vendor = Olitec, Product = ADSL modem version 3 */ else if (vid == 0x08e3 && pid == 0x0102) return 3; diff -u -r cxacru-Patched/module2/xdslusb.c cxacru/module2/xdslusb.c --- cxacru-Patched/module2/xdslusb.c 2004-05-18 01:44:13.000000000 +0400 +++ cxacru/module2/xdslusb.c 2003-09-17 13:50:43.000000000 +0400 @@ -134,10 +134,6 @@ #define AME_VENDORID 0x06b9 /* Vendor = Alcatel Microelectronics */ #define AME_PRODUCTID 0xa5a5 /* Product = DynaMiTe USB Modem */ -/* ZyXELL */ -#define OMNI_VENDORID 0x0586 /* Vendor = Zyxel */ -#define OMNI_PRODUCTID 0x330a /* Product = OMNI ADSL USB EE (ANNEX A)*/ - /* Conexant AccessRunner USB reference design */ #define CXACRU_VENDORID1 0x0572 /* Vendor = Conexant */ #define CXACRU_PRODUCTID1 0xcafe /* Product = ADSL modem (Euphrates project) */ @@ -239,7 +235,6 @@ #define hex2int(c) ( (c >= "0") && (c <= "9") ? (c - "0") : ((c & 0xf) + 9) ) static struct usb_device_id udsl_usb_ids [] = { - { USB_DEVICE (OMNI_VENDORID, OMNI_PRODUCTID) }, { USB_DEVICE (SPEEDTOUCH_VENDORID, SPEEDTOUCH_PRODUCTID) }, { USB_DEVICE (AME_VENDORID, AME_PRODUCTID) }, { USB_DEVICE (CXACRU_VENDORID1, CXACRU_PRODUCTID1) }, Нажатие CTRL-D patch -p1 -R < cxacru-MinimumLaw.patch make new Авторы этого проекта, видимо люди неординарные. Они посчитали запуск make install излишней роскошью, ну да и ладно. Постамбула На последок, стоит заметить, что модем можно стартовать как сервис. В каталоге /opt/cxacru/scripts/service обнаружится готовый к употреблению скрипт. Допустим так: cp /opt/cxacru/scripts/service/cxacru /etc/rc.d/init.d/cxacru /sbin/chkconfig -add cxacru /sbin/chkconfig --level 01246 cxacru off /sbin/chkconfig --level 35 cxacru on Ну и, конечно, нужно записать в файл /etc/cxacru данные из WebPlus.ins на диске с драйверами для Windows. Список литературы ADSL-MINIHOWTO KERNEL-HOWTO Networking-Ovwrview-HOWTO NET-3-HOWTO Home-Network-mini-HOWTO Постскриптум Иногда, по невыясненным пока причинам, при загрузке модем не обнаруживается и сервис выходит с кодом ошибки. Лечить такое поведение следует отключением от модема шнура USB (с последующим включением его назад) и перезапуском сервиса: /etc/rc.d/init.d/cxacru restart файлы, содержащиеся в этой статье можно скачать прямо отсюда cxacru.tar.bz2 (http://user.rol.ru/~minlaw/soft/cxacru.tar.bz2) linux-atm-2.4.1.tar.gz (http://user.rol.ru/~minlaw/soft/linux-atm-2.4.1.tar.gz) cxacru-MinimumLaw.patch (http://user.rol.ru/~minlaw/soft/cxacru-MinimumLaw.patch) А если у Вас нет желания обновлять ядро до последней версии (что я бы всё-таки рекомендовал сделать), то в этом нет ничего страшного. Просто создайте необходимые символические ссылки в каталоге /usr/include и /usr/src (ну и конечно, установите пакет KERNEL-SOURCE). Этих действий вполне достаточно чтобы оживить данный модем. Ну, и конечно, оригинал этой статьи (и возможно исправления к ней, с работающими ссылками на файлы) можно найти в интернете по адресу http://user.rol.ru/~minlaw/omni-adsl-usb-ee-howto.html. Можно написать мне по адресу [email protected].

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

Обсуждение [ RSS ]
  • 1.1, Аноним (1), 18:47, 28/12/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для ядра 2.6.10 пробовал кто это проделать?
    у меня модуль xdslusb вызывает ошибку ;(
    ранее использовал патч к ядру все работало, но в 2.6.10 там поменяли/перенесли файл speedtouch.c
    перерь патч не накладывается.

    2Алексей Михайлов: на 2.6.10 пробовал?

     
  • 1.2, шапирус (?), 12:44, 01/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я для 2.6.10 использую пропатченный вариант speedtch.c от более старых ядер -- работает :).
     
  • 1.3, gena2x (?), 19:40, 10/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я просто не понимаю, как приведенный автором патч может работать.

    Во первых непонятно, почему он реверсивный? - Такое чувство, что он писался вручную.

    Во вторых, он приципиально не может работать, ибо в файле xdslusb.c (где собственно и содержится код работы с утройством), тип VENDOR и PRODUCT ID указан, но нигде не используется. А там он необходим, где-то в районе функции probe (возвращает тип модема), ибо в эта функция необходимо узнать тип содема. Требуемых тип модема - connexant reference design (2).

    К сожалению, патч привести не могу.

    Несколько заметок в помощь тем, кто после меня мучаться будет - При компиляции cxacru в основном makeфайле для 2.6 ядра удалите все ссылки на bridged (если он у вас не компилится естественно). В Debian (testing 3.1-Sarge точно) есть все необходиные библиотеки, кроме самого cxacru (т.е. качать нужно только его).

    Два дня мучался вопросом... Под 2.4.26 так и не удалось заставить работать, но под 2.6.7 (kernel-image из debian). А так с webplus-spb -- работает.

    Если я не прав, поправте меня.

     
  • 1.4, Morkeleb (?), 01:10, 06/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто-нить под gentoo (2005.1) сие проделывал?
     
  • 1.5, Kondrat (??), 20:33, 20/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    kndbbs.narod.ru
     
  • 1.7, The_Gamer (?), 08:51, 15/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не как не могу установить дрова и настроить у меня стоит Mandriva 2006 модем  ZyXEL OMNI ADSL EE  (Annex A)
     
  • 1.10, Strelok (?), 23:43, 30/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда, а под Suse надо ещё nas0 и много всякой фигни, но моден никак не пашет.
     
  • 1.11, marat (??), 10:52, 15/09/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите как настроить данный модем . Выбор что то большой при установке драйверов . Создается автоматом ярлык на столе для подключения. Для чего? Если предидущие модемы настраивалось отдельное подключение,где прописывался логин и пароль
     
  • 1.12, Алексей (??), 20:33, 27/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помогите с настройкой этого модема, по инструкции ниполучаеться!!! Что делать, опишите все поэтапно! У меня ноутбук ОС windows vista SP1
    modem ADSL-2500 U!!!!! Заранее спасибо!!!!
     
  • 1.13, илья (??), 17:45, 20/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    помогите настроить модем zyxel omni adsl подключение идет но не соединеяет?????плз)))
     

    игнорирование участников | лог модерирования

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




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

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