Bug 243999

Summary: cdce does not find Lenovo onelink+ dock
Product: Base System Reporter: David Demelier <markand>
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: New ---    
Severity: Affects Only Me CC: hselasky
Priority: ---    
Version: 12.1-RELEASE   
Hardware: Any   
OS: Any   

Description David Demelier 2020-02-09 10:03:59 UTC
Hi,

I have a Lenovo onelink+ dock which contains several USB, video output, audio and an ethernet card. The ethernet card is based on the USB driver which is detected by cdce on OpenBSD but not on FreeBSD.

I don't know how I can add vendor/product id to test if it simply adding those could detect the interface if someoneĀ© could point me the direction I'd be happy to build the kernel with those IDs and test.

Here's the output of usbconfig:

ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.3: <Logitech USB Receiver> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (98mA)
ugen0.4: <VIA Labs, Inc. USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.5: <VIA Labs, Inc. USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.6: <C-Media Electronics Inc. ThinkPad OneLink Plus Dock Audio> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.7: <vendor 0x05e3 USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
ugen0.8: <vendor 0x04d9 USB Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.9: <vendor 0x046a wired keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.10: <vendor 0x8087 product 0x0a2b> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.11: <Chicony Electronics Co.,Ltd. Integrated Camera> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.12: <VIA Labs, Inc. USB3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.13: <VIA Labs, Inc. USB3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.14: <Western Digital My Passport 0810> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (224mA)
ugen0.15: <Lenovo OneLink+ Giga> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (64mA)
ugen0.16: <jmicron jmicron> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (224mA)

I guess the ethernet interface is at ugen0.15 but I'm not sure how we can retrieve the information in a reliable way.
Comment 1 Hans Petter Selasky freebsd_committer freebsd_triage 2020-02-10 08:30:22 UTC
Try:

usbdump -d 0.5 dump_curr_config_desc dump_device_desc