Re: Interesting tidbit: NetMos 9835 card, IRQ, and ACPI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Russell King wrote:
On Thu, Mar 24, 2005 at 10:02:05PM +0300, Michael Tokarev wrote:
[]
 # cat /sys/bus/pci/devices/0000:01:00.0/irq
 11
 # modprobe 8250
 # setserial /dev/ttyS2 irq 11 port 0xa400 autoconfig

the serial port does not work: close'int the file
after writing something stalls for a while, and nothing
gets written.  Ok.

setserial shouldn't be used to configure PCI-based serial ports.  It's
expected to fail. 8)

Well.. it worked this way since kernel 2.2.x, ie, for ages.
2.6.10 or 2.6.11 broke it.

 # rmmod 8250
 # modprobe parport_pc
 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
 # cat /sys/bus/pci/devices/0000:01:00.0/irq
 193
 # rmmod parport_pc # as it will conflict with 8250 here
 # modprobe 8250
 # setserial /dev/ttyS2 irq 193 port 0xa400 autoconfig

now the serial port works.

That's because parport_pc seems to think it should be driving this
combination serial/parallel device.  That's actually something that

After thinking a bit more, I see the problem: parport_pc, when
claiming the device, performs initialisation stuff which changes
the IRQ.  While 8250[_pci] module does not know this device and
does not perform any additional initialisation, hence it does not
work.

parport_serial should be doing, and there's a patch in -mm to fix
this:

http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc1/2.6.12-rc1-mm2/broken-out/netmos-parallel-serial-combo-support.patch

However, this patch seems to claim that the 9835 is not supported
by anything in the kernel at present, so how is parport_pc finding
your card?  Have you applied any patches?

It was 2.6.11.5 without any relevant patches applied.

I saw the post by Bjorn Helgaas at Mar-23.  Tried applying
it and now I may say for sure: the patch made the whole
thing to work just fine.  When loading 8250_pci module
(never did that before, tried now without the patch -
obviously it doesn't recognize the card), both serial
ports gets recognized automatically and correctly, and
the IRQ gets changed from 11 to 193 automatically too:

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 193
ttyS4 at I/O 0xa400 (irq = 193) is a 16550A
ttyS5 at I/O 0xa000 (irq = 193) is a 16550A

And oh.. now the ports are at ttyS[45], I used for them
to be at ttyS[23]... Oh well...

The patch does not apply to 2.6.11 - several hunks, notable
all the parport stuff, fails.  I'll dig into this a bit
later today (hopefully).  8250 changes are enouth for the
serial port to work, parallel port still does not work --
without the missing patch hunks.

And oh..  From the description of the patch, it looks like
it *fixes* the "9835 card is unsupported" problem, not as
"9835 is still unsupported".  Confusing a bit, but it's
how I read it... ;)

/mjt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux