Connecting Octopi to HID printer

Hi!

My printer is a Zmorph 2.0 SX and I'm trying to use it with octopi but it instead of a COM port it uses a HID port, the Gcode used by it is the same used by other printers just the serial is different.

The octopi finds the printer connected in dev/usb/hiddev0. There is already additional port added to the configurations and the ocotoprint has permission to access the port (using the dialout group and chmod). This is the serial error it shows when it tries to connect:
"Unexpected error while connecting to serial port: dev/usb/hiddev0 SerialException: 'Could not configure port: (22, 'Invalid argument')' @ comm.py:_openSerial:2478 (hook default)"

I'm using the latest version of octoprint 1.3.10.

Anyone know how to connect it?

Probably none of us have one, I'd guess.

It would be nice to know what the firmware is. The baud rate is probably 115200, for what it's worth.

the firmware is proprietary but the baudrate used by it is 115200 by the little I know from the configurations it shows.

The firmware can be called proprietary but if it's not Marlin or RepRap or Repetier behind-the-scenes (or nobody's created a plugin to deal with the differences) then it won't handshake on the connection. Many proprietary firmwares are a fork of something else.

Go visit the manufacturer's forum and see if anyone has gotten it to work with OctoPrint.

Same problem here. If you find a workaround by flashing the firmware or something else, please let us know.
If the method is not so experimental (destructive), I can try to verify that.

FYI: I´ve aked the support for a print server software. The answer was "Use the voxelizer " (preferred zmorph slicer).
Maye they meant the network printing option. I´ve tried this non realy "alternive", is was verry unstable.

They launched a solution yesterday for octoprint. Will try today on my raspberry Pi 3 to see if it really works.
The tutorial is here https://support.zmorph3d.com/hc/en-us/articles/360015387653-Octoprint-for-ZMorph-beta-version-

Here is the script they've got you running, for what it's worth:

#!/bin/bash
apt-get update
apt-get install libusb-1.0-0-dev libudev-dev python2.7 python-pip virtualenv python-dev -y
if [ $? -eq 0 ] 
then
    cp "69-vx.rules" /etc/udev/rules.d
    if [ $? -eq 0 ]
    then
    udevadm control --reload-rules
    echo "Installed and copied"
    echo "System reboot recommended"
    else
    echo "Coping udev rule went wrong, check troubleshooting"
    fi
else
    echo "Couldn't download libusb, check troubleshooting"
    exit 1
fi

The first install seems unnecessary given that OctoPi would already have that.

Here's the rule file they mention:

SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="6015", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="zmorphvx%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6015",  MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"

And then they're reloading the rules. So I guess that bit above will marry the HID device on the serial line in such a way that it will present itself to OctoPrint.

I'm not sure I'd trust their installation. It's not written for OctoPi but for installing with OctoPrint itself. You may want to baby-step this and try to see if parts of this will make an OctoPi-installed Raspi work.

I tried it last week with a fresh installed ubuntu 18.04 notebook. No success. I followed the instructions. Octoprint runs but no connection to the printer. This week, i will try it again on the ubuntu notebook and the raspberry (Raspbian + OctoPi).

Be aware that ZMorph is basically breaking the license OctoPrint is released under with their redistributed version since they state nowhere what they changed (apart from the obviously added usbrequirements file). It's also based on 1.3.9 so not the current version.

Hi Hugo,

Did you find the solution at the end?
I am having the same issue right now... the Octoprint run on the Raspberry but I cannot gain the connection to the printer

AUTO is remaining, but no way to select another value from the combo box

Cheers,
Julien

I have almost successfully installed octoprint under Raspbian Buster. If it is helpful here is the terminal output when connecting to my Zmorph VX:

Changing monitoring state from "Offline" to "Detecting serial port"
Serial port list: [u'11FFD009AEF60469577218DBF50020C3']
Connecting to: 11FFD009AEF60469577218DBF50020C3
Changing monitoring state from "Detecting serial port" to "Opening serial port"
Connected to: <octoprint.util.serialHidWrap.SerialHID instance at 0x6c5b4328>, starting monitor
Changing monitoring state from "Opening serial port" to "Connecting"
Send: N0 M110 N0*125
Recv: Zmorph HID online
Recv: ok
Changing monitoring state from "Connecting" to "Operational"
Send: N0 M110 N0*125
Recv: ok
Send: N1 M115*39
Recv: ok
Send: N2 M21*18
Recv: SD card ok
Recv: ok
Send: N3 M20*18
Recv: Begin file list
Recv: system volume information/
Recv: utilities/
Recv: config
Recv: examples/
Recv: firmware.cur
Recv: .vx-11ffd009aef60469577218dbf50020c3-bleedingedge-41c3e1a
Recv: zmorph.probe
Recv: .vx-1105--
Recv: .sx-11ffd009aef60469577218dbf50020c3--
Recv: End file list
Recv: ok
Send: N4 M105*35
Recv: ok T:25.2 /0.0 @0 Q:inf /0.0 @0 P:28.6 /0.0 @0 B:24.7 /0.0 @0
1 Like