Notifications
Clear all

[Solved] Code 10 Error with ESP32

23 Posts
5 Users
5 Likes
518 Views
MadMisha
(@madmisha)
Reputable Member
Joined: 3 years ago
Posts: 346
Topic starter  

@davee 

Thanks for the info, you found some great sources that did not come up in my search. I will break out my laptop to try again.

 

I did try it on my desktop and had no problem. The ESP32 that I am using is fresh out of the antistatic bag with no wires connected. I also used a known good one from an older project and got the same results. Both worked on my desktop.

I purchased my motherboard on my desktop partly because it has a ton of USB on the back so I do not need a hub. Since I do not have a hub, would it be safe to cut a USB cable and only reconnect the data pins and power it from a different source? I might end up having to buy a hub anyways, but I would like to have a test to find out for sure before I do. This would be my only use for it. I do have one of those USB testers that displays the power(volts and amps). I will have to remember where I put it.

 

Some troubleshooting items that I did that I forgot to include above:

  • Swapped USB Ports (I tried them all)
  • Disabled antivirus and window defender (temporarily)
  • Confirmed the VID/PID were registering as the default, they were. That might also be important since it did return that information from the ESP32.
  • Checked the USB driver install log and it had the correct VID/PID and nothing else looked out of place.
  • I used multiple cables. The same cables worked on my desktop.
  • Restarting with and without the ESP32 plugged in.

I should also note that the laptop is Windows 10 home and my Desktop that it worked on is Windows 10 Pro.


   
DaveE reacted
ReplyQuote
MadMisha
(@madmisha)
Reputable Member
Joined: 3 years ago
Posts: 346
Topic starter  

@davee 

I think your right about the power. I installed the USBView and found this.

 

[Port8]  :  Silicon Labs CP210x USB to UART Bridge


Is Port User Connectable:         yes
Is Port Debug Capable:            no
Companion Port Number:            24
Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&2b5667ed&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
 USB 1.1:                         yes
 USB 2.0:                         yes
 USB 3.0:                         no

       ---===>Device Information<===---
String Descriptor for index 2 not available while device is in low power state.

ConnectionStatus:                  
Current Config Value:              0x01  -> Device Bus Speed: Full (is not SuperSpeed or higher capable)
Device Address:                    0x06
Open Pipes:                           2

          ===>Device Descriptor<===
bLength:                           0x12
bDescriptorType:                   0x01
bcdUSB:                          0x0110
bDeviceClass:                      0x00  -> This is an Interface Class Defined Device
bDeviceSubClass:                   0x00
bDeviceProtocol:                   0x00
bMaxPacketSize0:                   0x40 = (64) Bytes
idVendor:                        0x10C4 = Silicon Laboratories, Inc.
idProduct:                       0xEA60
bcdDevice:                       0x0100
iManufacturer:                     0x01
String Descriptor for index 1 not available while device is in low power state.
iProduct:                          0x02
String Descriptor for index 2 not available while device is in low power state.
iSerialNumber:                     0x03
String Descriptor for index 3 not available while device is in low power state.
bNumConfigurations:                0x01

          ---===>Open Pipes<===---

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1
bmAttributes:                      0x02  -> Bulk Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x00

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x01  -> Direction: OUT - EndpointID: 1
bmAttributes:                      0x02  -> Bulk Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x00

       ---===>Full Configuration Descriptor<===---

          ===>Configuration Descriptor<===
bLength:                           0x09
bDescriptorType:                   0x02
wTotalLength:                    0x0020  -> Validated
bNumInterfaces:                    0x01
bConfigurationValue:               0x01
iConfiguration:                    0x00
bmAttributes:                      0x80  -> Bus Powered
MaxPower:                          0x32 = 100 mA

          ===>Interface Descriptor<===
bLength:                           0x09
bDescriptorType:                   0x04
bInterfaceNumber:                  0x00
bAlternateSetting:                 0x00
bNumEndpoints:                     0x02
bInterfaceClass:                   0xFF  -> Interface Class Unknown to USBView
bInterfaceSubClass:                0x00
bInterfaceProtocol:                0x00
iInterface:                        0x02
String Descriptor for index 2 not available while device is in low power state.

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1
bmAttributes:                      0x02  -> Bulk Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x00

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x01  -> Direction: OUT - EndpointID: 1
bmAttributes:                      0x02  -> Bulk Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x00

Unavailable in low power state! I will check my bios to see if there is anything in there, but I think I might just need a hub.


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 3462
 

@madmisha Or find out why it is in or thinks it's in low power state. It's been a while since I messed with windows but I think I remember that at least 2 maybe more USB ports share a common controller. If all your connection attempts have been through the one controller then I would be very highly suspicious that is the cause.

"Don't tell people how to do things. Tell them what to do and let them surprise you with their results.” - G.S. Patton, Gen. USA
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon


   
ReplyQuote
MadMisha
(@madmisha)
Reputable Member
Joined: 3 years ago
Posts: 346
Topic starter  

@zander 

There are 2 controllers. None of the ports are working. After experimenting today, I noticed that one of the ports on the opposite side than I normally use gets a different error. I believe it's because the driver is not installed for that one, after uninstalling it so many time. But I am looking into it now.


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 3462
 

@madmisha I realize you have probably done htis, but have you tried a SAFE boot?

"Don't tell people how to do things. Tell them what to do and let them surprise you with their results.” - G.S. Patton, Gen. USA
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon


   
ReplyQuote
frogandtoad
(@frogandtoad)
Noble Member
Joined: 3 years ago
Posts: 1484
 

@zander

Posted by: @zander

@madmisha I realize you have probably done htis, but have you tried a SAFE boot?

This sound's like a driver problem to me.  I have sometimes in the past just deleted the ports entirely (some are hidden, so you have to enable to see them), and then let windows pick them back up on reboot, giving you the opportunity to manually select a driver.


   
ReplyQuote
DaveE
(@davee)
Prominent Member
Joined: 2 years ago
Posts: 714
 

Hi @madmisha et al,

  As you say, it appears to have 'forgotten' to 'uprate' the USB output from the 'initial' 100mA default ....

I confess, I haven't totally understood this part of USB mythology ... it is confusing in that clearly 'USB power supplies' often appear to have nothing more than 'safety' fuse of 500mA or more, often based on PTC device.

I am vaguely aware the 'full' standard 'recommends' the port to start at a low current limit (e.g. 100mA), and it is up to the load to request more if it needs it, say up to 500mA with the 'older' USB standards. Exactly how this is implemented is less clear, but I have recollections of it being based on the value of a resistor connected between two of the pins, suggesting this may be part of the hardware implementation, rather than buried deep in software driver land.

As I said, the above paragraph may be full of junk, but I am not presently in a position to spend time looking it up, so please take with many pinches of salt, but maybe it gives a clue as to what to look for.

Good luck.

Dave


   
ReplyQuote
MadMisha
(@madmisha)
Reputable Member
Joined: 3 years ago
Posts: 346
Topic starter  

I couldn't find anything in my bios, setting wise. I might update the bios. I don't usually do that unless it's really needed.

 

I got a USB hub. It works and I have the com port showing up now, but in USB View, it looks almost the same except for some of the hex addresses are changed, as expected. It still says cannot read in low power state.

 

Thanks @davee , @zander and @ronbentley1

You guys really helped me work through the problem. I will have to do more research as to the low power setting on it. I will have to install the USB View on my desktop to see what it look like there.


   
ron bentley, DaveE and Ron reacted
ReplyQuote
Page 2 / 2