Modem PC Card on Compaq nx6110: No serial port created
Alex Kavanagh
alex at tinwood.homelinux.org
Sat Apr 8 12:38:09 EDT 2006
Hi
I've just joined the list. However, scanning through the recent
archives, I've noticed that I have exactly the same problem as you do.
Please see below:
At Sat, 08 Apr 2006 16:51:02 +0200,
Pascal MALAISE wrote:
>
> I have just tested the pcmcia modem card on my IBM Thinkpad 770 (with
> Ubuntu Breezy and kernek 2.6.16.1, like on my Compaq nx6110), and it
> works. There is the trace from cs and a ttyS is created:
>
> pccard: PCMCIA card inserted into slot 1
> cs: memory probe 0xa0000000-0xa0ffffff: clean.
> pcmcia: registering new device pcmcia1.0
> 1.0: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> pccard: card ejected from slot 1
>
> So the problem appears to be with pcmcia modem cards on the Compaq
> nx6110. Can it be because there is no serial port at all on this laptop?
> Or is there a specific PCI/ISA bridging?
Yes, I think it is. I have a HP DV1448 laptop and my 3G Novatel
Merlin U630 gets scanned in okay but the serial port fails to arrive.
We both have TI PCIxx21 Cardbus PCI bridges on our laptops and I'm
convinced this is the problem. I tried the same card on the same OS
(Ubuntu 5.10 - 2.6.12 kernel) on a HP 3000 based laptop and the card
worked perfectly. Thus I am convinced it is the PCIxx21 chipset that
is the culprit.
I've done the pci=assign-busses, override-bios=1 and neither helped.
I even upgraded to 2.6.16.1 and that hasn't helped either.
Any idea what I can try next? There are no error messages either.
Just setserial indicating that no uart has been found:
/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 20
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
I don't know how this stuff works, but I'm guessing that the processor
can't actually gain access to the ports that the cardbus/card is
using. i.e. cardctl config says:
Socket 0:
Vcc 5.0V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 20 [exclusive] [level]
speaker output is enabled
function 0:
config base 0x0400
option 0x47 status 0x08
io 0x03f8-0x03ff [8bit]
I'm guessing that when the serial_cs module tries to read ports 0x03f8
to 0x3ff it doesn't find the 16550A uart that shows up on other OS's
and never gets to an error message in the kernel.
So, before I switch on debugging in the PCMCIA subsystem does this
ring any bells with anyone? I don't have another PCMCIA card to try
but I'm guessing that no PCMCIA card will work at the moment.
Do I definitely need to upgrade to 2.6.16.1? I only ask because I
have to get quite a lot patched to get it working with Ubuntu 5.10
(EVMS + mouse problems + IPW2200 problems).
Thanks for any help you can offer.
Cheers
Alex.
Relevant info (I hope!):
Kernel 2.6.12 (but same thing happens on 2.6.16.1 except for IRQ
assignment - 3 on 2.6.16.1 and 20 on 2.6.12)
PS relevant lines from dmesg:
[4294669.669000] ACPI: PCI Interrupt 0000:00:1e.3[B] -> GSI 20 (level, low) -> IRQ 20
[4294669.669000] ACPI: PCI interrupt for device 0000:00:1e.3 disabled
[4294706.953000] ACPI: PCI Interrupt 0000:06:09.0[A] -> GSI 20 (level, low) -> IRQ 20
[4294706.953000] Yenta: CardBus bridge found at 0000:06:09.0 [103c:3080]
[4294706.953000] Yenta: Enabling burst memory read transactions
[4294706.953000] Yenta: Using CSCINT to route CSC interrupts to PCI
[4294706.953000] Yenta: Routing CardBus interrupts to PCI
[4294706.953000] Yenta TI: socket 0000:06:09.0, mfunc 0x01a01b22, devctl 0x64
[4294707.174000] Yenta: ISA IRQ mask 0x0cf8, PCI irq 20
[4294707.174000] Socket status: 30000006
[4332816.030000] cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7
[4332816.032000] cs: IO port probe 0xc00-0xcf7: clean.
[4332816.033000] cs: IO port probe 0xa000-0xafff: clean.
[4332816.041000] cs: IO port probe 0xa00-0xaff: clean.
(e.g. read through 0x3f8-0x3ff and saw nothing??? or is that no what
this means??? Also, IRQ 20 seems to be perhaps used twice?)
/var/log/syslog:
Apr 8 17:13:24 localhost cardmgr[15635]: socket 0: Merlin U630 UMTS Modem
Apr 8 17:13:24 localhost NetworkManager: <debug info>^I[1144512804.204009] (): New device added (hal udi is '/org/freedesktop/Hal/devices/pcmcia__1__1').
Apr 8 17:13:24 localhost NetworkManager: <debug info>^I[1144512804.213651] (): New device added (hal udi is '/org/freedesktop/Hal/devices/pcmcia__1__1_0').
Apr 8 17:13:24 localhost cardmgr[15635]: executing: 'modprobe serial_cs'
Apr 8 17:13:24 localhost cardmgr[15635]: executing: './serial start ttyS0'
Apr 8 17:13:24 localhost NetworkManager: <debug info>^I[1144512804.396362] (): New device added (hal udi is '/org/freedesktop/Hal/devices/pcmcia__1__1_serial_platform_0').
Apr
/etc/pcmcia/novatel.conf (as an addition to identify the card to the
system):
card "Merlin U630 UMTS Modem"
manfid 0x00a4, 0x0276
bind "serial_cs" to 0
lspci -vv:
0000:06:09.0 CardBus bridge: Texas Instruments: Unknown device 8031
Subsystem: Hewlett-Packard Company: Unknown device 3080
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168, Cache Line Size: 0x20 (128 bytes)
Interrupt: pin A routed to IRQ 20
Region 0: Memory at 40080000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176
Memory window 0: 40400000-407ff000 (prefetchable)
Memory window 1: 40800000-40bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt- PostWrite+
16-bit legacy interface ports at 0001
Subordinate bus routing with pci=assign-busses:
lspci -v | grep sub
Bus: primary=00, secondary=06, subordinate=06, sec-latency=216
Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176
(I'm not sure how to read this - i.e. can the CPU get to bus 09 where
the bridge lives?)
lshw:
*-pcmcia
description: CardBus bridge
product: Texas Instruments PCIxx21/x515 Cardbus Controller
vendor: Texas Instruments
physical id: 9
bus info: pci at 06:09.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: pcmcia bus_master cap_list
configuration: driver=yenta_cardbus
resources: iomemory:40080000-40080fff irq:20
*-serial
description: Merlin UMTS Modem
product: U630
vendor: Novatel Wireless
physical id: 0
slot: Socket 0
resources: irq:20
It looks like irq: 20 is shared with the modem: is this a problem?
*-communication UNCLAIMED
description: Modem
product: 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller
vendor: Intel Corporation
physical id: 1e.3
bus info: pci at 00:1e.3
version: 03
width: 32 bits
clock: 33MHz
capabilities: generic cap_list
resources: ioport:2400-24ff ioport:2000-207f irq:20
dump_cis:
Socket 0:
dev_info
NULL 0ns, 512b
attr_dev_info
NULL 0ns, 512b
mfc {
manfid 0x00a4, 0x0276
vers_1 6.1, "Novatel Wireless", "Merlin UMTS Modem", "U630", ""
funcid serial_port [post]
serial_interface
uart 16550 [space/mark/odd/even] [5/6/7/8] [1/1.5/2]
config base 0x0400 mask 0x0263 last_index 0x05
cftable_entry 0x07 [default]
[audio]
Vcc Vnom 5V Istatic 15mA Ipeak 850mA Idown 25mA
io 0x03f8-0x03ff [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x0f
[audio]
io 0x02f8-0x02ff [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x17
[audio]
io 0x03e8-0x03ef [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x1f
[audio]
io 0x02e8-0x02ef [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x27
[audio]
io 0x0000-0x0007 [lines=3] [8bit]
irq mask 0xffff [pulse]
}, {
funcid serial_port [post]
serial_interface
uart 16550 [space/mark/odd/even] [5/6/7/8] [1/1.5/2]
config base 0x0420 mask 0x0263 last_index 0x0a
cftable_entry 0x07 [default]
[audio]
Vcc Vnom 5V Istatic 15mA Ipeak 850mA Idown 25mA
io 0x02f8-0x02ff [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x0f
[audio]
io 0x03f8-0x03ff [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x17
[audio]
io 0x02e8-0x02ef [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x1f
[audio]
io 0x03e8-0x03ef [lines=3] [8bit] [range]
irq mask 0xffff [pulse]
cftable_entry 0x27
[audio]
io 0x0000-0x0007 [lines=3] [8bit]
irq mask 0xffff [pulse]
}
./dump_pirq
Interrupt routing table found at address 0xfdf20:
Version 1.0, size 0x00c0
Interrupt router is device 00:1f.0
PCI exclusive interrupt mask: 0x0000 []
Compatible router: vendor 0x8086 device 0x122e
Device 00:1d.0 (slot 0):
INTA: link 0x6b, irq mask 0x0008 [3]
INTB: link 0x63, irq mask 0x0008 [3]
INTC: link 0x62, irq mask 0x0010 [4]
INTD: link 0x60, irq mask 0x0400 [10]
Device 00:1e.0 (slot 0):
INTA: link 0x61, irq mask 0x0020 [5]
INTB: link 0x61, irq mask 0x0020 [5]
Device 00:1f.0 (slot 0):
INTA: link 0x62, irq mask 0x0010 [4]
INTB: link 0x63, irq mask 0x0008 [3]
INTD: link 0x60, irq mask 0x0400 [10]
Device 01:00.0 (slot 6):
INTA: link 0x60, irq mask 0x0400 [10]
INTB: link 0x61, irq mask 0x0020 [5]
INTC: link 0x62, irq mask 0x0010 [4]
INTD: link 0x63, irq mask 0x0008 [3]
Device 06:00.0 (slot 0):
INTA: link 0x60, irq mask 0x0400 [10]
Device 06:06.0 (slot 0):
INTA: link 0x62, irq mask 0x0010 [4]
INTB: link 0x63, irq mask 0x0008 [3]
Device 06:09.0 (slot 0):
INTA: link 0x68, irq mask 0x0800 [11]
INTB: link 0x69, irq mask 0x0008 [3]
INTC: link 0x6a, irq mask 0x0010 [4]
Device 00:00.0 (slot 0):
INTA: link 0x60, irq mask 0x0400 [10]
INTB: link 0x61, irq mask 0x0020 [5]
INTC: link 0x62, irq mask 0x0010 [4]
INTD: link 0x63, irq mask 0x0008 [3]
Device 00:02.0 (slot 0):
INTA: link 0x60, irq mask 0x0400 [10]
INTB: link 0x61, irq mask 0x0020 [5]
Device 00:01.0 (slot 0):
INTA: link 0x60, irq mask 0x0400 [10]
INTB: link 0x61, irq mask 0x0020 [5]
Interrupt router at 00:1f.0: Intel 82371FB PIIX PCI-to-ISA bridge
PIRQ1 (link 0x60): irq 10
PIRQ2 (link 0x61): irq 5
PIRQ3 (link 0x62): irq 4
PIRQ4 (link 0x63): irq 3
Serial IRQ: [enabled] [quiet] [frame=21] [pulse=4]
Level mask: 0x0c38 [3,4,5,10,11]
./dump_cisreg
Socket 0 function 0:
Config register base = 0x0400, mask = 0x0263
Configuration option register = 0x47
[level_req] [func_ena] [addr_decode] [ireq_ena] [index = 00]
Card configuration and status register = 0x08
[audio]
IO base = 0x03f8
IO size = 7
Socket 0 function 1:
Config register base = 0x0420, mask = 0x0263
read config register: Input/output error
From stab:
Current socket status (from /var/run/stab):
Socket 0: Merlin U630 UMTS Modem
0 serial serial_cs 0 ttyS0 4 64
>
> Thank's in advance for you help and/or ideas of tests.
>
> --
> Pascal MALAISE
> (priv) mailto:malaise at magic.fr
> (prof) mailto:pascal.malaise at thalesatm.com
>
>
>
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia
More information about the linux-pcmcia
mailing list