## ssh into rpi box. username: pi , password: raspberry ## don't turn on printer, don't have it connected by USB to RPi when performing these commands ## makes sure the apt install will work sudo apt update sudo apt full-upgrade -y ## installs headers and the needed dkms tool sudo apt install dkms raspberrypi-kernel-headers ## download and unzip driver (-j stops it from adding another subdirectory) to the right place curl -o /tmp/ch341ser_linux.zip http://www.weedo3dprinter.com/lib/exe/fetch.php/x40/ch341ser_linux.zip?fbclid=IwAR29OQyC4fsI5cj1hY2zRxlEQiDTuF-xUl6UaXYzLtzZzaKid4kFbDWjEYg sudo unzip -j /tmp/ch341ser_linux.zip -d /usr/src/ch34x-1.3 ## added option for available potentially "fixed" driver from juliagoda github (not default, must remove # to run) # sudo curl -o /usr/src/ch34x-1.3/ch34x.c https://raw.githubusercontent.com/juliagoda/CH341SER/master/ch34x.c?fbclid=IwAR0PQvm-k0fWnP4ESNTO180bGNgWJVUzqra02t3SnzJPvINnlTXyyx3Y7Ks ## makes sure the system doesn't use the older drivers already on the system sudo sh -c 'echo "blacklist ch341" > /etc/modprobe.d/blacklist-ch341.conf' ## creates the needed instructions for the new driver sudo sh -c '{ echo PACKAGE_NAME=\"ch34x\" echo PACKAGE_VERSION=\"1.3\" echo BUILT_MODULE_NAME[0]=\"ch34x\" echo DEST_MODULE_LOCATION[0]=\"/kernel/drivers/usb/serial\" echo AUTOINSTALL=\"yes\" echo REMAKE_INITRD=\"no\" } > /usr/src/ch34x-1.3/dkms.conf' ## build and install the driver sudo dkms install -m ch34x -v 1.3 ## it should be up and loaded - turn on printer (without it being connected by USB) ## once the printer is booted to the menu, connect USB, and Octoprint should see it. ## if it doesn't work, you may want to reboot to make sure its loading properly over prior drivers (not default, must remove # to run): # sudo reboot