Currently I have octoprint/octoprint:latest (as of yesterday) running in a docker container. I have the raspberry pi connected over usb cable to the USB B port on my Prusa Mk3S. I know my raspberry pi is connected to the printer and as I ran dmesg
and got the output:
New USB device found, idVendor=2c99, idProduct=0002, bcdDevice= 1.30
usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.5: Product: Original Prusa i3 MK3
usb 1-1.5: Manufacturer: Prusa Research (prusa3d.com)
cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device
but when I try to connect to it using octoprint, my only options for the serial port is auto. I tried adding /dev/ttyACM0
to the addition serial ports section but it still won't work. My only option in the serial port drop down menu on the main screen is auto. When I try to connect I get this error:
Serial port list: []
Changing monitoring state from "Detecting serial port" to "Error: Failed to autodetect serial port, please set it manually."
Failed to autodetect serial port, please set it manually.
Any suggestions would be very helpful. I can't find anything on setting this manually.
Thanks
Sounds like you're running into inherent Docker issues in terms of allowing the container access to the serial port. While not specific to your situation, see if this article at least offers some clues for you:
2 Likes
First of i took a new cable and connetet the printer and octoprintPI. I then started the printer and the octoprintPI, I then opened the occtopi on the web and in the Api ifound the key that i copied to the memory. In cura i then removed the printer and created a new one, I then in cure selectet manage printer and there I choose the new created printer and conect octoprint, I then pasted the key, After that octoprint connected to my printer.
Hope you got something out of my bad danish english
Thank you so much, I'm not sure I would have figure out that docker doesn't inherently interact with serial devices. Thank you so much for pointing this out.
No worries. As soon as I saw Docker a flag went up; it's general answer for connecting to anything (serial ports, web APIs, etc.) is "no" by default - the containers are intended to be isolated unless you specifically open access to external resources. I hope that hint allows you to get going though - or just run Octoprint on the host instead on in the container.
Volume mapping /dev:/dev and running in priviliged mode did it for me. Thank you!