On 18/11/14(Tue) 05:25, SASANO Takayoshi wrote: > Hi all, > > I bought Silicon Labs CP2110-EK USB HID-to-UART evaluation kit > and connected to OpenBSD box. > > uslcom(4) tries to use CP2110, but the device is different from > CP210x series.
I agree this is a totally different device are you working on a kernel driver? The AN434 document should be enough, right? By the way, this device is another example that the model "1 driver" per reportID is no longer valid. > How about to fix usbdevs and uslcom.c like this? ok mpi@ > > ---- > Index: usbdevs > =================================================================== > RCS file: /cvs/src/sys/dev/usb/usbdevs,v > retrieving revision 1.639 > diff -u -p -r1.639 usbdevs > --- usbdevs 31 Oct 2014 21:17:42 -0000 1.639 > +++ usbdevs 17 Nov 2014 20:04:44 -0000 > @@ -3812,7 +3812,7 @@ product SILABS3 GPRS_MODEM 0xea61 GPRS M > product SILABS4 100EU_MODEM 0xea61 GPRS Modem 100EU > product SILABS CP210X_3 0xea70 CP210x Serial > product SILABS INFINITY_MIC 0xea71 Infinity GPS-MIC-1 > -product SILABS CP210X_4 0xea80 CP210x Serial > +product SILABS CP2110 0xea80 CP2110 USB HID Serial > product SILABS USBSCOPE50 0xf001 USBscope50 > product SILABS USBWAVE12 0xf002 USBwave12 > product SILABS USBPULSE100 0xf003 USBpulse100 > Index: uslcom.c > =================================================================== > RCS file: /cvs/src/sys/dev/usb/uslcom.c,v > retrieving revision 1.31 > diff -u -p -r1.31 uslcom.c > --- uslcom.c 12 Jul 2014 21:24:33 -0000 1.31 > +++ uslcom.c 17 Nov 2014 20:04:46 -0000 > @@ -165,7 +165,6 @@ static const struct usb_devno uslcom_dev > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CP210X_1 }, > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CP210X_2 }, > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CP210X_3 }, > - { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CP210X_4 }, > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CRUMB128 }, > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CYGNAL }, > { USB_VENDOR_SILABS, USB_PRODUCT_SILABS_CYGNAL_DEBUG }, > ---- > > Here is the dmesg when connected CP2110EK before/after fix. > > (before) > uslcom0 at uhub3 port 3 "Silicon Laboratories CP2110 HID USB-to-UART Bridge" > rev 2.00/1.00 addr 2 > uslcom0: missing endpoint > > (after) > uhidev0 at uhub1 port 2 configuration 1 interface 0 "Silicon Laboratories > CP2110 HID USB-to-UART Bridge" rev 2.00/1.00 addr 2 > uhidev0: iclass 3/0, 102 report ids > uhid0 at uhidev0 reportid 1: input=1, output=1, feature=0 > uhid1 at uhidev0 reportid 2: input=2, output=2, feature=0 > uhid2 at uhidev0 reportid 3: input=3, output=3, feature=0 > uhid3 at uhidev0 reportid 4: input=4, output=4, feature=0 > uhid4 at uhidev0 reportid 5: input=5, output=5, feature=0 > uhid5 at uhidev0 reportid 6: input=6, output=6, feature=0 > uhid6 at uhidev0 reportid 7: input=7, output=7, feature=0 > uhid7 at uhidev0 reportid 8: input=8, output=8, feature=0 > uhid8 at uhidev0 reportid 9: input=9, output=9, feature=0 > uhid9 at uhidev0 reportid 10: input=10, output=10, feature=0 > uhid10 at uhidev0 reportid 11: input=11, output=11, feature=0 > uhid11 at uhidev0 reportid 12: input=12, output=12, feature=0 > uhid12 at uhidev0 reportid 13: input=13, output=13, feature=0 > uhid13 at uhidev0 reportid 14: input=14, output=14, feature=0 > uhid14 at uhidev0 reportid 15: input=15, output=15, feature=0 > uhid15 at uhidev0 reportid 16: input=16, output=16, feature=0 > uhid16 at uhidev0 reportid 17: input=17, output=17, feature=0 > uhid17 at uhidev0 reportid 18: input=18, output=18, feature=0 > uhid18 at uhidev0 reportid 19: input=19, output=19, feature=0 > uhid19 at uhidev0 reportid 20: input=20, output=20, feature=0 > uhid20 at uhidev0 reportid 21: input=21, output=21, feature=0 > uhid21 at uhidev0 reportid 22: input=22, output=22, feature=0 > uhid22 at uhidev0 reportid 23: input=23, output=23, feature=0 > uhid23 at uhidev0 reportid 24: input=24, output=24, feature=0 > uhid24 at uhidev0 reportid 25: input=25, output=25, feature=0 > uhid25 at uhidev0 reportid 26: input=26, output=26, feature=0 > uhid26 at uhidev0 reportid 27: input=27, output=27, feature=0 > uhid27 at uhidev0 reportid 28: input=28, output=28, feature=0 > uhid28 at uhidev0 reportid 29: input=29, output=29, feature=0 > uhid29 at uhidev0 reportid 30: input=30, output=30, feature=0 > uhid30 at uhidev0 reportid 31: input=31, output=31, feature=0 > uhid31 at uhidev0 reportid 32: input=32, output=32, feature=0 > uhid32 at uhidev0 reportid 33: input=33, output=33, feature=0 > uhid33 at uhidev0 reportid 34: input=34, output=34, feature=0 > uhid34 at uhidev0 reportid 35: input=35, output=35, feature=0 > uhid35 at uhidev0 reportid 36: input=36, output=36, feature=0 > uhid36 at uhidev0 reportid 37: input=37, output=37, feature=0 > uhid37 at uhidev0 reportid 38: input=38, output=38, feature=0 > uhid38 at uhidev0 reportid 39: input=39, output=39, feature=0 > uhid39 at uhidev0 reportid 40: input=40, output=40, feature=0 > uhid40 at uhidev0 reportid 41: input=41, output=41, feature=0 > uhid41 at uhidev0 reportid 42: input=42, output=42, feature=0 > uhid42 at uhidev0 reportid 43: input=43, output=43, feature=0 > uhid43 at uhidev0 reportid 44: input=44, output=44, feature=0 > uhid44 at uhidev0 reportid 45: input=45, output=45, feature=0 > uhid45 at uhidev0 reportid 46: input=46, output=46, feature=0 > uhid46 at uhidev0 reportid 47: input=47, output=47, feature=0 > uhid47 at uhidev0 reportid 48: input=48, output=48, feature=0 > uhid48 at uhidev0 reportid 49: input=49, output=49, feature=0 > uhid49 at uhidev0 reportid 50: input=50, output=50, feature=0 > uhid50 at uhidev0 reportid 51: input=51, output=51, feature=0 > uhid51 at uhidev0 reportid 52: input=52, output=52, feature=0 > uhid52 at uhidev0 reportid 53: input=53, output=53, feature=0 > uhid53 at uhidev0 reportid 54: input=54, output=54, feature=0 > uhid54 at uhidev0 reportid 55: input=55, output=55, feature=0 > uhid55 at uhidev0 reportid 56: input=56, output=56, feature=0 > uhid56 at uhidev0 reportid 57: input=57, output=57, feature=0 > uhid57 at uhidev0 reportid 58: input=58, output=58, feature=0 > uhid58 at uhidev0 reportid 59: input=59, output=59, feature=0 > uhid59 at uhidev0 reportid 60: input=60, output=60, feature=0 > uhid60 at uhidev0 reportid 61: input=61, output=61, feature=0 > uhid61 at uhidev0 reportid 62: input=62, output=62, feature=0 > uhid62 at uhidev0 reportid 63: input=63, output=63, feature=0 > uhid63 at uhidev0 reportid 64: input=0, output=0, feature=1 > uhid64 at uhidev0 reportid 65: input=0, output=0, feature=1 > uhid65 at uhidev0 reportid 66: input=0, output=0, feature=6 > uhid66 at uhidev0 reportid 67: input=0, output=0, feature=1 > uhid67 at uhidev0 reportid 68: input=0, output=0, feature=2 > uhid68 at uhidev0 reportid 69: input=0, output=0, feature=4 > uhid69 at uhidev0 reportid 70: input=0, output=0, feature=2 > uhid70 at uhidev0 reportid 71: input=0, output=0, feature=2 > uhid71 at uhidev0 reportid 80: input=0, output=0, feature=8 > uhid72 at uhidev0 reportid 81: input=0, output=0, feature=1 > uhid73 at uhidev0 reportid 82: input=0, output=0, feature=1 > uhid74 at uhidev0 reportid 96: input=0, output=0, feature=10 > uhid75 at uhidev0 reportid 97: input=0, output=0, feature=63 > uhid76 at uhidev0 reportid 98: input=0, output=0, feature=63 > uhid77 at uhidev0 reportid 99: input=0, output=0, feature=63 > uhid78 at uhidev0 reportid 100: input=0, output=0, feature=63 > uhid79 at uhidev0 reportid 101: input=0, output=0, feature=62 > uhid80 at uhidev0 reportid 102: input=0, output=0, feature=19 > > Regards, > -- > SASANO Takayoshi <u...@mx5.nisiq.net> >