Octoprint & Tronxy x5sa Pro

does anyone know if Octoprint works with the Tronxy x5sa Pro.

Hello @Newtothegame!

You may find this helpful: TronXY X5Sa Pro connects but skips gcode

Hello together,
Maybe this topic is already a bit dusty, but I would like to warm it up again.
I am trying to connect my Tronxy X5Sa-400-2E to Octoprint via USB. I have here again and again the problem that with Octoprint responds, the device does not respond. I wrote to the support of the device and received the answer, A Raspberry Pi on the USB port is not supported.
They let it be known that they would like to open source the firmware in the future, and also solve the problem with Octoprint. But currently I can say after 3 days of trial and error, it just does not work. Some control commands are received, but a lot of them are not. Is quasi just like 50/50.

Hello @redflag237 !

You may try this:

Unfortunately not. This is the serial.log

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0xac9b03d0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=30.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Repl: M110 N0 -> M110
Send: N0 M110*35
Changing monitoring state from "Connecting" to "Operational"
Recv: ok
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 2.0.9.2 (Jan 19 2022 17:35:28) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:TRONXY_F446 EXTRUDER_COUNT:2 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_POS:0
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:RUNOUT:1
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:1
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:HOST_ACTION_COMMANDS:0

---------------------------------------------------------------------------
Your printer's firmware supports host action commands, but they are
disabled. The firmware will not inform OctoPrint about job pause &
cancellations, filament runouts, and similar firmware-side events. If you
want this functionality, you need to change your firmware's configuration.

Learn more at https://faq.octoprint.org/warning-firmware-hostcommands
---------------------------------------------------------------------------


Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:SDCARD:1
Recv: Cap:REPEAT:0
Recv: Cap:SD_WRITE:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:LONG_FILENAME:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:ARCS:1
Recv: Cap:BABYSTEPPING:1
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: Cap:COOLER_TEMPERATURE:0
Recv: Cap:MEATPACK:0
Recv: ok
Send: M21
Recv: echo:SD card ok
Recv: ok
Send: M20
Recv: Begin file list
Recv: X5SA-4~1.0/TRAFFI~1.GCO 6852581
Recv: X5SA-4~1.0/400/DORAEM~1.GCO 35134384
Recv: X5SA-4~1.0/400/OWL-40~1.GCO 22896170
Recv: X5SA-4~1.0/400/SQUARE~1.GCO 2867099
Recv: CFFFP_~1.GCO 56257734
Recv: CFFFP_~2.GCO 3204711
Recv: CF4621~1.GCO 878305
Recv: CFFFP_~3.GCO 3416001
Recv: End file list
Recv: ok
Send: M155 S2
Recv: ok
Recv:  B@:0
Send: M104 S100
Unexpected error while reading serial port, please consult octoprint.log for details: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:3997
Please see https://faq.octoprint.org/serialerror for possible reasons of this.
Changing monitoring state from "Operational" to "Offline after error"
Connection closed, closing down monitor

The printer did see the heat-hotend command and did so. But no response in USB, what makes Octoprint to disconnect.

Alos the response of the M155 looks quite uncommon:

Send: M155 S2
Recv: ok
Recv:  B@:0

You may try without the SD card in the printer's SD card slot.
This is usually a Creality issue, but who knows...

This is the serial.log without SD card

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Offline"
Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Offline"
Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0xae5cc590, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=30.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Repl: M110 N0 -> M110
Send: N0 M110*35
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Changing monitoring state from "Connecting" to "Operational"
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 2.0.9.2 (Jan 19 2022 17:35:28) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:TRONXY_F446 EXTRUDER_COUNT:2 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_POS:0
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:RUNOUT:1
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:1
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:HOST_ACTION_COMMANDS:0

---------------------------------------------------------------------------
Your printer's firmware supports host action commands, but they are
disabled. The firmware will not inform OctoPrint about job pause &
cancellations, filament runouts, and similar firmware-side events. If you
want this functionality, you need to change your firmware's configuration.

Learn more at https://faq.octoprint.org/warning-firmware-hostcommands
---------------------------------------------------------------------------


Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:SDCARD:1
Recv: Cap:REPEAT:0
Recv: Cap:SD_WRITE:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:LONG_FILENAME:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:ARCS:1
Recv: Cap:BABYSTEPPING:1
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: Cap:COOLER_TEMPERATURE:0
Recv: Cap:MEATPACK:0
Recv: ok
Send: M21
Recv: echo:No SD card
Recv: ok
Send: M20
Recv: echo:No media
Recv: ok
Send: M155 S2
Recv: ok
Send: M104 S100
Unexpected error while reading serial port, please consult octoprint.log for details: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:3997
Please see https://faq.octoprint.org/serialerror for possible reasons of this.
Changing monitoring state from "Operational" to "Offline after error"
Connection closed, closing down monitor

Things that i'd like to try later:

  • Replace rPi4B by rPi3B+

Things i already tried:

  • Replace USB Cable in use
  • Update to latest available Firmware Version.
  • Setting Auto Firmware Detection on and off

I forgot to mention, after this disconnect event, the serial interface cannot be selected in octoprint for a while. It comes back later.

I asked dmesg for events and found out:

[  607.252468] usb 1-1.3: Product: USB Serial
[  607.257182] ch341 1-1.3:1.0: ch341-uart converter detected
[  607.262607] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
[  670.566301] usb 1-1.3: USB disconnect, device number 15
[  670.567177] ch341-uart ttyUSB0: ch341-uart converter now disconnected from tt                                                                     yUSB0
[  670.567302] ch341 1-1.3:1.0: device disconnected
[  670.867746] usb 1-1.3: new full-speed USB device number 16 using xhci_hcd
[  671.003928] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, b                                                                     cdDevice= 2.64
[  671.003950] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber                                                                     =0
[  671.003968] usb 1-1.3: Product: USB Serial
[  671.008688] ch341 1-1.3:1.0: ch341-uart converter detected
[  671.014110] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
[  675.430884] usb 1-1.3: USB disconnect, device number 16
[  675.431266] ch341-uart ttyUSB0: ch341-uart converter now disconnected from tt                                                                     yUSB0
[  675.431316] ch341 1-1.3:1.0: device disconnected
[  675.738765] usb 1-1.3: new full-speed USB device number 17 using xhci_hcd
[  675.875059] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, b                                                                     cdDevice= 2.64
[  675.875081] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber                                                                     =0
[  675.875099] usb 1-1.3: Product: USB Serial
[  675.879809] ch341 1-1.3:1.0: ch341-uart converter detected
[  675.885263] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
[  693.097739] usb 1-1.3: USB disconnect, device number 17
[  693.098626] ch341-uart ttyUSB0: ch341-uart converter now disconnected from tt                                                                     yUSB0
[  693.098752] ch341 1-1.3:1.0: device disconnected
[  693.402229] usb 1-1.3: new full-speed USB device number 18 using xhci_hcd
[  693.548258] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, b                                                                     cdDevice= 2.64
[  693.548267] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber                                                                     =0
[  693.548275] usb 1-1.3: Product: USB Serial
[  693.550861] ch341 1-1.3:1.0: ch341-uart converter detected
[  693.558354] usb 1-1.3: ch341-uart converter now attached to ttyUSB0

Sounds like i get the serial controller to reset itself. Any idea on that?

And here comes the serial.log just after replacing Respberry Pi 4B with Pi3B+.

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0x6d99e230, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=30.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Repl: M110 N0 -> M110
Send: N0 M110*35
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Changing monitoring state from "Connecting" to "Operational"
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 2.0.9.2 (Jan 19 2022 17:35:28) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:TRONXY_F446 EXTRUDER_COUNT:2 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_POS:0
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:RUNOUT:1
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:1
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:HOST_ACTION_COMMANDS:0

---------------------------------------------------------------------------
Your printer's firmware supports host action commands, but they are
disabled. The firmware will not inform OctoPrint about job pause &
cancellations, filament runouts, and similar firmware-side events. If you
want this functionality, you need to change your firmware's configuration.

Learn more at https://faq.octoprint.org/warning-firmware-hostcommands
---------------------------------------------------------------------------


Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:SDCARD:1
Recv: Cap:REPEAT:0
Recv: Cap:SD_WRITE:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:LONG_FILENAME:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:ARCS:1
Recv: Cap:BABYSTEPPING:1
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: Cap:COOLER_TEMPERATURE:0
Recv: Cap:MEATPACK:0
Recv: ok
Send: M21
Recv: echo:No SD card
Recv: ok
Send: M20
Recv: echo:No media
Recv: ok
Send: M155 S2
Recv: ok
Unexpected error while reading serial port, please consult octoprint.log for details: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:3997
Please see https://faq.octoprint.org/serialerror for possible reasons of this.
Changing monitoring state from "Operational" to "Offline after error"
Connection closed, closing down monitor

Same error. dmesg shows disconnect and reconnect of USB-UART Device:

[  510.379448] ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
[  510.379555] ch341-uart ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
[  521.743290] usb 1-1.3: USB disconnect, device number 13
[  521.743771] usb 1-1.3: failed to send control message: -19
[  521.744641] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  521.744736] ch341 1-1.3:1.0: device disconnected

Did you use original Tronxy firmware or a 3rd party one?

Here an alternative:

Well, today i asked the tronxy Support if they can recommend replacing their stock Firmware. They told no. But i think i should give it a try. As the stock Firmware seems to be the origin of this problem. I'll report tomorrow if it works. Thank you so far :slight_smile:

1 Like

After a little back and forth, I received a new firmware from Tronxy support today. They told me that they had tested it and that Octoprint would now work with it. I'll report back tonight, as there's another print in progress.

1 Like

Here we are back again.
Printer is updated to a new Custom Version from Tronxy. Issue is still the same.

Changing monitoring state from "Offline" to "Detecting serial connection"
Performing autodetection with 1 port/baudrate candidates: /dev/ttyUSB0@115200
Trying port /dev/ttyUSB0, baudrate 115200
Connecting to port /dev/ttyUSB0, baudrate 115200
Handshake attempt #1 with timeout 2.0s
Connected to: Serial<id=0xb24cd4f0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=2.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: echo:Unknown command: ""
Recv: ok
Changing monitoring state from "Detecting serial connection" to "Operational"
Repl: M110 N0 -> M110
Send: N0 M110*35
Recv: ok
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 2.0.9.2 (Jun 10 2022 19:38:18) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:TRONXY_F446 EXTRUDER_COUNT:2 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_POS:0
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:RUNOUT:1
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:1
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:HOST_ACTION_COMMANDS:0
Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:SDCARD:1
Recv: Cap:REPEAT:0
Recv: Cap:SD_WRITE:1
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:LONG_FILENAME:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:ARCS:1
Recv: Cap:BABYSTEPPING:1
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: Cap:COOLER_TEMPERATURE:0
Recv: Cap:MEATPACK:0
Recv: ok
Send: M21
Recv: echo:SD card ok
Recv: ok
Send: M155 S2
Recv: ok
Send: M20
Recv: Begin file list
Recv: X5SA-4~1.0/TRAFFI~1.GCO 6852581
Recv: X5SA-4~1.0/400/DORAEM~1.GCO 35134384
Recv: X5SA-4~1.0/400/OWL-40~1.GCO 22896170
Recv: X5SA-4~1.0/400/SQUARE~1.GCO 2867099
Recv: CFFFP_~1.GCO 56257734
Recv: CFFFP_~2.GCO 3204711
Recv: CF4621~1.GCO 878305
Recv: CFFFP_~3.GCO 3416001
Recv: CFFFP_~4.GCO 882191
Recv: CFF670~1.GCO 5790831
Recv: CF79BA~1.GCO 3548785
Recv: CF4339~1.GCO 1794329
Recv: CFF600~1.GCO 1826470
Recv: CF119B~1.GCO 2430283
Recv: End file list
Recv: ok
Recv:  T:24.77 /0.00 B:30.05 /30.00 @:0 B@:0
No response from printer after 6 consecutive communication timeouts, considering it dead. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Changing monitoring state from "Operational" to "Offline after error"
Connection closed, closing down monitor

How many cables did you try?

I testet with 4 Cables, one of them brand new. Short ones of about 1~2 meter. All were in use before with different printers.

Can you please share the systeminfo bundle.

octoprint-systeminfo-20220726154520.zip (40.8 KB)
Yes, of course! Didn't find the time to work on this problem meanwhile, sorry.