On Tue, Oct 18, 2016 at 02:29:30PM -0500, Nathan Zimmer wrote:
On Tue, Oct 18, 2016 at 07:05:18PM +0100, Sean Young wrote:So with 3.6.0:
On Tue, Oct 18, 2016 at 11:40:04AM -0500, Nathan Zimmer wrote:Yea the changing irq seemed weird to me too but I couldn't manage a guess to why.
3.7.0irq 12 for ttyS1? That should be irq 3. The bios is putting bogus information
cat /sys/bus/pnp/drivers/serial/*/resources
state = active
io 0x2f8-0x2ff
irq 12
dma disabled
3.6.0
:~ # cat /sys/bus/pnp/drivers/serial/*/resources
cat: /sys/bus/pnp/drivers/serial/*/resources: No such file or directory
in pnp. Maybe there is rubbish in the bios setup or maybe it's fixed in a
newer bios update.
So before this change, the kernel would assume irq 3. After this change,
the kernel first uses the information in pnp to see where the serial
port is. It gets told that it's irq 12 and presumably it runs into all
sorts of problems then. If memory serves that's the irq for the ps/2 mouse.
The interesting bit is in 3.6.0:
setserial
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
becomes in 3.7.0:
setserial
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 12
You should be able to set the right irq with setserial, but obviously
that doesn't help you if it fails in early boot. It's not immediately
obvious to me what can be done in the kernel for this. Maybe the dmesg
output could inspire, thanks.
Here are the dmesgs.
[ 2.079980] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabledThe pnp probe fails for some reason. I don't understand why.
[ 2.100887] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 2.101715] serial 00:04: unable to assign resources
[ 2.102174] serial: probe of 00:04 failed with error -16
With 3.7.0:
[ 2.062700] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabledNow the pnp probe succeeds (with broken irq from pnp).
[ 2.063250] serial 00:04: [io 0x02f8-0x02ff]
[ 2.063875] serial 00:04: [irq 12]
[ 2.064345] serial 00:04: [dma 18446744073709551615 disabled]
[ 2.065540] serial 00:04: activated
[ 2.086442] 00:04: ttyS1 at I/O 0x2f8 (irq = 12) is a 16550A
Can you please check if there is a wrong irq configured in the bios setup
or if there is a bios update available? I don't know why this worked in
the first place.
Sean