Failed to auto detect serial port (Qidi X-pro)

If you already have cables attached to the printer that solution is probably preferable to my workaround. There are no firmware changes needed.

For my solution I suggest that you try locate where the error is. The error is has probably nothing to do with braudrate setting, just that you are unable to connect. There are two general areas that might give you trouble, the setup on your RPi or your network.
There are a few simple things I could suggest you make sure is OK:
*The printer is powered on
*The printer and RPi is connected to your network

*You need to modify the last command before you send it. Make sure you understand the explanation in notes when you modify.
*You only need to install socat once. But the two others need to be runned every time you restart the RPi. (Once you get this working I would suggest you automate it)
*The terminals running the commands are active. Use two separate terminal windows sending the commands in correct order.
*The ports showing up in octoprint should be the same as the ones you recieve from the terminal.

*RPi and printer on same LAN.
*Try from same access point as RPi with a computer to use Qidi print and send print remotely

So i have confirmed that the pi and the printer are both on the same network through the same access point. Printer is powered on and qidi print is seeing it on that network and it is ready to print. Just to confirm you are successfully communicating with a qidi tech X-Max printer correct? I've just seen a lot of mixed reviews on qidi xmax ability to work with octoprint. Don't want to be waisting your time or mine.

It does work on X-max.
If you follow how I do it, it should work.

1 Like

So I did click for click what you did still to no luck. what version of firmware are you running for octiprint and for the xmax? wondering if I have a newer or older version. Although now connection is just timing out when trying to connect.

I think the firmware is the same on our printers. Mine is V4.2.9. I don't think it would matter as long as you are able to print remotely. Since the slicer provided by Qidi would likely send commands the same way.
Maybe try if you are able to reach the printer IP-addr from RPi? If 'Destination Host Unreachable' then that is your problem, if not I do not know. (In terminal: 'ping your.printer.ip.addr')

so I ended up connecting them both directly to a switch and now its working also I am running an older firmware is what mine is at which is odd as I just got it last week. Qidi also doesn't have any firmware on there website either. But its working via either net to switch. Thanks for all the help I appriacte it!

1 Like

I know this is an older post but seems to keep updating every now and then as many people like me used to to figure out how to hookup Octopi to my Qidi X-Pro. I wanted to chime in with a simple one that may help others. Above there are multiple references to using a CP2102 USB UART but that is not your only option. I work a lot with Arduino's and have several flavors of USB to FTDI breakout board programmers. Those work just fine too and perform a similar job just through a different chipset. The FTDI adapters are much more common and plentiful especially if your in a hurry for the next day Amazon order. In fact if your not planning on installing the Octopi server under the printer save yourself some bulk and order a FTDI USB adapter with the wires built in. It'll save you a little bulk plugged into the pi and you won't have to worry about a DuPont cable falling off.

This worked for me and my QIDI X-MAX- I got a firmware error in octoprint but after following the links I installed the plugin "Fix CBD Firmware Plugin (0.3.0)" and it worked right away. (after a reboot)

For a little while I was confused about how it all connected. So for those who follow behind, plug your raspi and qidi printer into the same network switch via ethernet (I have read various things about wifi issues to steer clear of that)
Set your network switch / router to assign fixed IP to both the raspi and Qidi Printer in DHCP reservation.

Then run the commands lulukul outlines above.

However -
I am stuck with the automation of steps 2 and 3 though.
I have tried using cron (sudo nano crontab -e) to run those commands but it doesn't seem happy.
Each time it boots the port numbers increase. And the previous ones are no longer working.

In crontab I added this;

@reboot socat -d -d pty,raw,echo=0 pty,raw,echo=0
@reboot socat -v udp4-datagram: open:/dev/pts/2,raw,nonblock,waitlock=/tmp/s0.locak,echo=0,b115200,crnl

But it doesn't really work. Any tips on the best way to automate this step?

I am not sure of the best way to automate. But I think using sudo nano crontab -e would just create a regular textfile. When I automated it I ran the command crontab -e. and it looks like this:
Notice I put some delays. Not sure that is necessary but the first command must come before the second.