Project

General

Profile

Actions

Feature #5466

open

CP2102N evaluation for burst_ind baudrate

Added by laforge about 2 years ago. Updated about 2 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
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
Actions #1

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

Actions #2

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
Actions #3

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

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)