Tuesday, May 12, 2009

PCM-1028 Multi Serial Ports



It's been 2 days i worked on TCT boards, PCM-4386 SBC from Advantech. Use Debian 5.0 (Lenny) with Linux kernel-2.6.26, good news that Lenny's kernel already built with extended 8520 / 16550 serial ports support to use with PCM-1028 multi-serial board, i only need to pass kernel parameters:

8250.nr_uarts=12

since the total port will be 12 ports. I got difficulties when installing the PCM-1028, have been tried many configurations:

- Use independent IRQ address for each port as default setting provide. (not work, mouse device was not work, possibility is IRQ conflict).
- Change interrupt address and base address, still not work too.
- Share one IRQ to all ports. Seem to work, but...

The data is not valid, i can't receive or send valid characters through minicom and my own codes. I assumed a baud base issue, so i change to the PCM-1028 maximum supported baud base. Not work, i only receive dumb characters, i don't believe what i see, i don't believe the serial cable, so i switch another serial cable, and fucking shit, the characters received correctly. I admit, the old cable fuck me in 2 days!

This is a example serial configuration on TCT board:

/dev/ttyS4 uart 16550 port 0x200 irq 7 baud_base 921600 skip_test

Note that Debian store setserial config file to it's own location, /var/lib/setserial/autoserial.conf, other setting just follow it's default configuration.

Updated on Thursday, May 14 2009 11:16 AM
Oww, the PCM-4386 already assigned IRQ 7 to the parallel port 0x378. I change IRQ sharing to 11.