Wanhao Duplicator i3 Plus - Printer doesn't act on commands


I just installed OctoPi on my Raspberry Pi and it worked out fine. Web camera worked without me doing anything extra, really nice setup. However, when I connect my printer - which seems to work fine, it can't do anything.

I've tried running in safe mode to see if the plugins I installed cause any troubles, but it doesn't seem like it. We can also see in the logs that commands are sent and being received, so I'm not sure why the printer doesn't do anything.

Any suggestions on where to start in order to fix this? I'm using the latest version of OctoPrint (I think it was released on July 25th). My printer isn't updated and if I read the logs correct, I have a firmware version from 2016? Something is compiled in 2016 at least.

Ideas or suggestions are welcomed!

Changing monitoring state from "Offline" to "Detecting serial port"
Serial port list: ['/dev/ttyUSB0']
Connecting to: /dev/ttyUSB0
Changing monitoring state from "Detecting serial port" to "Opening serial port"
Connected to: Serial<id=0x6b383c30, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Starting baud rate detection...
Changing monitoring state from "Opening serial port" to "Detecting baudrate"
Trying baudrate: 115200
Recv: start
Send: N0 M110 N0125
Changing monitoring state from "Detecting baudrate" to "Operational"
Recv: echo:Marlin 1.0.0
Recv: echo: Last Updated: Oct 7 2016 08:56:29 | Author: (none, default config)
Recv: Compiled: Oct 7 2016
Send: N0 M110 N0
Recv: echo: Free Memory: 3892 PlannerBufferBytes: 1232
Recv: echo:Hardcoded Default Settings Loaded
Recv: echo:Steps per unit:
Recv: echo: M92 X81.00 Y81.00 Z400.50 E94.30
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X450.00 Y450.00 Z5.00 E25.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X3000 Y3000 Z100 E3000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S800.00 T800.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
Recv: echo: M205 S0.00 T0.00 B20000 X10.00 Z0.40 E1.00
Recv: echo:Home offset (mm):
Recv: echo: M206 X0.00 Y0.00 Z0.00
Recv: echo:PID settings:
Recv: echo: M301 P33.41 I1.47 D189.27
Recv: echo:SD card ok
Recv: ok
Recv: ok
Send: N1 M11539
Send: N2 M21
Recv: FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000
Recv: ok
Send: M20
Recv: echo:SD card ok
Recv: ok
Recv: Begin file list
Recv: CFDMP_~1.GCO
Recv: echo:Cannot open subdir
Recv: 1/
Recv: /TRASHE~1/501/O~1.GCO
Recv: /TRASHE~1/501/CFDMP_~1.GCO
Recv: /TRASHE~1/501/CFDMP_~2.GCO
Recv: /TRASHE~1/501/CFDMP_~3.GCO
Recv: /TRASHE~1/501/CFDMP_~4.GCO
Recv: /TRASHE~1/501/PIXEL_~1.GCO
Recv: /TRASHE~1/501/CFDMP_~5.GCO
Recv: /TRASHE~1/501/CFDMP~82.GCO
Recv: /TRASHE~1/501/CFDMP~85.GCO
Recv: /TRASHE~1/501/CFDMP~88.GCO
Recv: /TRASHE~1/501/CFDMP~91.GCO
Recv: /TRASHE~1/501/CFDMP~94.GCO
Recv: /TRASHE~1/501/CFDMP~97.GCO
Recv: /TRASHE~1/501/CFDM~103.GCO
Recv: /TRASHE~1/501/CFDM~106.GCO
Recv: End file list
Recv: ok
Send: M105
Recv: ok T:26.7 /0.0 B:26.4 /0.0 T0:26.7 /0.0 @:0 B@:0
Send: G91
Recv: ok
Send: G1 Y-10 F6000
Send: G90
Recv: ok
Recv: ok
Send: M105
Recv: ok T:26.7 /0.0 B:27.2 /0.0 T0:26.7 /0.0 @:0 B@:0
Send: M105
Recv: ok T:26.8 /0.0 B:26.7 /0.0 T0:26.8 /0.0 @:0 B@:0
Send: G91
Send: G1 Y-10 F6000
Recv: ok
Send: G90
Recv: ok
Recv: ok
Send: M105
Recv: ok T:26.7 /0.0 B:26.6 /0.0 T0:26.7 /0.0 @:0 B@:0
Send: G91
Recv: ok
Send: G1 X10 F6000
Send: G90
Recv: ok
Recv: ok
Send: G91
Send: G1 X-10 F6000
Recv: ok
Send: G90
Recv: ok
Recv: ok
Send: G91
Send: G1 X10 F6000
Recv: ok
Send: G90
Recv: ok
Recv: ok


I'm curious to know whether or not you installed the OctoPi image using Etcher or similar. Assuming that you did...

It looks like it's trying to pull the files from your printer's SD card rather than your Raspberry Pi's. You might try turning off the SD adapter feature since everything's in the deleted files folder anyway.

So... a G28 doesn't home the printer?


I installed the image using Etcher, correct.

Will try to turn it off when I'm home in a couple of hours! I haven't tried to send G28 specifically, but everything you see in the logs doesn't do anything. I tried to start a print but the printer is like "okay, i'm going to sit here like a spoiled little child and just say OK without moving."


Try sending G28, might be that your printer simply refuses to move unless you've homed it first.

Huh? M20 is normal, when OctoPrint detects SD support it fetches the list of files on the printer. That doesn't influence the functionality of streaming files through USB to the printer. However, something is indeed broken about this SD card, otherwise there wouldn't be errors reported from the firmware trying to read from it. I would swap it. I would be surprised if this was the reason for the printer refusing to move, however at this point in time and seeing what vendors have done with their firmware forks I'm honestly not ruling out anything anymore :smile:


Thanks, I'll try that. Leaving earlier for the vet today, so will have feedback in just a few hours. :slight_smile:

Maybe I formatted the SD card incorrect?


Then it wouldn't boot. Your OctoPrint instance is running and connecting to your printer. There's no way that OctoPrint could get your printer to ignore a sent command. If it's sent, it's sent and in the responsibility of the printer to execute. If it doesn't do that, something's up with the printer.


Are there two SD cards in this scenario: 1) the microSD in the Raspberry and 2) one that's in the Arduino or similar card in the printer? I've never worked with a printer controller board with its own SD card but I'm guessing the file listing is from the one that's not in the Raspberry.


@foosel @OutsourcedGuru

Thanks for the help. Doing the whole G28 at first made things work. Sorry if that was listed somewhere and I missed there. I hate asking simple questions. :slight_smile:

And you're absolutely right, there's a SD card in my Wanhao printer. I removed that for now.

Currently printing, with OctoPrint connected to Slack so my friends can do @3dprint stop if they want to mess with me :smiley:


My guess was that OctoPrint out-of-the-box and Marlin need a HOME command to get the start for any absolute-mode G-related commands to follow.


Maybe I can fix so it always run that on start up somehow? :thinking:

Funny thing; Cura told me this print would take 19 hours. OctoPrint says 2,5 days. That's quite a difference. :slight_smile:


You might try one of the new plugins which give better estimates.

OctoPrint only needs that home command once when you initially get started. You probably don't technically need it anymore.

I will, say, though that I home the Z and X/Y at the beginning of every job I do.