I've been experimenting again. With etherusb in the kernel, usbd is
triggering usb/ether and the device is mounted at /dev. I don't know
what happened before.

But there is no etherusb device.

; echo noauto ether > /dev/usbdctl
(unplug and plug again the device)
; sed /ether/q /dev/usb/ctl
...
ep9.0 enabled control rw speed super maxpkt 512 pollival 0 samplesz 0 hz 0 hub 
0 port 1 rootport 2 addr 7 idle
255 csp 0x00ffff csp 0x000602 csp 0x00000a vid 0x0bda did 0x8153 Realtek 'USB 
10/100/1000 LAN' xhci
; usb/ether -ddd /dev/usb/ep9.0
[...]
ether: ep in /dev/usb/ep9.1 maxpkt 1024; ep out /dev/usb/ep9.2 maxpkt 1024
usb/ether: etherusb bind #l0: bad process or channel control request
usb/ether: etherusb bind #l1: bad maxpkt "bind cdc #u/usb/ep9.1/data 
#u/usb/ep9.2/data 00e04c680cfb 2000 1024"
usb/ether: etherusb bind #l2: no free devices
usb/ether: 1 buffers
usb/ether: dev ref 3
usb/ether: etherbread
usb/ether: fsadd etherU9

So bad maxpkt... etherusb check for maxpkt < 512 which is the max for
bulk transfers in usb2 high speed. Using 1024 instead fixes the problem.

Should it chek for the speed of the usb device and set the limit accordingly?


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T668643d11149fab4-M829ca30175f489f095e58ae9
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to