3D Printer Fail to Connect to Octoprint

What is the problem?
My printer (Flashforge Inventor I) can't connect to Octoprint. After connecting the usb connection, attempts to connect resulted in "Error: Failed to autodetect serial port, please set it manually." However, the only option is auto.

What did you already try to solve it?
Tried various "can't connect" topics but was all to no avail. Tried restarting printer, octopi, and octoprint but still the same.

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log, serial.log or output on terminal tab, ...)

RPi: Model 3B
32GB Micro SD
using on-board WIFI
5.25V, 2.4A power supply

  • OctoPrint 1.3.9 running on OctoPi 0.15.1
  • Printer: Flashforge Inventor

Changing monitoring state from "Offline" to "Detecting serial port"
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.

SSH-ing into Octopi
pi@octopi:~ $ lsusb
Bus 001 Device 006: ID 413c:301a Dell Computer Corp.
Bus 001 Device 005: ID 2b71:0005
Bus 001 Device 004: ID 413c:2107 Dell Computer Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

My comments: Bus 001 Device 005: ID 2b71:0005 is the printer

SSHing into Octopi
pi@octopi:~ $ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.14
S: Manufacturer=Linux 4.14.34-v7+ dwc_otg_hcd
S: Product=DWC OTG Controller
S: SerialNumber=3f980000.usb
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 5
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1
P: Vendor=0424 ProdID=9514 Rev=02.00
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I: If#= 0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub

T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0424 ProdID=ec00 Rev=02.00
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=smsc95xx

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=413c ProdID=2107 Rev=01.04
S: Manufacturer=DELL
S: Product=Dell USB Entry Keyboard
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid

T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2b71 ProdID=0005 Rev=02.00
S: Manufacturer=Flashforge
S: Product=FlashForge Inventor 3D Printer
S: SerialNumber=00000000050C
C: #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

T: Bus=01 Lev=02 Prnt=02 Port=04 Cnt=04 Dev#= 6 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=413c ProdID=301a Rev=01.00
S: Manufacturer=PixArt
S: Product=Dell MS116 USB Optical Mouse
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid

Running a script in Octopi to find device paths
pi@octopi:~ #!/bin/bash for sysdevpath in (find /sys/bus/usb/devices/usb*/ -name dev); do
pi@octopi:~ pi@octopi:~ for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do> (

    syspath="${sysdevpath%/dev}"
    devname="$(udevadm info -q name -p $syspath)"
    [[ "$devname" == "bus/"* ]] && continue
    eval "$(udevadm info -q property --export -p $syspath)"
    [[ -z "$ID_SERIAL" ]] && continue
    echo "/dev/$devname - $ID_SERIAL"
)

done
/dev/input/event1 - PixArt_Dell_MS116_USB_Optical_Mouse
/dev/input/mouse0 - PixArt_Dell_MS116_USB_Optical_Mouse
/dev/input/event0 - DELL_Dell_USB_Entry_Keyboard

Please help
I don't know what to do at this point. Is it becasue Flashforge Inventor is not compatible with Octoprint (can't find any threads on people using Flashforge Inventor with Octoprint)? Should I get a new printer instead?

I was able to successfully connect an OctoPi installation at work to their Flashforge printer. Please see the details in this printer profile table; search for Flashforge and scroll right.

You'll likely need to edit the ~/.octoprint/config.yaml manually.

No luck either. Did everything as you suggested and this happened:

Changing monitoring state from "Offline" to "Error: Connection error, see Terminal tab"
Unexpected error while connecting to serial port: AUTO IOError: 'GPX plugin not able to discover AUTO port and/or baudrate. Please choose specific values for them.' @ comm.py:_openSerial:2469 (hook GPX)

Anyways, I think Flashforge Inventor (not Flashforge Creator Pro) might not be compatible. Seems that the communication protocol is not supported for this particular model. That being said, I have come to the conclusion that the Inventor is probably using a proprietary firmware (Falshprint maybe) that's causing the problem.

Correct me if I'm wrong but I think there's not much to be done at this point since I'm not aware that any plugins are available.

I sent a few print jobs to the Creator Pro using Flashprint. I eventually wanted to test the ability to use OctoPrint and was successful. I note that the sliced files have a different extension, they're binary and I wouldn't know much about what's going on with those. I don't remember which firmware version was on that, to be honest.

That's nice to know but I can't even send any print jobs to the Inventor as attempts to connect were all to no avail. Since no serial communication can be established, testing anything is naturally out of the question. Any thoughts on how to even get the Inventor connected?

I tried GPX plugin and also tweaking settings but no significant progress was made.

The USB connection should be good as I can see Flashforge being registered as one of the peripherals.

SSHing into Octopi
pi@octopi:~ $ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.14
S: Manufacturer=Linux 4.14.34-v7+ dwc_otg_hcd
S: Product=DWC OTG Controller
S: SerialNumber=3f980000.usb
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 5
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1
P: Vendor=0424 ProdID=9514 Rev=02.00
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I: If#= 0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub

T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0424 ProdID=ec00 Rev=02.00
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=smsc95xx

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=413c ProdID=2107 Rev=01.04
S: Manufacturer=DELL
S: Product=Dell USB Entry Keyboard
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid

T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2b71 ProdID=0005 Rev=02.00
S: Manufacturer=Flashforge
S: Product=FlashForge Inventor 3D Printer
S: SerialNumber=00000000050C
C: #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

T: Bus=01 Lev=02 Prnt=02 Port=04 Cnt=04 Dev#= 6 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=413c ProdID=301a Rev=01.00
S: Manufacturer=PixArt
S: Product=Dell MS116 USB Optical Mouse
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid

I think I'd fire up FlashPrint, go into the settings and find out which serial device is in use. I'd then try to hard-code this into OctoPrint's config.yaml as described earlier.

Unless dmesg shows that printer getting detected as a serial device (which I'm currently guessing is not the case here, otherwise it would in all likelihood have showed up in the ports dropdown) I think the odds are slim to get it to work.

Most (all?) of the newer Flashforge printers are sadly proprietary.

Hey @foosel, using dmesg, I'm able to see the printer being connected. Here's a snapshot of the particular instance:

[ 6797.419375] usb 1-1.3: USB disconnect, device number 6
[ 6798.482987] usb 1-1.3: new full-speed USB device number 8 using dwc_otg
[ 6798.628856] usb 1-1.3: New USB device found, idVendor=2b71, idProduct=0005
[ 6798.628870] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6798.628879] usb 1-1.3: Product: FlashForge Inventor 3D Printer
[ 6798.628887] usb 1-1.3: Manufacturer: Flashforge
[ 6798.628896] usb 1-1.3: SerialNumber: 00000000050C

Still, nothing popped up and the only selection remains to be auto (failed to connect as expected). However, I hooked up a Logitech webcam and I'm able to get visual.

Appears to me that the Flashforge Inventor 1 3D printer is, unfortunately, proprietary. If you agree with this suspicion, I'll just use the webcam function for now (well, at least I get visual, better than nothing) and mark the problem as solved. Thanks

It gets detected as a device, but not as a serial device. Whatever that printer implements, it doesn't look like something that OctoPrint will be able to talk to. So I have to agree - looks like proprietary, and as I said that sadly also isn't surprising considering that all of Flashforge's recent printers are proprietary. :confused:

Thanks for the clarification! Looks like I'll be using it only for visual for now :slight_smile:

For anyone stumbling across this thread - the FlashForge Inventor should be supported at a basic level using the FlashForge plugin