# What is sometimes blocking serial 3f8 port [SOLVED]

## holm74

Hi there,

is there a possibility to check which module or what is blocking randomly my 3f8 port. 

Background: 

I am using lirc on my computer. Randomly it tells me that port 03f8 is already in use:

lirc_dev: IR Remote Control driver registered, major 61

lirc_serial: port 03f8 already in use

lirc_serial: use 'setserial /dev/ttySX uart none'

lirc_serial: or compile the serial port driver as module and

lirc_serial: make sure this module is loaded first

/etc/init.d/lircd is starting in boot, as depend() I programmed it as "need serial" - so this module should be loaded first 

start() is programmed as 

/sbin/modprobe lirc_serial

start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- ${LIRCD_OPTS}

This configuration sometimes works, sometimes it does not. 

E.g. sometimes 

rmmod 8250_pnp

rmmod 8250

/etc/init.d/lircd stop

reboot

helps.

So my question is now: which module is blocking 3f8. Or maybe something is hard-compiled into the kernel configuration.

Thanks for any advice,

HolmLast edited by holm74 on Wed Feb 10, 2010 6:08 pm; edited 1 time in total

----------

## holm74

Took a bit long but here for everybody who has same problems:

setserial -g /dev/ttyS* should give you an overview about your COM-Ports: if no module occupies the COM-Port the list should look like this:

/dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4

/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3

/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

In my case /dev/ttyS0 was not in the list, /proc/tty/driver/serial showed me that ttyS0 was blocked with 

0: uart:16550A port:000003F8 irq:4 tx:0 rx:0

randomly. The reason was that I had some problems in the past with the new 2.6.32 kernel: so I used the .config from Knoppix where everything worked fine. Disadvantage: 16550A was also enabled. Doing a  find /usr/src/linux/ -name Makefile | xargs grep -i 16550  - finding CONFIG_SND_SERIAL_U16550 - and disabling this module - sometimes solved the problem. 

At the end I could restart lirc with 

rmmod 8250_pnp

rmmod 8250

modprobe 8250

/etc/init.d/serial restart

/etc/init.d/lircd restart

setserial -g /dev/ttyS* showed everything correct. But at the end http://www.vdr-wiki.de/wiki/index.php/Gentoo_LIRC gave another advice: 

Device Drivers  --- Character devices ---  Serial drivers  ---  < > 8250/16550 and compatible serial support should be disabled. Rebuilding the kernel, rebooting and lirc works on the box, not randomly anymore.

Hope this helps Gentoo-Users in future time

Holm

----------

