Getting urb stopped: -32 error for months, out of ideas on what to try

What is the problem?

Octoprint loses connection to the 3d printer

What did you already try to solve it?

Every thing on this list has been repeated 6 times:

  • With creality firmware running on the rasp pi(error)
  • With E3V2-2.0.x-16-3-Smith3D.M firmware running on the rasp pi(error)
  • With creality firmware running on the rasp pi and a powered usb hub(error)
  • With E3V2-2.0.x-16-3-Smith3D.M firmware running on the rasp pi and a powered usb hub (error)
  • With E3V2-2.0.x-16-3-Smith3D.M firmware running on my windows 10 pc (worked flawlessly)
  • With E3V2-2.0.x-16-3-Smith3D.M firmware running on my windows 10 pc and a powered usb hub (worked flawlessly)

I did the following tests:

  • Increased timeout and tries
  • Changing the usb port connecting the pi and the printer, tried every usb
  • Tried printing for 2 days connecting a usb cable (several times it failed and I had to powercycle the printer)
  • Tried printing for 2 days connecting a usb cable that had the 5v covered (several times it failed but I could just reconnect, no need to powercycle)
  • Tried printing for 2 days connecting a ferrite usb cable (several times it failed and I had to powercycle the printer)
  • Tried printing for 2 days connecting a ferrite usb cable that had the 5v covered (several times it failed and I had to powercycle the printer)
  • Same four points above but adding a powered usb hub in the middle, same results
  • Run a firmware update and moved boot of the pi to an usb drive
  • Reinstalled octopi and repeated the tests
  • Same four points above but adding a powered usb hub in the middle, same results

Tried also running octoprint from my windows 10 pc and I faced no issues after 7 days of printing, 3 with an usb cable and 4 with the ferrite one.

Also, when I list times I do not mean continous printing but several prints ranging for 30 min to 8 hours.

Have you tried running in safe mode?

Yes, tried every test in safe and normal mode

Did running in safe mode solve the problem?

No

Systeminfo Bundle

Only last system info bundle, also had to delete part of the serial log because of size restrictions but left the last day of tests.
octoprint-systeminfo-20210614214948.zip (1.0 MB)

Additional information about your setup

Device:
Raspberry 4 B 4 GB Rev 1.2

OS:
Raspberry Pi OS with desktop and recommended software
Release date: May 7th 2021
Kernel version: 5.10

Also tried under Octopi 0.18

Version:
Octoprint Version 1.6.1

Browser:
Firefox

Printer:
Ender 3 v2 under Marlin E3V2-2.0.x-16-3-Smith3D.M (Jan 12 2021 23:37:19)

Also tried creality firmware with same results

USB hub:
TP-Link UH700

Extra notes

I have been trying to fix this error (ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32) now for several months and I have run out of ideas. Unfortunatly I do not have any other pi to try that but I have tried connecting several usb devices, a cnc router, usb drives, a webcam and I have faced no issues so I doubt is an usb port thing.

It also shows the connection error and keeps trying to connect and fail but I can inmidiatly recconect once it timesout with no issues but as it has stopped it ruins the print.

Heyho :slight_smile:

First of all big thumbs up for your post :+1:
We don't see such a thoroughly written post everyday :octopus:

One thing I would try first is to print without an SD card inserted into your printer.
Some users had SD card related problems with some of the Creality 32 bit boards.
Sometimes an SD card had to be inserted to make it work via USB connection, in other cases it only worked without it.

You wrote that it worked with your Windows 10 pc without any issues.
Was the printer at the same location when you tried it with the pc or is your pc in another room?

Is the cable always routed the same way when it is connected to the Pi?
For example next to a stepper motor, or the power supply or something similar.

1 Like

I did not think of that, I will try without an sd card and report back when I finish testing it. Quick question tho, as settings are stored on the sd, do you mean to start the printer with it and then remove the card or starting the printer without the card?

Yes, I usually print on another room but as I was having problems I moved the printer to where I have my pc and did all the tests there.

The printer and pc are in front of one another and the raspberry is on the side and to the front (space limitations, quite uncomfortable setup). So no, is as far from steppers and the power supply as it can be

Thanks for your time

leave the SD card out of the printer and print from octoprint.

1 Like

So, I have tried to run the printer without the sd card, still got the error quite often, sadly had an issue with the rasp pi and lost the log.

Then tried updating the firmware, when for Jyers Firmware as the one I used is not getting updated anymore. First tries it failed but after removing the blocking of the v5 port it has not failed in the last 4 hours.

Something interesting, seems this firmware gives a bit more of info? so I got some more error messages that may help

Syslog:

Jun 16 12:48:39 octopi octoprint[374]: 2021-06-16 12:48:39,408 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Starting"
Jun 16 12:48:39 octopi octoprint[374]: 2021-06-16 12:48:39,414 - octoprint.printer.standard.job - INFO - Print job started - origin: local, path: tippy_tree/tiny/2h_30_tree_tiny_TT.gcode, owner: signum$Jun 16 12:48:39 octopi octoprint[374]: 2021-06-16 12:48:39,438 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
Jun 16 12:48:39 octopi octoprint[374]: 2021-06-16 12:48:39,447 - octoprint.util.comm - INFO - Changing monitoring state from "Starting" to "Printing"
Jun 16 12:48:39 octopi octoprint[374]: 2021-06-16 12:48:39,483 - octoprint.plugins.action_command_notification - INFO - Got a notification: Bed Cooling...
Jun 16 12:48:47 octopi octoprint[374]: 2021-06-16 12:48:47,488 - octoprint.util.comm - INFO - Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly
Jun 16 12:48:52 octopi octoprint[374]: 2021-06-16 12:48:52,814 - octoprint.plugins.action_command_notification - INFO - Got a notification: Printing...
Jun 16 12:48:52 octopi octoprint[374]: 2021-06-16 12:48:52,820 - octoprint.util.comm - INFO - Telling the printer to set the busy interval to our "communicationBusy" timeout - 1s = 8s
Jun 16 12:49:06 octopi octoprint[374]: 2021-06-16 12:49:06,187 - octoprint.plugins.action_command_notification - INFO - Got a notification: Printing...
Jun 16 12:49:49 octopi kernel: [ 4120.711560] ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
Jun 16 12:56:55 octopi octoprint[374]: 2021-06-16 12:56:55,142 - octoprint.server.heartbeat - INFO - Server heartbeat <3
Jun 16 13:02:57 octopi kernel: [ 4908.405858] ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
Jun 16 13:02:57 octopi kernel: [ 4908.479020] usb 1-1.3: USB disconnect, device number 9
Jun 16 13:02:57 octopi kernel: [ 4908.479653] usb 1-1.3: failed to send control message: -19
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,303 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Jun 16 13:02:57 octopi octoprint[374]: Traceback (most recent call last):
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 3860, in _readline
Jun 16 13:02:57 octopi octoprint[374]:     ret = self._serial.readline()
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 6488, in readline
Jun 16 13:02:57 octopi octoprint[374]:     c = self.read(1)
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 596, in read
Jun 16 13:02:57 octopi octoprint[374]:     'device reports readiness to read but returned no data '
Jun 16 13:02:57 octopi octoprint[374]: serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
Jun 16 13:02:57 octopi kernel: [ 4908.484626] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
Jun 16 13:02:57 octopi kernel: [ 4908.484706] ch341 1-1.3:1.0: device disconnected
Jun 16 13:02:57 octopi kernel: [ 4908.479653] usb 1-1.3: failed to send control message: -19
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,303 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Jun 16 13:02:57 octopi octoprint[374]: Traceback (most recent call last):
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 3860, in _readline
Jun 16 13:02:57 octopi octoprint[374]:     ret = self._serial.readline()
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 6488, in readline
Jun 16 13:02:57 octopi octoprint[374]:     c = self.read(1)
Jun 16 13:02:57 octopi octoprint[374]:   File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 596, in read
Jun 16 13:02:57 octopi octoprint[374]:     'device reports readiness to read but returned no data '
Jun 16 13:02:57 octopi octoprint[374]: serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
Jun 16 13:02:57 octopi kernel: [ 4908.484626] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
Jun 16 13:02:57 octopi kernel: [ 4908.484706] ch341 1-1.3:1.0: device disconnected
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,306 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,332 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Offline after error"
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,345 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
Jun 16 13:02:57 octopi kernel: [ 4908.780883] usb 1-1.3: new full-speed USB device number 10 using xhci_hcd
Jun 16 13:02:57 octopi kernel: [ 4908.927053] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
Jun 16 13:02:57 octopi kernel: [ 4908.927062] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Jun 16 13:02:57 octopi kernel: [ 4908.927069] usb 1-1.3: Product: USB Serial
Jun 16 13:02:57 octopi kernel: [ 4908.931682] ch341 1-1.3:1.0: ch341-uart converter detected
Jun 16 13:02:57 octopi kernel: [ 4908.937050] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
Jun 16 13:02:57 octopi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Jun 16 13:02:57 octopi mtp-probe: bus: 1, device: 10 was not an MTP device
Jun 16 13:02:57 octopi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Jun 16 13:02:57 octopi mtp-probe: bus: 1, device: 10 was not an MTP device
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,332 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Offline after error"
Jun 16 13:02:57 octopi octoprint[374]: 2021-06-16 13:02:57,345 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
Jun 16 13:02:57 octopi kernel: [ 4908.780883] usb 1-1.3: new full-speed USB device number 10 using xhci_hcd
Jun 16 13:02:57 octopi kernel: [ 4908.927053] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
Jun 16 13:02:57 octopi kernel: [ 4908.927062] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Jun 16 13:02:57 octopi kernel: [ 4908.927069] usb 1-1.3: Product: USB Serial
Jun 16 13:02:57 octopi kernel: [ 4908.931682] ch341 1-1.3:1.0: ch341-uart converter detected
Jun 16 13:02:57 octopi kernel: [ 4908.937050] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
Jun 16 13:02:57 octopi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Jun 16 13:02:57 octopi mtp-probe: bus: 1, device: 10 was not an MTP device
Jun 16 13:02:57 octopi mtp-probe: checking bus 1, device 10: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3"
Jun 16 13:02:57 octopi mtp-probe: bus: 1, device: 10 was not an MTP device

When I let it connect the 5v I also connected it to the usb hub, for now I am gonna leave it as is til it fails or 2-3 days and then try blocking the 5v.

Heyho :slight_smile:

I'm sorry to hear that the sd card trick didn't help.

I know that there is an option to store settings on the sd card but I never used it.
I guess in that case you would boot the printer and remove the sd card afterwards - but tbh I don't know if that could cause firmware problems.

I got some other ideas for you. Since it worked in another room it could be something in the room where it doesn't work.
For example a fridge, an ac, an electric motor or even fluorescent lights.
I had a similar experience with my old stock 8 bit Ender 3 pro board.
Every time I turned the fluorescent lights in the room off the connection disconnected.

The error message you got there tells us that there wasn't just a simple transmission error.
The whole usb connection was interrupted.
But unfortunately it doesn't tells us why :confused:

1 Like

Sorry I didn't explain myself well, I usually print on another room but did the tests all in the same room, including windows 10. Yeah, its weird because there is no resend or anything, it just dies but only the connection to the printer dies, any other usb connections remain.

I did try another software that allows automatic reconnect and caught the printer going crazy. It did stop while keeping the temperature of the nozzle and bed (as always with this error) then reconnected, moved the nozzle to the next gcode position. Stopped again and repeated the same another 5-6 times til I basically just shut it down. It didn't extrude, just kept jumping arround the print.

for now I have been printing with cable (5v not blocked) -> usb hub ->rasp pi and seems to be working but as the times when this fails are pretty random I will continue testing like this

Update:
So far so good, have moved to test it with the 5v pin on the usb covered before closing.

There are 3 important points I think, first the firmware change, second connecting to the usb hub instead of the raspberry pi and third I connected a webcam even if I have it disabled in octoprint because octoprint kept complaining on the syslog about it

1 Like

If you want to disable the webcam stream, sudo systemctl disable webcamd.service will do it for you, if you need to keep a clean syslog. Well, plugging in a webcam works as well but you don't need it!

1 Like

Thanks! Will take it into account

So, I tried blocking the 5v pin and surprise surprise it starts failing again, went and checked it was correctly covered and again it fails. I find this weird as everything I have read implies it should work better by covering the 5v. So the only combination so far is runing the usb cable throught a powered hub and with the new firmware.

I can confirm that blocking the 5v pin is making the error happen in my current setup. I have no idea of why but the only downside is having to disconnect the usb every time so the printer shuts down, I will leave it like this for now but may pick it up in the future to figure out how to stop that from happening too.

To sumarize, firmware upgrade to jyers, connecting 0.5m ferrite usb cable from the printer to a powered usb hub that is connected to the raspberry did the trick.

you can also disable the usb port with this tool

1 Like

Thanks for giving attention keep supporting njmcdirect

1 Like