1) Is the card detected at all, yes it is:
lspci -v
Subsystem: Device a000:1000
Flags: medium devsel, IRQ 17
I/O ports at bce8 [size=8]
Memory at df9fb000 (32-bit, non-prefetchable) [size=4K]
Memory at df9fc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2
04:05.1 Serial controller: Illegal Vendor ID Device 9865 (prog-if 02 [16550])
Subsystem: Device a000:1000
Flags: medium devsel, IRQ 18
I/O ports at bcf0 [size=8]
Memory at df9fd000 (32-bit, non-prefetchable) [size=4K]
Memory at df9fe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2
04:05.2 Serial controller: Illegal Vendor ID Device 9865 (prog-if 00 [8250])
Subsystem: Device a000:0000
Flags: medium devsel, IRQ 19
I/O ports at bcf8 [size=8]
I/O ports at <unassigned>
Memory at df9ff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Power Management version 2
Kernel driver in use: serial
2) What does the system think IRQ/IO for the device is:
/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 19
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
3) Since this configuration doesn't work, let's change it to point to the parent device:
setserial /dev/ttyS0 uart 16550 irq 17 port 0xbce8
The documentation for the device states that the uart is a 16550, and lspci -v gave the IRQ and the I/O port (make sure that you include the 0x before the I/O port). After the changes its looks like this:
/dev/ttyS0, Line 0, UART: 16550, Port: 0xbce8, IRQ: 17
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal
4) Test. I already had NUT configured for my UPS, so my testing was as easy as starting up the service and it actually finding the UPS. There's tons of info about how to test your serial ports, so I won't go into that here.
5) Make configuration persistent. This will depend on what distribution you're using, for Debian Squeeze, I found the easiest thing to do was use /etc/serial.conf. Mine didn't exist, but the contents of the file are very simple, its just the arguments to setserial, in my case I could create it thusly:
# echo "/dev/ttyS0 uart 16550 irq 17 port 0xbce8" >> /etc/serial.conf
6) Reboot if you'd like, to make sure it correctly persists.
C'est fini!
No comments:
Post a Comment