Keyspan USA-28X USB-to-RS422 on Raspberry Pi

1. Install Keyspan driver

source: https://tinkerdifferent.com/threads/imagewriter-ii-pi-print-server-for-modern-retro-printing.4332/

$ sudo mkdir -p /lib/firmware/keyspan
$ sudo apt install firmware-linux-nonfree
$ cd /tmp
$ git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
$ cp -v linux-firmware/keyspan/usa28x.fw /lib/firmware/keyspan/

(Re)connect your Keyspan and check for new ttyUSB devices:

$ ls -l /dev/ttyUSB*
$ dmesg | tail -25

Take note of the desired Keyspan ttyUSBs (likely ttyUSB0 for port 1)

2. Set up getty

source: https://utcc.utoronto.ca/~cks/space/blog/linux/SystemdSerialPortsFixedBaud

$ sudo systemctl enable getty@ttyUSB0.service
$ sudo systemctl edit getty@ttyUSB0.service

Add the following to the top of the config file (with your desired fixed bps):

[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' 38400 %I $TERM

Save the config file, then start the service:

$ sudo systemctl start getty@ttyUSB0.service

A getty login prompt should now be presented on the serial device.

Repeat this section for as many serial devices as desired.


You are at cml.sdf.org/raspi/keyspan.html
Last updated 2025-12-07