HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: usbnet
[Ответить]
Mikhail Kostousov [09.05.2005 18:45] usbnet:
Всем привет!
Установил новую SuSe 9.3 и комп отказался цепляться к завру... В чем дело - уже просто не понимаю... При включении, dmesg пишет:
usb 2-1: USB disconnect, address 2
usb 2-1: new full speed USB device using uhci_hcd and address 3
Раньше не грузил usbnet. Я нашел, что в modules.usbmap стоит не правильная запись о bInterfaceProtocol. После того как я добавил в /etc/hotplug/usb.handmap строку о завре:
# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
usbnet 0x0383 0x04dd 0x9031 0x0000 0x0000 0x00 0x00 0x00 0x02 0x0a 0x00
он начал модуль загружать. Но интерфейс по прежнему не появляется... Ядро сейчас стоит
2.6.11.4-20a - сусевское, но usbnet пропатченый. Пробовал ядро 2.6.11.8, результат тот же... Чего не хватает?
ВадимП [09.05.2005 21:00] :
Интерфейс совсем не создается или просто не поднимается? В выводе ifconfig -a вообще не появляется ни одного нового интерфейса?
Mikhail Kostousov [10.05.2005 00:20] :
Неа, совсем не создается. ifconfig -a выводит eth0, lo и тунель ip4 - ip6. Больше нет ни чего...
Это то я и не могу понять. Модуль загружается, но даже в /proc/bus/usb/devices к записи Zaurus не стоит ни какого драйвера...
Можно ли как-то модулю указать, к какому устройству я его пытаюсь загрузить?
fAX [10.05.2005 13:43] :
В 2.6.11 поломан usbnet (но есть патч). Тут же на форуме уже было упоминание.
2.4.Х-2.6.10 всё работает.
а в usb.usermap у меня прописано такое дело (750-й):
zaurus 0x03 0x04dd 0x9031 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
В modprobe.conf(.local), возможно, нужно прописать
alias usb0 usbnet
Дальше есть файлик
/etc/hotplug/usb/zaurus (это слегка урезанный образец того, что есть у меня). Он не обязательный, но некоторые полезные вещи можно в него прописать.
#/bin/bash
case $ACTION in
add)
logger "Adding driver support for my dear Sharp Zaurus (Device: $PRODUCT)"
logger "Bringing interface usb0 up"
/sbin/ifup usb0
rcnamed restart
iptables -t nat -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
play /opt/kde3/share/sounds/EW_Event_3.ogg
#DISPLAY=:0 su fax -c "xterm -e root@zaurus"&
;;
remove)
iptables -t nat -F
rcnamed stop
play /opt/kde3/share/sounds/EW_Window_Hide.ogg
logger "My dear zaurus has disconnected..."
в нём же можно и синхронизацию сделать.
Mikhail Kostousov [10.05.2005 16:51] :
Я понимаю, что поломан и не работает...
Разобрался в чем дело. Новый usbnet узнает только CDC-Ethernet
устройства bInterfaceSubClass=06, а некоторые старые Zaurus, как мой имеют MDLM интерфейс (bInterfaceSubClass=0x0a...)
Я поменял две строки в usbnet.c и все заработало...
В usbnet.c было:
.match_flags = USB_DEVICE_ID_MATCH_INT_INFO
| USB_DEVICE_ID_MATCH_DEVICE,
.idVendor = 0x04DD,
.idProduct = 0x9031, /* C-750 C-760 */
.bInterfaceClass = USB_CLASS_COMM,
.bInterfaceSubClass = 0x06 /* Ethernet model */,
.bInterfaceProtocol = 0x00,
.driver_info = ZAURUS_PXA_INFO,
стало:
.match_flags = USB_DEVICE_ID_MATCH_INT_INFO
| USB_DEVICE_ID_MATCH_DEVICE,
.idVendor = 0x04DD,
.idProduct = 0x9031, /* C-750 C-760 */
.bInterfaceClass = USB_CLASS_COMM,
.bInterfaceSubClass = 0x0a /* MDLM model */,
.bInterfaceProtocol = 0x00,
.driver_info = ((unsigned long)&zaurus_pxa_mdlm_info),
[Ответить]