Actions
Feature #5466
openCP2102N evaluation for burst_ind baudrate
Start date:
02/22/2022
Due date:
% Done:
0%
Resolution:
Spec Reference:
Description
CP2102N EVB has arrived:
Bus 001 Device 022: ID 10c4:ea60 Silicon Labs CP210x UART Bridge Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x10c4 Silicon Labs idProduct 0xea60 CP210x UART Bridge bcdDevice 1.00 iManufacturer 1 Silicon Labs iProduct 2 CP2102N USB to UART Bridge Controller iSerial 3 48022d00e29feb11989dd1acdf749906 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0
Updated by laforge about 2 years ago
USB descriptor differences from CP2102 to CP2102N:
--- /space/home/laforge/cp2102.lsusb 2022-02-22 14:12:56.015120884 +0100 +++ /space/home/laforge/cp2102n.lsusb 2022-02-22 14:11:57.838755866 +0100 @@ -1,9 +1,9 @@ -Bus 001 Device 023: ID 10c4:ea60 Silicon Labs CP210x UART Bridge +Bus 001 Device 022: ID 10c4:ea60 Silicon Labs CP210x UART Bridge Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 - bcdUSB 1.10 + bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 @@ -12,8 +12,8 @@ idProduct 0xea60 CP210x UART Bridge bcdDevice 1.00 iManufacturer 1 Silicon Labs - iProduct 2 CP2102 USB to UART Bridge Controller - iSerial 3 0001 + iProduct 2 CP2102N USB to UART Bridge Controller + iSerial 3 48022d00e29feb11989dd1acdf749906 bNumConfigurations 1 Configuration Descriptor: bLength 9 @@ -34,11 +34,11 @@ bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 - iInterface 2 + iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 - bEndpointAddress 0x81 EP 1 IN + bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None @@ -48,7 +48,7 @@ Endpoint Descriptor: bLength 7 bDescriptorType 5 - bEndpointAddress 0x01 EP 1 OUT + bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None
Updated by laforge about 2 years ago
- Tracker changed from Bug to Feature
$ sudo ./cp210x-program [Errno 32] Pipe error
it's not yet clear if this is simply because the CP2102N has changed the endpoint order / numbers, or if it is some kind of other incompatibility.
[pid 487724] openat(AT_FDCWD, "/dev/bus/usb/001/039", O_RDWR|O_CLOEXEC) = 7 [pid 487724] ioctl(7, USBDEVFS_GET_CAPABILITIES, 0x2995b2c) = 0 [pid 487724] ioctl(7, USBDEVFS_GETDRIVER, 0x7ffef6e41570) = 0 [pid 487724] openat(AT_FDCWD, "/sys/bus/usb/devices/1-2/bConfigurationValue", O_RDONLY|O_CLOEXEC) = 8 [pid 487724] read(8, "1\n", 19) = 2 [pid 487724] close(8) = 0 [pid 487724] ioctl(7, USBDEVFS_GETDRIVER, 0x7ffef6e41560) = 0 [pid 487724] ioctl(7, USBDEVFS_IOCTL, 0x7ffef6e41550) = 0 [pid 487724] ioctl(7, USBDEVFS_SETCONFIGURATION, 0x7ffef6e4114c) = 0 [pid 487724] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=501447, tv_nsec=388954989}}, NULL) = 0 [pid 487724] ioctl(7, USBDEVFS_SUBMITURB, 0x2966ba0) = 0 [pid 487724] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLOUT}], 3, 60000) = 2 ([{fd=3, revents=POLLIN}, {fd=7, revents=POLLOUT}]) [pid 487724] read(3, "\1\0\0\0\0\0\0\0", 8) = 8 [pid 487724] ioctl(7, USBDEVFS_REAPURBNDELAY, 0x7ffef6e40cc0) = 0 [pid 487724] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 [pid 487724] ioctl(7, USBDEVFS_REAPURBNDELAY, 0x7ffef6e40cc0) = -1 EAGAIN (Resource temporarily unavailable) [pid 487724] write(2, "[Errno 32] Pipe error\n", 22[Errno 32] Pipe error ) = 22
Updated by laforge about 2 years ago
laforge wrote in #note-2:
it's not yet clear if this is simply because the CP2102N has changed the endpoint order / numbers, or if it is some kind of other incompatibility.
cp210x-program uses control endpoint transfers, so it seems that those have somehow changed between CP2102 and CP2102N.
Actions