The OpenNET Project / Index page

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

Подключение модемов ZyXEL Omni 56K по шине USB в ОС Linux (modem usb linux driver kernel patch)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: modem, usb, linux, driver, kernel, patch,  (найти похожие документы)
From: McMCC <mcmcc at mail.ru> Date: Mon, 4 Aug 2004 14:31:37 +0000 (UTC) Subject: Подключение модемов ZyXEL Omni 56K по шине USB в ОС Linux Оригинал: http://mcmcc.bat.ru/omniusb/ СОДЕРЖАНИЕ 1. Подключение модемов ZyXEL Omni 56K PLUS & DUO по шине USB в ОС Linux. 2. Подключение модема ZyXEL Omni 56K UNO по шине USB в ОС Linux. 1. Подключение модемов ZyXEL Omni 56K PLUS & DUO по шине USB в ОС Linux. Модемы ZyXEL Omni 56K PLUS & DUO имеют 2-а интерфейса подключения к компьютеру, это RS-232 и USB. Если подключение по RS-232 не вызывает каких-либо вопросов и проблем, то для подключения по USB требуются специальные драйвера. В составе любого ядра Linux, начиная с версии 2.2, входит стандартный драйвер для работы USB serial устройств под названием usbserial, его требуется загрузить сразу после загрузки модулей usbcore и usb-uhci(usb-ohci), так как данный драйвер содержит только протокол общения с устройствами USB-to-RS232, то для работы модемов ZyXEL Omni 56K PLUS & DUO необходим еще дополнительный драйвер, который будет общаться с модемами на аппаратном уровне и обмениваться данными по протоколу, который реализован в драйвере usbserial. Такой драйвер входит в стандартное ядро Linux и называется omninet, однако этот драйвер не будет работать с данными модемами, так как требуется дополнительная доработка этого драйвера на предмет Product ID. Патч для доработки драйвера omninet прилагается к данному описанию и называется omninet.diff, либо приведен ниже: --------------------------------------------------------------------------- --- drivers/usb/serial/omninet.c.orig 2002-11-29 02:53:15.000000000 +0300 +++ drivers/usb/serial/omninet.c 2003-08-27 13:11:51.000000000 +0400 @@ -66,6 +66,8 @@ #define ZYXEL_VENDOR_ID 0x0586 #define ZYXEL_OMNINET_ID 0x1000 +#define ZYXEL_OMNI_56KPLUS_ID 0x1500 +#define ZYXEL_OMNI_56K_DUO_ID 0x1512 /* function prototypes */ static int omninet_open (struct usb_serial_port *port, struct file *filp); @@ -78,6 +80,8 @@ static struct usb_device_id id_table [] = { { USB_DEVICE(ZYXEL_VENDOR_ID, ZYXEL_OMNINET_ID) }, + { USB_DEVICE(ZYXEL_VENDOR_ID, ZYXEL_OMNI_56KPLUS_ID) }, + { USB_DEVICE(ZYXEL_VENDOR_ID, ZYXEL_OMNI_56K_DUO_ID) }, { } /* Terminating entry */ }; --------------------------------------------------------------------------- Для установки патча необходимо произвести следущую процедуру в директории, где установлены исходные тексты вашего ядра: cp omninet.diff /usr/src/linux-2.4 cd /usr/src/linux-2.4 patch -p0 < omninet.diff и затем собрать ваше ядро или модуль(предполагается, что ядро собиралось ранее и достаточно дать команду make modules, или ядро собирается заново). Если вас не устраивает данный метод, то можно воспользоваться сборкой отдельного драйвера omniusb и за место omninet загружать его. Данный метод не требует сборки всего ядра и каких-либо модификаций, но требуется наличие исходных кодов ядра, которые должны быть установлены из вашего дистрибутива. Если вы используете RedHat, ASPLinux и т.п., то вам необходимо произвести такие операции как make oldconfig и make dep, этого будет достаточно для правильной сборки драйвера omniusb (http://mcmcc.bat.ru/omniusb/omniusb-1.1.tar.gz). Помните, что бы запустить make oldconfig, вам необходимо скопировать нужный конфигурационный файл ядра из директории configs (например kernel-2.4.22-athlon.config) и переименовать его в .config: cd /usr/src/linux-2.4 cp configs/kernel-2.4.22-athlon.config .config make oldconfig make dep Необходимо произвести сборку драйвера: cp omniusb-1.1.tar.gz /usr/local/src cd /usr/local/src tar xvpzf [5]omniusb-1.1.tar.gz cd omniusb-1.1 make make install Драйвер omniusb самостоятельный и расчитан только для работы модемов ZyXEL Omni 56K PLUS & DUO, при работе он не пересекается со стандартным драйвером omninet из ядра. После того, как драйвер был собран и установлен, необходимо проверить наличие устройств в директории /dev: ls -l /dev/ttyUSB* должны получить: crw-rw---- 1 root uucp 188, 0 Янв 30 2003 /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 1 Янв 30 2003 /dev/ttyUSB1 crw-rw---- 1 root uucp 188, 10 Янв 30 2003 /dev/ttyUSB10 crw-rw---- 1 root uucp 188, 11 Янв 30 2003 /dev/ttyUSB11 crw-rw---- 1 root uucp 188, 12 Янв 30 2003 /dev/ttyUSB12 crw-rw---- 1 root uucp 188, 13 Янв 30 2003 /dev/ttyUSB13 crw-rw---- 1 root uucp 188, 14 Янв 30 2003 /dev/ttyUSB14 crw-rw---- 1 root uucp 188, 15 Янв 30 2003 /dev/ttyUSB15 crw-rw---- 1 root uucp 188, 2 Янв 30 2003 /dev/ttyUSB2 crw-rw---- 1 root uucp 188, 3 Янв 30 2003 /dev/ttyUSB3 crw-rw---- 1 root uucp 188, 4 Янв 30 2003 /dev/ttyUSB4 crw-rw---- 1 root uucp 188, 5 Янв 30 2003 /dev/ttyUSB5 crw-rw---- 1 root uucp 188, 6 Янв 30 2003 /dev/ttyUSB6 crw-rw---- 1 root uucp 188, 7 Янв 30 2003 /dev/ttyUSB7 crw-rw---- 1 root uucp 188, 8 Янв 30 2003 /dev/ttyUSB8 crw-rw---- 1 root uucp 188, 9 Янв 30 2003 /dev/ttyUSB9 Если этой информации нет, то необходимо создать эти устройства: mknod /dev/ttyUSB0 c 188 0 mknod /dev/ttyUSB1 c 188 1 mknod /dev/ttyUSB2 c 188 2 mknod /dev/ttyUSB3 c 188 3 . . . mknod /dev/ttyUSB254 c 188 254 mknod /dev/ttyUSB255 c 188 255 Если планируется использовать только один модем, то рекомендуется создать линк для удобства c /dev/ttyUSB0 на /dev/modem и во всех конфигурациях требующих настройки порта модема, использовать этот линк. Так же может понадобиться установка дополнительных прав на устройства, по умолчанию 660, но может возникнуть необходимость в 666. ln -s /dev/ttyUSB0 /dev/modem и если надо chmod 666 /dev/ttyUSB0 Теперь, когда все процедуры по установки драйвера и проверки наличия нужных устройств закончены, необходимо загрузить драйверы в следующем порядке: insmod usbcore insmod usb-uhci (или usb-ohci) insmod usbserial insmod omniusb (или пропатченный omninet) Примечание: insmod usbcore и insmod usb-uhci (или usb-ohci), требуется грузить в тех дистрибутивах ОС Linux, где нет наличия автоконфигурации, во всех дистрибутивах RedHat, SuSe, ASPLinux и т.п. этого делать не надо, поэтому достаточно загрузить: insmod usbserial insmod omniusb (или пропатченный omninet) Что бы не грузить каждый раз в ручную usbserial и omniusb, можно вставить следущую строчку в /etc/modules.conf: alias char-major-188 usbserial install char-major-188 /sbin/insmod omniusb remove char-major-188 /sbin/rmmod omniusb или alias char-major-188 usbserial install char-major-188 /sbin/insmod omninet remove char-major-188 /sbin/rmmod omninet Примечание: Данный метод может не работать, тогда нужно будет произвести установку по рекомендациям для настройки hotplug устройств... man hotplug или посетить сайт http://linux-hotplug.sourceforge.net P.S. Для RedHat-8/9 не требуется редактировать /etc/modules.conf если установлена поддержка hotplug , система сама автоматически находит нужные модули для загрузки и не требует какой-либо дополнительной конфигурации. 2. Подключение модема ZyXEL Omni 56K UNO по шине USB в ОС Linux. Модем ZyXEL Omni 56K UNO имеет единственный интерфейс подключения к компьютеру - USB. Данный модем соответствует спецификации Universal Serial Bus Communication Device Class Abstract Control Model (USB CDC ACM) и поэтому использует стандартный драйвер acm из ядра. Для того, что бы загрузить драйвер acm необходимо проверить наличие нужных устройств в директории /dev: ls -l /dev/usb/ttyACM* должны получить: crw-rw---- 1 root uucp 166, 0 Янв 30 2003 /dev/usb/ttyACM0 crw-rw---- 1 root uucp 166, 1 Янв 30 2003 /dev/usb/ttyACM1 crw-rw---- 1 root uucp 166, 10 Янв 30 2003 /dev/usb/ttyACM10 crw-rw---- 1 root uucp 166, 11 Янв 30 2003 /dev/usb/ttyACM11 crw-rw---- 1 root uucp 166, 12 Янв 30 2003 /dev/usb/ttyACM12 crw-rw---- 1 root uucp 166, 13 Янв 30 2003 /dev/usb/ttyACM13 crw-rw---- 1 root uucp 166, 14 Янв 30 2003 /dev/usb/ttyACM14 crw-rw---- 1 root uucp 166, 15 Янв 30 2003 /dev/usb/ttyACM15 crw-rw---- 1 root uucp 166, 2 Янв 30 2003 /dev/usb/ttyACM2 crw-rw---- 1 root uucp 166, 3 Янв 30 2003 /dev/usb/ttyACM3 crw-rw---- 1 root uucp 166, 4 Янв 30 2003 /dev/usb/ttyACM4 crw-rw---- 1 root uucp 166, 5 Янв 30 2003 /dev/usb/ttyACM5 crw-rw---- 1 root uucp 166, 6 Янв 30 2003 /dev/usb/ttyACM6 crw-rw---- 1 root uucp 166, 7 Янв 30 2003 /dev/usb/ttyACM7 crw-rw---- 1 root uucp 166, 8 Янв 30 2003 /dev/usb/ttyACM8 crw-rw---- 1 root uucp 166, 9 Янв 30 2003 /dev/usb/ttyACM9 Если этой информации нет, то необходимо создать эти устройства: mknod /dev/usb/ttyACM0 c 166 0 mknod /dev/usb/ttyACM1 c 166 1 и т.д. Для удобства сделать линк на /dev/modem c /dev/usb/ttyACM0: ln -s /dev/usb/ttyACM0 /dev/modem если модем один, то этим и ограничиться... Пробуем загрузить драйвера в следующем порядке: insmod usbcore insmod usb-uhci (или usb-ohci) insmod acm Если драйвер acm отсутствует, то нужно пересобрать ядро с поддержкой этого драйвера модулем, перегрузиться с новым ядром, и заново попробовать загрузить драйвера usbcore, usb-uhci (или usb-ohci), acm. Примечание: Система автоконфигурирования kudzu находит модем и сама предлагает произвести установку драйвера, однако это может быть не корректно. Что бы не грузить каждый раз в ручную драйвер acm, можно вставить следущую строчку в /etc/modules.conf: alias char-major-166 acm Примечание: Данный метод может не работать, тогда нужно будет произвести установку по рекомендациям для настройки hotplug устройств... man hotplug или посетить сайт http://linux-hotplug.sourceforge.net P.S. Для RedHat-8/9 не требуется редактировать /etc/modules.conf если установлена поддержка hotplug , система сама автоматически находит нужные модули для загрузки и не требует какой-либо дополнительной конфигурации. 15.09.2003 McMCC <mcmcc@mail.ru>

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

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Антон (??), 22:17, 06/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а кто-нибудь знает как поддключить ISDN модем INTRACOM NetMod ??? Помогите плиз!!!
     
     
  • 2.5, DmitryChemerik (?), 00:33, 01/07/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >> а кто-нибудь знает как поддключить ISDN модем INTRACOM NetMod ??? Помогите плиз!!!
    чтобы он нормально заработал под линем, надо залить в модем последнюю прошивку
     

  • 1.3, AA (??), 04:35, 29/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пробовал подключать UNO. Действительно всё работает.
    Никаких дполнительных патчей дров не требовалось.

    Замечания касатеьно файлов устройтств и модулей:
    1. В стандартном ядре всегда есть нужные модули.
    2. В большинстве дистрибутивов и устройства нужные всегда есть.
    3. вместо /dev/usb/ttyACM0 (ttyACM1, ttyACM2, ...) может быть /dev/usb/acm/0 (или 1,2,3... соответственно).

    Замечания относительно модулей для ядер 2.6.х:
    модуль usb-uhci (usb-ohci) называется uhci-hcd (ohci-hcd), а acm - cdc-acm.

     
  • 1.4, voy (?), 14:37, 22/06/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://netmod.intracom.gr/pdf/pdf_engl/rs232_linux_en.pdf
     
  • 1.7, vld (??), 14:30, 23/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пожалуйста кто может по порядку объяснить настройку Zyxel Omni 56k USB в ASPLinux 10(Karelia) - ничего не получаеЦЦа
     
  • 1.8, vld (??), 14:36, 23/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да, он виден как ttyACM0 и он занят...
     
  • 1.9, Наташа (??), 04:30, 20/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Здравствуйте!
    Мне никак не удается подключить модем  ZyXEL Omni 56K Plus к своему компьютеру. Всегда выходит информация об отсутствии драйверов ( Код 28), хотя я использую заводской установочный диск. Операционная система Windows XP. На втором компьютере с этой же операционкой модем работает.
    Помогите, пожалуйста, разобраться.
     
  • 1.10, priestg (?), 09:18, 24/02/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эта схема не работает под SuSE 10, ядро 2.6.13-15-default. Подскажите как быть?
     
  • 1.11, komarick (ok), 13:12, 20/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Доброго времени суток.
    Воть, столкнулся с такой проблемой с зухелем уно:

    при подключении модема в юсб - он определяется, в /var/log/messages пишеццо следующее:

    Jul 19 18:44:05 sbslinko kernel: ohci_hcd 0000:00:02.0: wakeup
    Jul 19 18:44:06 sbslinko kernel: usb 2-2: new full speed USB device using ohci_hcd and address 16
    Jul 19 18:44:07 sbslinko kernel: usb 2-2: configuration #1 chosen from 1 choice
    Jul 19 18:44:07 sbslinko kernel: cdc_acm 2-2:1.0: ttyACM0: USB ACM device

    после того, как я натравливаю на сей девайс FaxGetty :
    Jul 19 18:46:53 sbslinko FaxGetty[13123]: /dev/ttyACM0: Can not initialize modem.

    ohci-hcd и cdc-acm стоят и здравствуют, насколько я понял - этому модему кроме стандартных дров ничего не нужно, но он не инициализируецца :(
    помогите плиз разобраться в чём грабля.

     
  • 1.12, Doma006 (?), 19:34, 07/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я в Ubunu 6.10 не могу настроить!!!
    в каком линухе ента схема работает???
     
  • 1.13, eva (?), 06:02, 02/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите пожалуйста будет ли определяться модем ZyXEL Omni 56K UNO USB в Linux CentOS 5.2 с версией ядра 2.6.18 На сайтах разработчиков и в списках определяемого на Linux железа я такой информации не нашла. А модемы приобретать надо. Может кто еще какую версию аналогового ZyXELя порекомендует. Заранее спасибо.
     
  • 1.14, slaviann (?), 20:55, 16/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Приветствую!

    Модем - Zyxel omni 56k EE.

    lsusb
    Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 006: ID 0586:1500 ZyXEL Communications Corp. Omni 56K Plus
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 003: ID 046d:c044 Logitech, Inc. LX3 Optical Mouse
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    dmesg
    [10334.124043] usb 2-1: new full speed USB device using ohci_hcd and address 7
    [10334.284028] usb 2-1: configuration #1 chosen from 1 choice
    [10334.292084] usb 2-1: New USB device found, idVendor=0586, idProduct=1500
    [10334.292095] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

    Не определяет устройство. Что делать. Подскажите хлопци)

     
  • 1.15, Serg (??), 00:43, 03/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поставил Ubuntu и хочу настроить нет,в наличии есть модемы Zyxel Omni 56K Pro и Sagem F@ST 9520-35-GLR(WiMax).Поскольку етой осью только учусь пользоватся интересует будет ли хоть один из етих модемов работать под Ubuntu.Буду благодарен за любой совет ибо винда задрала а в линуксе нехватает интернета!Ответы просьба слать на Wehrmacht@ukr.net
     
  • 1.16, Алексей (??), 18:53, 10/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не знаю вообще как его подключить, принисли модем и один провод Usb Как я понял питание, там ещё 2 выхода Line - phohe интернет у меня от телефона когда его подключил пишет нет кабеля Интернета!
     

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

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




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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