I can see from the driver code in speakup.c that when you specify speakup_ser=# that translates to a lookup that returns the hexadecimal port 0x3f8, 0x2f8, 0x3e8, 0x2e8. So I'm guessing the speakup drivers writes into memory on the ISA bus at that port address, is this right? One interesting thing is that it's already possible to direct console output to a USB serial dongle as described here: http://www.faqs.org/docs/Linux-HOWTO/Remote-Serial-Console-HOWTO.html#KERNELCOMPILE-25-USB-MENUCONFIG Kernel configuration for USB dongle serial console using make menuconfig USB Serial Converter support ---> <M> USB Serial Converter support [M] USB Serial Console device support [M] USB Generic Serial Driver Kernel configuration for USB dongle serial console using .config CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_CONSOLE=m CONFIG_USB_SERIAL_GENERIC=m If the kernel console can write to USB serial dongle then there must be a way for the speakup driver to do the same. -- Doug