prusa3d / Prusa-Firmware-Buddy

Firmware for the Original Prusa MINI, Original Prusa MK4 and the Original Prusa XL 3D printers by Prusa Research.
Other
1.06k stars 209 forks source link

[BUG] USB device class changed >= FW5.1(?) breaking USB connection [e.g. OctoPrint] #3981

Closed ps-igel closed 3 weeks ago

ps-igel commented 3 weeks ago

Might be related to this (https://github.com/prusa3d/Prusa-Firmware-Buddy/issues/2542) but since I am no expert in USB communication I am not really sure.

I originally started this issue but didn't want to continue it because of the new information I got.

Printer type

Original MINI

Printer firmware version

Testing 4.3.4 vs. 5.1 and 6.0.0

Original or Custom firmware

Original firmware

USB drive or USB/Octoprint

Using USB connected to a Synology NAS running docker image of OctoPrint Experimented with USB connecting to PC runnig Ubuntu 22.04.2 TLS

Describe the bug

My MINI is connected via USB to a Synology NAS that is running a docker image of OctoPrint. On Prusa firmware 4.3.4 Synology's linux is picking this up as /dev/ttyACM0 and OctoPrint is able to connected just fine. I did hundreds of prints with this setup and it works flawlessly.

When flashing to Prusa firmware above 5.1 (tested with latest version 6.0.0 also) the Synology linux is not picking up this device anymore. /dev/ttyACM0 does not get created and thus OctoPrint can't connect anymore.

I experimented with connecting the printer directly to a Ubuntu VM on my PC. Here a see a difference using lsusb -v see both files attached. I am not sure what I need to change here. Is it my setup and the Synology's linux that is not picking this device up right?

image

How to reproduce

Flash 4.3.4 USB connection and OctoPrint works. Flash anything above 5.1 USB connection is broken and OctoPrint won't work.

Expected behavior

Need to understand if changes seen in the USB connection info is to be expected with changes in code or if this is a unintended regression from previous firmware version. Or if this change causes the device to identify differently now but my setup (Synology linux) is not handling this correctly.

lsusb_6.0.0.txt lsusb_4.3.4.txt

ps-igel commented 3 weeks ago

I got it sorted out. I followed this tutorial to get the USB to be correctly identified as ttyACM06 again.