Xircom Cardbus Modem and QNX 6.3

My Cardbus modem seems to be missing an ISR assignment when detected by
QNX 6.3 SP1. If I install QNX 6.1, the modem works fine and the PCI bus
reports ISR 9 as being used. I use the ISR to start the serial driver
(devc-ser8250). With QNX 6.3, my program reads the ISR value as 0xFF
which is certainly not a good ISR.

I have a “Xircom RealPort Cardbus Ethernet10/100+Modem56” card that has
two functions(ports) on a single slot. With QNX 6.3, the ethernet port
works, but the modem does not. The modem has a real UART, it is not a
WinModem.

My target is a Panasonic Toughbook CF-29 laptop which includes a
supported Cardbus controller (Ricoh RL5C476).

Typing “pci -vvvvv” shows both functions on bus number three, both are on
device zero, the eithernet is function zero, and the modem is function
one. Both have “PCI int pin =INT A” but the eithernet card has “Interrupt
Line” and “CPU Interrupt” set to 9 while the modem has “Interrupt line”
set to “no connection” and is missing the “CPU Interrupt” field.

QNX 6.1 shows “Interrupt Line” and “CPU Interrupt” for the modem set to
interrupt 9.

I believe the interrupt should be set or detected by devp-pccard or
perhaps pci-bios. I have tried many combinations of options for devp-
pccard that were either ignored or caused no cardbus ports to be
detected.

I tried using the 6.1 versions of pci-bios and dev-pccard but the problem
remained.

TIA,


Jan Stefan

Software Engineer
Minnetronix Inc.

www.minnetronix.com

Jan Stefan wrote:

My Cardbus modem seems to be missing an ISR assignment when detected by
QNX 6.3 SP1. If I install QNX 6.1, the modem works fine and the PCI bus
reports ISR 9 as being used. I use the ISR to start the serial driver
(devc-ser8250). With QNX 6.3, my program reads the ISR value as 0xFF
which is certainly not a good ISR.

IRQ (Interrupt Request) is the common term for referring to an interrupt number. ISR (Interrupt Service Routine) is the software component that manages the IRQ.


I have a “Xircom RealPort Cardbus Ethernet10/100+Modem56” card that has
two functions(ports) on a single slot. With QNX 6.3, the ethernet port
works, but the modem does not. The modem has a real UART, it is not a
WinModem.

Did QNX 6.1 detect the ethernet port? I suspect not. What’s prolly going on is that that card is not quite a standard PCI device and QNX 6.3 now supports the ethernet device and it’s found before the comport is.

Have you tried specifying IRQ9 to devc-ser8250 when starting it in QNX 6.3?


Evan

Evan Hillas <evanh@clear.net.nz> wrote in news:dbp7fv$a51$1@inn.qnx.com:

Jan Stefan wrote:
My Cardbus modem seems to be missing an ISR assignment when detected
by QNX 6.3 SP1. If I install QNX 6.1, the modem works fine and the
PCI bus reports ISR 9 as being used. I use the ISR to start the
serial driver (devc-ser8250). With QNX 6.3, my program reads the ISR
value as 0xFF which is certainly not a good ISR.


IRQ (Interrupt Request) is the common term for referring to an
interrupt number. ISR (Interrupt Service Routine) is the software
component that manages the IRQ.


I have a “Xircom RealPort Cardbus Ethernet10/100+Modem56” card that
has two functions(ports) on a single slot. With QNX 6.3, the ethernet
port works, but the modem does not. The modem has a real UART, it is
not a WinModem.


Did QNX 6.1 detect the ethernet port? I suspect not. What’s prolly
going on is that that card is not quite a standard PCI device and QNX
6.3 now supports the ethernet device and it’s found before the comport
is.

Have you tried specifying IRQ9 to devc-ser8250 when starting it in QNX
6.3?


Evan

Both the ethernet and modem do work in QNX6.1 but that may be because we
modified the startup files to make them work. I am not sure what occured
on the initial install.

In QNX 6.3, I manually started “devc-ser8250 -u2 -t8 fd00,9”
fd00 was the address assigned to the modem “PCI IO Address” field of the
“pci -vvvvv” display and 9 was the number that SHOULD have been assigned
to the “Interrupt line” field.

It worked! I can do AT commands to /dev/ser2!

I will have to hard code a 9 into my startup code rather than using the
value in the PCI database, but it works.

Thanks!
Jan


Jan Stefan

Software Engineer
Minnetronix Inc.

www.minnetronix.com