Saturday, January 1, 2011

Read Parallel Port addresses from BIOS Memory - Linux

As per the documentation, the addresses of serial ports can be found starting from address 400H in BIOS. And the addresses of parallel port can be found starting from the address 408H in BIOS. The table below lists the BIOS address at which base address of each serial/parallel port can be found.

So, I am just doing hexdump on /dev/mem as root :)

LPT1 - sudo cat /dev/mem | hexdump -s 0x408 -n 2 -x
LPT2 - sudo cat /dev/mem | hexdump -s 0x40a -n 2 -x
LPT3 - sudo cat /dev/mem | hexdump -s 0x40c -n 2 -x

Address Port
------- ----
400H Base I/O address for serial port 1 (COM 1)
402H Base I/O address for serial port 2 (COM 2)
404H Base I/O address for serial port 3 (COM 3)
406H Base I/O address for serial port 4 (COM 4)
408H Base I/O address for parallel port 1 (LPT 1)
40AH Base I/O address for parallel port 2 (LPT 2)
40CH Base I/O address for parallel port 3 (LPT 3)