I am trying to connect ESP-Prog to Raspberry Pi Model 3B. The Pi is back-powered by 5V power supply connected to the hat on the Pi. By default, serial port /dev/ttyUSB1 is connected for Espressif device and I am able to program using serial bootloader. At times, there seems to be flow control error happening and either no serial port is recognized or suddenly it displays another serial port(other than the one which has been used from the beginning of the program).

On looking at the dmesg logs, I see the below error:

[  847.976410] ftdi_sio ttyUSB1: error from flowcontrol urb
[  847.976630] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
[  847.976678] ftdi_sio 1-1.5:1.1: device disconnected
[  848.933836] usb 1-1.5: new high-speed USB device number 35 using dwc_otg
[  849.064285] usb 1-1.5: device descriptor read/all, error -71
[  849.383831] usb 1-1.5: new high-speed USB device number 36 using dwc_otg
[  849.514646] usb 1-1.5: New USB device found, idVendor=0403, idProduct=6010, bcdD

Wondering if anyone else has encountered similar issue. If so, how did you fix/ work-around?

  • Verify that you are using the same serial settings on both ends of the serial port (parity, data bits, stop bits, and flow control).
    – HiredMind
    Jul 30 '20 at 14:06

First thing to try is separately powering the Pi, using a recommended supply to make sure it's getting enough. Then do some research on the vendor/device id and dwc_otg.



This seems to be a very old problem for which there is no proper solution, only workarounds.

One workaround consists in avoiding framing errors on the serial line. Make sure the RX line has a solid connection, if you hot-plug devices into it, use pull-ups to guarantee a defined level. Avoid switch baudrates, try using the same baudrate for the bootloader and the normal operation if possible. Using a lower baudrate could also help.

Another workaround consists in limiting the USB driver to USB 1.1. If you don't have any other USB2 devices connected, adding dwc_otg.speed=1 to cmdline.txt is reported to help, though it may not be useful on recent kernels. Otherwise, adding a USB1 hub in the way (e.g. this) may do the job.

Finally, make sure you didn't get a counterfeit FTDI chip. If you grabbed the cheapest adapter from a Chinese web store, it may simply not work as advertised.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.