Zyxel omni 56k plus usb как заставить его работать...

В данном форуме предлагается обсуждать темы связанные с любым "железом", а также его работой под Linux
Anonymous

Zyxel omni 56k plus usb как заставить его работать...

Сообщение Anonymous »

Zyxel omni 56k plus usb как заставить его работать в Mandrake 10 ядро 2.6.3. Да и вообще как поступать с девайсами на usb, как их подключать и тд и тп? Раскажите кому не сложно? ООООООчень надо!

Аватара пользователя
zyxel
Неотъемлемая часть форума
Сообщения: 985
Зарегистрирован: 07 июн 2002, 12:05
Откуда: Минск, РБ
Контактная информация:

Сообщение zyxel »

Набираем http://google.com/linux
там вводим строку "Zyxel omni 56k plus usb"
Первая же ссылка: "www.nixp.ru — статьи — «Настройка модема ZyXEL Omni 56K Plus в Linux через USB»"

Учимся пользоваться поиском.
-Сынок, вставай, 5 утра, пора на работу.
-Папа, на какую работу ? Сегодня воскресенье !
-Сынок, какое воскресенье ! Мы же негры !
(С) анекдот

Anonymous

Сообщение Anonymous »

Сыпасибо! :D Ща пойду попробую. А если что не получится поможете разобраться?:)

Аватара пользователя
zyxel
Неотъемлемая часть форума
Сообщения: 985
Зарегистрирован: 07 июн 2002, 12:05
Откуда: Минск, РБ
Контактная информация:

Сообщение zyxel »

http://google.com поможет. Я не буду помогать.
-Сынок, вставай, 5 утра, пора на работу.
-Папа, на какую работу ? Сегодня воскресенье !
-Сынок, какое воскресенье ! Мы же негры !
(С) анекдот

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

зюхель за zyxel не отвечает ;)
Опыт растет прямо пропорционально выведенному из строя оборудованию

pgennady
Заглянувший
Сообщения: 7
Зарегистрирован: 19 фев 2006, 10:40

Сообщение pgennady »

Llama писал(а):зюхель за zyxel не отвечает ;)
Здравствуйте!
Помогите!
Установил на ноутбук Linux SuSE 10, ядро 2.6.13-15-default. Внутренний модем пока не трогую. Хочу подробнее изложить проблему с модемом ZyXEL OMNI 56K DUO
В Интернете полно всяких ответов по этому поводу, но все они ссылаются только на один в итоге источник. Вот он какой:
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. Помните,
что бы запустить 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 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 способа.
Я пробывал все. Ничего не вышло. Вот как это было.
1) Первый способ:
1. Я собрал драйвер как написано в тексте omninet.diff
2. Написано сделать cp omninet.diff /usr/src/linux-2.4
То есть скопирывать, и я сделал cp omninet.diff /usr/src/linux-2.6.13-15
3. Написано: cd /usr/src/linux-2.4
Сделал: cd /usr/src/linux-2.6.13-15 т.е. перешел в этот каталог.
4. Написано: patch –p0 < omninet.diff
Я так понял это добовляет к одноименному файлу /usr/src/linux-2.6.13-15/drivers/usb/serial/omninet.c ту писанину, что занесена в файл omninet.diff
Я это выполнил и получил следующее:
Patching file drivers/usb/serial/omninet.c
patch: *** malformed patch at lin 9: /* function prototypes */
В конце концов я заглянул в файл omninet.c, но изменений в нем не было.
5.Я все же решил продолжить: make modules
Минут 50 мелькали всякие строки
6.ls –l /dev/ttyUSB0
7.Команда insmod usbserial как и дальнейшие команды высказали, что нет такого файла или директории. Даже после перезагрузки.
8. kppp настроил на /dev/ttyUSB0
9. А в ответ: невозможно найти модем (и мертвые с косами)

Я решил вернуться к пункту 4
Но самостоятельно изменить что нибудь. Я обнаружил, что в директории появился /usr/src/linux-2.6.13-15/drivers/usb/serial/ появился файл omninet.jri (по моему). Я их переименовал и продолжил.
Ничего хорошего.

Я решил в ручную поменять файл старый omninet.c
Вписал в него информацию из omninet.diff
Make
Куча ошибок. Он не признал плюсы, которые стояли в файле omninet.c

Метод 2 еще смешнее. Загрузка драйвера omniusb.
Я, как написано, распаковал его в директорию /usr/local/src
cd omniusb-1.1
make
Количество ошибок не подлежит определению. Я их все напишу:
linux:/usr/local/src/omniusb-1.1 # make
cc1: error: /lib/modules/2.6.13-15-default/build/include/linux/modversions.h: No
such file or directory
In file included from /usr/include/linux/list.h:7,
from /usr/include/linux/mmzone.h:9,
from /usr/include/linux/gfp.h:4,
from /usr/include/linux/slab.h:15,
from omniusb.c:43:
/usr/include/linux/prefetch.h: In function ‘prefetch_range’:
/usr/include/linux/prefetch.h:64: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared
(first use in this function)
/usr/include/linux/prefetch.h:64: error: (Each undeclared identifier is reported
only once
/usr/include/linux/prefetch.h:64: error: for each function it appears in.)
In file included from /usr/include/linux/sched.h:12,
from /usr/include/linux/fs.h:215,
from /usr/include/linux/tty.h:20,
from omniusb.c:44:
/usr/include/linux/jiffies.h:42:3: error: #error You lose.
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:213:31: error: division by zero in #if
/usr/include/linux/jiffies.h:257:30: error: division by zero in #if
In file included from /usr/include/linux/sched.h:12,
from /usr/include/linux/fs.h:215,
from /usr/include/linux/tty.h:20,
from omniusb.c:44:
/usr/include/linux/jiffies.h: In function ‘jiffies_to_msecs’:
/usr/include/linux/jiffies.h:262: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:268:36: error: division by zero in #if
/usr/include/linux/jiffies.h: In function ‘jiffies_to_usecs’:
/usr/include/linux/jiffies.h:273: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:281:30: error: division by zero in #if
/usr/include/linux/jiffies.h: In function ‘msecs_to_jiffies’:
/usr/include/linux/jiffies.h:286: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:294:36: error: division by zero in #if
/usr/include/linux/jiffies.h: In function ‘usecs_to_jiffies’:
/usr/include/linux/jiffies.h:299: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h: In function ‘timespec_to_jiffies’:
/usr/include/linux/jiffies.h:318: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:324: error: ‘SHIFT_HZ’ undeclared (first use in thi
s function)
/usr/include/linux/jiffies.h: In function ‘jiffies_to_timespec’:
/usr/include/linux/jiffies.h:337: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h: In function ‘timeval_to_jiffies’:
/usr/include/linux/jiffies.h:359: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:363: error: ‘SHIFT_HZ’ undeclared (first use in thi
s function)
/usr/include/linux/jiffies.h: In function ‘jiffies_to_timeval’:
/usr/include/linux/jiffies.h:375: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h:385:6: error: division by zero in #if
/usr/include/linux/jiffies.h: In function ‘jiffies_to_clock_t’:
/usr/include/linux/jiffies.h:386: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h: In function ‘clock_t_to_jiffies’:
/usr/include/linux/jiffies.h:397: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h:416:6: error: division by zero in #if
/usr/include/linux/jiffies.h: In function ‘jiffies_64_to_clock_t’:
/usr/include/linux/jiffies.h:417: error: ‘CONFIG_HZ’ undeclared (first use in th
is function)
In file included from /usr/include/linux/module.h:22,
from /usr/include/asm/termios.h:61,
from /usr/include/linux/termios.h:5,
from /usr/include/linux/tty.h:22,
from omniusb.c:44:
/usr/include/asm/module.h:60:2: error: #error unknown processor family
In file included from /usr/include/linux/irq.h:21,
from /usr/include/asm/hardirq.h:6,
from /usr/include/linux/hardirq.h:7,
from /usr/include/linux/interrupt.h:11,
from /usr/include/linux/usb.h:15,
from omniusb.c:50:
/usr/include/asm/irq.h:16:25: error: irq_vectors.h: No such file or directory
In file included from /usr/include/asm/hardirq.h:6,
from /usr/include/linux/hardirq.h:7,
from /usr/include/linux/interrupt.h:11,
from /usr/include/linux/usb.h:15,
from omniusb.c:50:
/usr/include/linux/irq.h: At top level:
/usr/include/linux/irq.h:74: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here
(not in a function)
/usr/include/linux/irq.h:74: error: requested alignment is not a constant
/usr/include/linux/irq.h:76: error: ‘NR_IRQS’ undeclared here (not in a function
)
In file included from /usr/include/linux/irq.h:78,
from /usr/include/asm/hardirq.h:6,
from /usr/include/linux/hardirq.h:7,
from /usr/include/linux/interrupt.h:11,
from /usr/include/linux/usb.h:15,
from omniusb.c:50:
/usr/include/asm/hw_irq.h:28: error: ‘NR_IRQ_VECTORS’ undeclared here (not in a
function)
In file included from /usr/include/linux/hardirq.h:7,
from /usr/include/linux/interrupt.h:11,
from /usr/include/linux/usb.h:15,
from omniusb.c:50:
/usr/include/asm/hardirq.h:13: error: requested alignment is not a constant
omniusb.c:58:24: error: usb-serial.h: No such file or directory
omniusb.c:73: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:73: warning: its scope is only this definition or declaration, which i
s probably not what you want
omniusb.c:74: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:77: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:78: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:79: warning: ‘struct usb_serial’ declared inside parameter list
omniusb.c:99: error: variable ‘zyxel_omniduo_device’ has initializer but incompl
ete type
omniusb.c:100: error: unknown field ‘owner’ specified in initializer
omniusb.c:100: warning: excess elements in struct initializer
omniusb.c:100: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:101: error: unknown field ‘name’ specified in initializer
omniusb.c:101: warning: excess elements in struct initializer
omniusb.c:101: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:102: error: unknown field ‘id_table’ specified in initializer
omniusb.c:102: warning: excess elements in struct initializer
omniusb.c:102: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:103: error: unknown field ‘num_interrupt_in’ specified in initializer
omniusb.c:103: warning: excess elements in struct initializer
omniusb.c:103: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:104: error: unknown field ‘num_bulk_in’ specified in initializer
omniusb.c:104: warning: excess elements in struct initializer
omniusb.c:104: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:105: error: unknown field ‘num_bulk_out’ specified in initializer
omniusb.c:105: warning: excess elements in struct initializer
omniusb.c:105: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:106: error: unknown field ‘num_ports’ specified in initializer
omniusb.c:106: warning: excess elements in struct initializer
omniusb.c:106: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:107: error: unknown field ‘open’ specified in initializer
omniusb.c:107: warning: excess elements in struct initializer
omniusb.c:107: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:108: error: unknown field ‘close’ specified in initializer
omniusb.c:108: warning: excess elements in struct initializer
omniusb.c:108: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:109: error: unknown field ‘write’ specified in initializer
omniusb.c:109: warning: excess elements in struct initializer
omniusb.c:109: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:110: error: unknown field ‘write_room’ specified in initializer
omniusb.c:110: warning: excess elements in struct initializer
omniusb.c:110: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:111: error: unknown field ‘read_bulk_callback’ specified in initialize
r
omniusb.c:111: warning: excess elements in struct initializer
omniusb.c:111: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:112: error: unknown field ‘write_bulk_callback’ specified in initializ
er
omniusb.c:112: warning: excess elements in struct initializer
omniusb.c:112: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:113: error: unknown field ‘shutdown’ specified in initializer
omniusb.c:113: warning: excess elements in struct initializer
omniusb.c:113: warning: (near initialization for ‘zyxel_omniduo_device’)
omniusb.c:116: error: variable ‘zyxel_omniplus_device’ has initializer but incom
plete type
omniusb.c:117: error: unknown field ‘owner’ specified in initializer
omniusb.c:117: warning: excess elements in struct initializer
omniusb.c:117: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:118: error: unknown field ‘name’ specified in initializer
omniusb.c:118: warning: excess elements in struct initializer
omniusb.c:118: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:119: error: unknown field ‘id_table’ specified in initializer
omniusb.c:119: warning: excess elements in struct initializer
omniusb.c:119: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:120: error: unknown field ‘num_interrupt_in’ specified in initializer
omniusb.c:120: warning: excess elements in struct initializer
omniusb.c:120: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:121: error: unknown field ‘num_bulk_in’ specified in initializer
omniusb.c:121: warning: excess elements in struct initializer
omniusb.c:121: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:122: error: unknown field ‘num_bulk_out’ specified in initializer
omniusb.c:122: warning: excess elements in struct initializer
omniusb.c:122: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:123: error: unknown field ‘num_ports’ specified in initializer
omniusb.c:123: warning: excess elements in struct initializer
omniusb.c:123: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:124: error: unknown field ‘open’ specified in initializer
omniusb.c:124: warning: excess elements in struct initializer
omniusb.c:124: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:125: error: unknown field ‘close’ specified in initializer
omniusb.c:125: warning: excess elements in struct initializer
omniusb.c:125: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:126: error: unknown field ‘write’ specified in initializer
omniusb.c:126: warning: excess elements in struct initializer
omniusb.c:126: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:127: error: unknown field ‘write_room’ specified in initializer
omniusb.c:127: warning: excess elements in struct initializer
omniusb.c:127: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:128: error: unknown field ‘read_bulk_callback’ specified in initialize
r
omniusb.c:128: warning: excess elements in struct initializer
omniusb.c:128: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:129: error: unknown field ‘write_bulk_callback’ specified in initializ
er
omniusb.c:129: warning: excess elements in struct initializer
omniusb.c:129: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:130: error: unknown field ‘shutdown’ specified in initializer
omniusb.c:130: warning: excess elements in struct initializer
omniusb.c:130: warning: (near initialization for ‘zyxel_omniplus_device’)
omniusb.c:169: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:170: error: conflicting types for ‘omniduo_open’
omniusb.c:73: error: previous declaration of ‘omniduo_open’ was here
omniusb.c: In function ‘omniduo_open’:
omniusb.c:176: warning: implicit declaration of function ‘port_paranoia_check’
omniusb.c:181: warning: implicit declaration of function ‘get_usb_serial’
omniusb.c:181: warning: assignment makes pointer from integer without a cast
omniusb.c:191: error: dereferencing pointer to incomplete type
omniusb.c:192: error: dereferencing pointer to incomplete type
omniusb.c:193: error: dereferencing pointer to incomplete type
omniusb.c:193: error: dereferencing pointer to incomplete type
omniusb.c:196: warning: implicit declaration of function ‘FILL_BULK_URB’
omniusb.c:196: error: dereferencing pointer to incomplete type
omniusb.c:196: error: dereferencing pointer to incomplete type
omniusb.c:197: error: dereferencing pointer to incomplete type
omniusb.c:197: error: dereferencing pointer to incomplete type
omniusb.c:198: error: dereferencing pointer to incomplete type
omniusb.c:198: error: dereferencing pointer to incomplete type
omniusb.c:200: error: dereferencing pointer to incomplete type
omniusb.c:200: error: too few arguments to function ‘usb_submit_urb’
omniusb.c: At top level:
omniusb.c:207: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:208: error: conflicting types for ‘omniduo_close’
omniusb.c:74: error: previous declaration of ‘omniduo_close’ was here
omniusb.c: In function ‘omniduo_close’:
omniusb.c:218: warning: assignment makes pointer from integer without a cast
omniusb.c:222: error: dereferencing pointer to incomplete type
omniusb.c:223: error: dereferencing pointer to incomplete type
omniusb.c:224: error: dereferencing pointer to incomplete type
omniusb.c:225: error: dereferencing pointer to incomplete type
omniusb.c:228: error: dereferencing pointer to incomplete type
omniusb.c: In function ‘omniduo_read_bulk_callback’:
omniusb.c:241: warning: initialization makes pointer from integer without a cast
omniusb.c:273: error: dereferencing pointer to incomplete type
omniusb.c:275: error: dereferencing pointer to incomplete type
omniusb.c:279: error: dereferencing pointer to incomplete type
omniusb.c:280: error: dereferencing pointer to incomplete type
omniusb.c:280: error: dereferencing pointer to incomplete type
omniusb.c:283: error: too few arguments to function ‘usb_submit_urb’
omniusb.c: At top level:
omniusb.c:290: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:291: error: conflicting types for ‘omniduo_write’
omniusb.c:77: error: previous declaration of ‘omniduo_write’ was here
omniusb.c: In function ‘omniduo_write’:
omniusb.c:292: error: dereferencing pointer to incomplete type
omniusb.c:293: error: dereferencing pointer to incomplete type
omniusb.c:295: error: dereferencing pointer to incomplete type
omniusb.c:296: error: dereferencing pointer to incomplete type
omniusb.c:306: error: dereferencing pointer to incomplete type
omniusb.c:314: error: dereferencing pointer to incomplete type
omniusb.c:320: error: dereferencing pointer to incomplete type
omniusb.c:320: error: dereferencing pointer to incomplete type
omniusb.c:323: warning: implicit declaration of function ‘usb_serial_debug_data’
omniusb.c:323: error: dereferencing pointer to incomplete type
omniusb.c:331: error: dereferencing pointer to incomplete type
omniusb.c:333: error: dereferencing pointer to incomplete type
omniusb.c:333: error: dereferencing pointer to incomplete type
omniusb.c:334: error: dereferencing pointer to incomplete type
omniusb.c:334: error: too few arguments to function ‘usb_submit_urb’
omniusb.c: At top level:
omniusb.c:345: warning: ‘struct usb_serial_port’ declared inside parameter list
omniusb.c:346: error: conflicting types for ‘omniduo_write_room’
omniusb.c:78: error: previous declaration of ‘omniduo_write_room’ was here
omniusb.c: In function ‘omniduo_write_room’:
omniusb.c:347: error: dereferencing pointer to incomplete type
omniusb.c:348: error: dereferencing pointer to incomplete type
omniusb.c:352: error: dereferencing pointer to incomplete type
omniusb.c:353: error: dereferencing pointer to incomplete type
omniusb.c: In function ‘omniduo_write_bulk_callback’:
omniusb.c:373: error: dereferencing pointer to incomplete type
omniusb.c:374: warning: implicit declaration of function ‘serial_paranoia_check’
omniusb.c:383: warning: implicit declaration of function ‘queue_task’
omniusb.c:383: error: dereferencing pointer to incomplete type
omniusb.c:383: error: ‘tq_immediate’ undeclared (first use in this function)
omniusb.c:384: warning: implicit declaration of function ‘mark_bh’
omniusb.c:384: error: ‘IMMEDIATE_BH’ undeclared (first use in this function)
omniusb.c: At top level:
omniusb.c:392: warning: ‘struct usb_serial’ declared inside parameter list
omniusb.c:393: error: conflicting types for ‘omniduo_shutdown’
omniusb.c:79: error: previous declaration of ‘omniduo_shutdown’ was here
omniusb.c: In function ‘omniduo_init’:
omniusb.c:400: warning: implicit declaration of function ‘usb_serial_register’
omniusb.c: In function ‘omniduo_exit’:
omniusb.c:409: warning: implicit declaration of function ‘usb_serial_deregister’
make: *** [omniusb] Error 1


Это же он выдал когда я скачал даже обновленную версию omniusb

Какая причина? Может быть все это не подходит к SuSE 10, ядро 2.6.13-15-default?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

pgennady, не стоит писать одно и то же в нескольких темах...
Опыт растет прямо пропорционально выведенному из строя оборудованию

pgennady
Заглянувший
Сообщения: 7
Зарегистрирован: 19 фев 2006, 10:40

Сообщение pgennady »

Я месяц уже сижу в этой проблемме и не решался писать, хотел сам.

aido
Заглянувший
Сообщения: 1
Зарегистрирован: 11 мар 2006, 18:40

Сообщение aido »

pgennady писал(а):Я месяц уже сижу в этой проблемме и не решался писать, хотел сам.
пробовал делать драйвер по доке которую процитировал pgennady на ядре 2.6.15.3 дистр slackware

на сколько я понял патч добавляет vendor id модема, патч прилагаемый к статье на исходник omninet от 2.6.15.3 не наложился.
добавил строчки из патча вручную в нужные места исходника omninet. собрал модуль omninet и подгрузил его.
сделал ссылку /dev/modem -> /dev/ttyUSB0.

при подключении модема переодически получаеться такое сообщение в логах:
драйвер модема подгружен, модем подключен на устройство /dev/ttyUSB0.
модем отключен от устройства /dev/ttyUSB0.

при этом в следующий раз при отключении и подключении модема
может появиться надпись что драйвер модема подгружен, модем подключен на устройство /dev/ttyUSB0.

во втором случае
пробую зажечь миником -s
выбираю /dev/ttyUSB0 и миником мне выдает длительную попытку инициализировать модем которая не прекращаеться до тех пор пока модем подключен к компу.

пробовал использовать драйвер на ядре 2.4.x, патч наложился без проблем и модуль работает 100%.

Аватара пользователя
kisa
Маньяк
Сообщения: 186
Зарегистрирован: 16 апр 2005, 23:43
Откуда: Kiev

Сообщение kisa »

Вот напали на меня как-то деньги лишние (где-не скажу, там уже нет :) ), и решил я заменить свой Вин-Люцент, хотя он отлично работал тогда в,кажется, ASPLinux 9.1. Залез я в этот форум, начитался всякого. И когда пришёл покупать Самый Крутой Модем Зюксель (надолго - мне скоростной инет нафиг не нужен), я гордо скорчил профессиональную морду и громко попросил COM - модем, презрительно отвергнув USB. И вот уже года два (тьфу-тьфу) не надышусь на свой Omni56k-mini. И переезд на ядро 2.6 не заметил, хотя, чтобы это с умом сделать на Люценте - вот: http://www.cpp.com.ua/?in=kpp_show_arti ... FB#11/2005 %E3.
А USB не доверяю. Мышка работает на большинстве дистров, кое-где цифровой фотик работает, флешку у себя пока руками монтирую, графический планшет простенький не работает... А самое смешное USB-устройство, которое я видел - "внешний модем" (за 15 баксов) D-Link, который оказался...ээээ короче, переходником между USB-портом и телефонной розеткой с полностью программным управлением.
:) Обчитайтесь умных статей о Линуксе: http://www.mycomputer.ua/list/arts_soft_non-windows - в журнале "Мой компьютер" (Украина, русский язык)

Ответить