В прошлый раз я достаточно быстро выкрутился с модемом ZyXEL Omni 56K Duo подключенным по USB и переехал с ядра 2.6.22 на 2.6.27. Мне потребовалось более новое ядро, в частности 2.6.33 и старый трюк с подменой ID модема не сработал. Точнее модуль omninet подгружался но при попытке использования устройства /dev/ttyUSB0 я получил ошибку - Can not open modem (Input/output error).
Поиски в интернете прямого ответа не дали, но результат всё-таки был найден =), правда речь там шла про gps, но факт остается фактом. Необходимо изменить кроме файла omninet.c ещё и usb-serial.c
Вот два патча, которые у меня получились, для ядра 2.6.33:
--- /usr/src/linux/drivers/usb/serial/usb-serial.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/usb-serial.c 2010-04-09 15:08:09.000000000 +0400
@@ -307,6 +307,8 @@
struct usb_serial_port *port = tty->driver_data;
dbg("%s - port %d", __func__, port->number);
tty_port_close(&port->port, tty, filp);
+ tty_kref_put(tty);
+
}
--- /usr/src/linux/drivers/usb/serial/omninet.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/omninet.c 2010-04-09 15:08:37.000000000 +0400
@@ -59,7 +59,7 @@
#define DRIVER_DESC "USB ZyXEL omni.net LCD PLUS Driver"
#define ZYXEL_VENDOR_ID 0x0586
-#define ZYXEL_OMNINET_ID 0x1000
+#define ZYXEL_OMNINET_ID 0x1512
/* This one seems to be a re-branded ZyXEL device */
#define BT_IGNITIONPRO_ID 0x2000
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий