First things first, try the plugin as suggested. I'm sure it's simpler than what I do.
Look for your controller board:
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 03eb:8a6e Atmel Corp.
Bus 001 Device 004: ID 1d50:6015 OpenMoko, Inc. Smoothieboard <- TARGET
Bus 001 Device 003: ID f055:9800
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Note the ID information for that. It's 1d50
+ 6015
in my case.
Look for an existing udev rule for serial ports:
ls -l /etc/udev/rules.d/99-usb-serial.rules
-rw-r--r-- 1 root root 309 Mar 12 19:31 /etc/udev/rules.d/99-usb-serial.rules
In my case, I have one and I'll need to edit it. It's also possible that it doesn't exist and could be created. If it doesn't exist then sudo touch /etc/udev/rules.d/99-usb-serial.rules
to create an empty one. Next, sudo chmod 644 /etc/udev/rules.d/99-usb-serial.rules
so that the rights are correct.
Edit it:
Note how I've plugged in the idVendor and idProduct which we learned earlier. Also note that I'm creating an alias of /dev/smoothieboard
for my board. Yours will likely be different so make the necessary adjustments for your setup. Be careful not to use anything as an alias which might already be used so feel free to call it chewbacca
or something unique.
sudo nano /etc/udev/rules.d/99-usb-serial.rules
# --- Contents follow, adding this
SUBSYSTEM=="tty", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6015", SYMLINK+="smoothieboard"
# --- End of contents to add
(Carefully) edit your config.yaml:
Note that yaml files are finicky about whitespace at the beginning of lines.
# Safety first, save the original one
cp ~/.octoprint/config.yaml ~/.octoprint/config.yaml.saveme
nano ~/.octoprint/config.yaml
# --- You need this paragraph; it may be necessary to edit the existing
# --- section, noting that the main headings are alphabetically-sorted.
serial:
additionalPorts:
- /dev/smoothieboard
autoconnect: true
baudrate: 112500
port: /dev/smoothieboard
# --- End of edits
In my config.yaml the prefixing whitespace is exactly four space characters.
Reboot everything and check to see if it's happier. Keep that copy of your config.yaml.saveme
in case bad things happen.