Disapearing pl2303 usb serial adapter on rpi2

Jukka A. Ukkonen jau789 at gmail.com
Wed Dec 20 19:13:18 UTC 2017


On 12/20/17 19:02, bob prohaska wrote:
> On an RPI2 at r326951 a pl2303 usb-serial adapter seems to be locking up
> after a few hours. In the past this could be rectified by using usbconfig
> to power cycle it, but now even that doesn't work. Apart from the serial
> device file vanishing from /dev there seems to be no other ill effect.
> Rebooting fixes the problem for minutes to hours.
> 
> There is no explict error report in dmesg, but when usbconfig tries to power
> cycle the adapter the console reports:
> 
> uhub_explore_handle_re_enumerate: Could not unconfigure device (ignored)
> usbd_req_re_enumerate: addr=9, set address failed! (USB_ERR_IOERROR, ignored)
> usbd_setup_device_desc: getting device descriptor at addr 9 failed, USB_ERR_IOERROR
> usbd_req_re_enumerate: addr=9, set address failed! (USB_ERR_STALLED, ignored)
> usbd_setup_device_desc: getting device descriptor at addr 9 failed, USB_ERR_STALLED
> 
> 
> A second RPI2 running r326747 is subject to the same lockup, but the adapter
> can be unstuck using usbconfig to power cycle it.
> 
> 
> Are there any diagnostics which could shed more light on the problem?
> 
> Thanks for reading,
> 
> bob prohaska
> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> 



I have tried some ch341 based USB<->RS232 adapter cables which cause
a similar problem when connected to any normal USB. Apparently what
happens is that the voltage pump and the fanout needed to drive the
RS232 draw so much current that it exceed the standard USB power
output capacity, the poor ch341 becomes starved, crashes, and reboots.
As a result it disappears from the USB channel for a while and then
reappears again. The pl2303 based adapter cables which I have tried
seem to behave just fine, though. Then again, I have not tested them
with RPI.
It is quite possible that larger systems can easily drive the 500 mA
required by the original USB spec. I would not bet my money on the
RPI doing the same thing all effortlessly. ;-)

So, my guess is that the poor RPI is unable to drive enough power
to your pl2303. Esp. when there are multiple USB devices draining
power you will eventually exceed the RPI's power output capacity.
As a result you will see a magically vanishing and reappearing USB
device.
Try connecting your USB gizmos through a USB hub which is equipped
with a separate power unit. Typically the power units feeding RPIs
are rated around 1A. You only need two USB devices consuming the
whole allowed 500 mA to exceed that 1A. Then something is going to
fail, either the RPI itself or one of the USB devices.

--jau




More information about the freebsd-arm mailing list