Keyspan USB to Serial Converter Driver
by Russ Knize on Oct.29, 2008, under Linux
Update 01/17/2012: Sorry for the broken links. I think I lost some .htaccess magic when moving around my site hosting. I’ve been using my Keyspan on my Debian box running the stock 2.6.32 kernel and have not had issues. That’s why this page is so stale…I forgot all about it.
This driver source code and firmware was taken directly from the kernel.org sources and packaged as a kernel module. It supports several of the Keyspan “USA” Series USB to Serial converters. This driver was removed from official Debian kernel sources due to its change in status as “non-free” per the Debian Free Software Guidelines (DFSG). This was the result of some unclear language in the license found in the firmware header files.
I had invested in several of these dongles due to their quality, performance, and good Linux support. Debian is the only distribution that is not happy with the licensing terms. Even Ubuntu (a Debian-derived distribution) has added this driver back to its kernels. I was a bit frustrated by this and have decided to package the driver for other Debian users.
Source Packages
The sources can currently be built for 2.6.18 and 2.6.26 kernels intended for Debian GNU/Linux 4.0 “etch” and Debian GNU/Linux 5.0 “lenny”, respectively. Other kernels are likely supported as well, but will require Makefile and possibly source modifications due to internal API changes between kernel versions. You should be able to build the module by installing the keyspan-source package and then using module-assistant: “m-a prepare; m-a auto-install keyspan”.
Binary Packages
Debian GNU/Linux 4.0 “etch”:
- keyspan-modules-2.6.18-6-amd64_1.26+2.6.18.dfsg.1-22etch3_amd64.deb
- keyspan-modules-2.6.18-6-686_1.26+2.6.18.dfsg.1-23_i386.deb
- keyspan-modules-2.6.18-6-486_1.26+2.6.18.dfsg.1-23_i386.deb
Debian GNU/Linux 5.0 “lenny”:
- amd64 coming soon…
- keyspan-modules-2.6.26-1-686_1.26.1+2.6.26-8_i386.deb
- keyspan-modules-2.6.26-1-486_1.26.1+2.6.26-8_i386.deb
Changes from Original Source
- Created Makefile to build outside of kernel tree.
- Initial release based on Linux Kernel 2.6.18.8 for Etch.
- Added driver source and firmware from 2.6.26.6 for Lenny.
- Modified Makefile to build for either kernel tree.
- Added preinst script to divert existing keyspan module.
February 5th, 2009 on 9:50 am
Thanks so much for these files! Any word on an amd64 .deb, or a quick procedure for creating one myself? Thanks!
February 5th, 2009 on 1:51 pm
I’ll probably build one at some point, since that machine will inevitably be upgraded.
February 5th, 2009 on 2:43 pm
I’ve added some details for building the source package.
August 27th, 2009 on 10:42 am
Here are updated files for 2.6.30, tested on 2.6.30-1-amd64:
http://billgatliff.com/~bgat/keyspan-2.6.30.c
http://billgatliff.com/~bgat/keyspan-2.6.30.h
August 28th, 2009 on 9:43 am
Question. Instead of modifying the kernel-specific keyspan.[ch] to incorporate the firmware files, could we not just include them as standalone objects in the output package, and install them under /lib/firmware just like how the original keyspan files do?
That would make keeping the keyspan.[ch] files up-to-date a lot easier…
June 1st, 2011 on 7:06 pm
I’ve been wrestling with getting my Keyspan USA-19HSA to work for a couple of days, but haven’t found much.
I’m running kernel 2.6.37 on an iomega iconnect (kirkwood marvell – ARM architecture)
could you give me some direction in how to install these drivers there?