LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-09-2007, 04:43 PM   #1
Denes
Member
 
Registered: Mar 2004
Distribution: CentOS 4.3/4.5
Posts: 72

Rep: Reputation: 15
Cardbus PCI expansion problems


Hello,

I am having problems running an expansion chassis on my laptop. This expansion chassis routes through the cardbus and offers 2 pci slots. I have a communication card in there that I have the driver for. I load the driver module manually at runtime for that card. When I try and read from the memory mapped registers on the communications card, all I get is 0xFFFFFFFF. I used a PCI analyzer to determine that while the configuration registers can be read/written properly, the memory accesses are not making it to the expansion chassis. I have tried booting with pci=assign-busses and acpi=off with no success. I am using a Dell 610 laptop under CentOS 4.3 (2.6.9-34). The card I am using can use either IO registers or memory mapped registers. I do not want to use the IO registers and it works fine without them. The output below indicates I am having problems with IO regions but this does not concern me since I do not need them.

Relavent output of dmesg:
Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: Enabling device 0000:02:01.0 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:02:01.0 [1028:00e3]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:01.0, mfunc 0x01261222, devctl 0x64
Yenta: ISA IRQ mask 0x0438, PCI irq 11
Socket status: 30000006
PCI: Enabling device 0000:02:01.1 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:01.1[A] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:02:01.1 [1028:00e3]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:01.1, mfunc 0x01261222, devctl 0x64
Yenta: ISA IRQ mask 0x0438, PCI irq 11
Socket status: 30000020
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
PCI: Failed to allocate I/O resource #7:1000@5000 for 0000:07:00.0
PCI: Failed to allocate I/O resource #7:1000@5000 for 0000:08:04.0
PCI: Failed to allocate I/O resource #1:100@5000 for 0000:09:04.0
PCI: Failed to allocate I/O resource #3:100@5000 for 0000:09:04.0
PCI: Bus 9, bridge: 0000:08:04.0
IO window: 5000-4cff
MEM window: 31000000-310fffff
PREFETCH window: disabled.
PCI: Bus 8, bridge: 0000:07:00.0
IO window: 5000-4cff
MEM window: 31000000-310fffff
PREFETCH window: disabled.
PCI: Setting latency timer of device 0000:07:00.0 to 64
PCI: Setting latency timer of device 0000:08:04.0 to 64

Relavent output of /proc/iomem:
30000000-300003ff : 0000:00:1f.1
30001000-30001fff : 0000:02:01.0
30001000-30001fff : yenta_socket
30002000-30002fff : 0000:02:01.1
30002000-30002fff : yenta_socket
30400000-307fffff : PCI CardBus #03
30800000-30bfffff : PCI CardBus #03
30c00000-30ffffff : PCI CardBus #07
31000000-313fffff : PCI CardBus #07
31000000-310fffff : PCI Bus #08
31000000-310fffff : PCI Bus #09
31000000-310000ff : 0000:09:04.0
31000100-310001ff : 0000:09:04.0

Relavent output of lspci:
02:01.0 CardBus bridge: Texas Instruments PCI1420
Subsystem: Dell: Unknown device 00e3
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 20
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 30001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 30400000-307ff000 (prefetchable)
Memory window 1: 30800000-30bff000
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

02:01.1 CardBus bridge: Texas Instruments PCI1420
Subsystem: Dell: Unknown device 00e3
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 20
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 30002000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
Memory window 0: 30c00000-30fff000 (prefetchable)
Memory window 1: 31000000-313ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
16-bit legacy interface ports at 0001

07:00.0 PCI bridge: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150) (rev 04) (prog-if 00 [Normal decode])
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: 64
Bus: primary=07, secondary=08, subordinate=09, sec-latency=0
I/O behind bridge: 00005000-00004fff
Memory behind bridge: 31000000-310fffff
Prefetchable memory behind bridge: 00000000fff00000-0000000000000000
Secondary status: 66Mhz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [e4] #06 [0094]
Capabilities: [e8] Vital Product Data

08:04.0 PCI bridge: Digital Equipment Corporation DECchip 21150 (rev 06) (prog-if 00 [Normal decode])
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: 64
Bus: primary=08, secondary=09, subordinate=09, sec-latency=0
I/O behind bridge: 00005000-00004fff
Memory behind bridge: 31000000-310fffff
Prefetchable memory behind bridge: 00000000fff00000-0000000000000000
Secondary status: 66Mhz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+

09:04.0 Communication controller: Unknown device 5ab7:0001 (rev 01)
Subsystem: Unknown device 5ab7:0001
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-
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 31000000 (32-bit, non-prefetchable) [size=256]
Region 1: I/O ports at 5000 [size=fffffd00]
Region 2: Memory at 31000100 (32-bit, non-prefetchable) [size=256]
Region 3: I/O ports at 5000 [size=fffffd00]

When I load the communications driver I added some printk's:
PCI: Enabling device 0000:09:04.0 (0000 -> 0003)
ACPI: PCI interrupt 0000:09:04.0[A] -> GSI 11 (level, low) -> IRQ 11
Memory 31000100
Remap f0820100
Memory 31000000
Remap f0908000
Readl ffffffff
Read ffffffff

Notice that the Memory regions are okay. The call to ioremap in the driver output is indicated with Remap. The Readl and Read are readl and direct pointer reads to the memory. Writing to the registers also does not reach the cards. This driver works fine on normal PCI systems without the expansion.

The output of cardctl info is "" for all PRODIDs and the MANFID is 0000,0000 with a FUNCID=255. The output of cardctl ident is no product info available. The output of cardctl status is:
Socket 0:
no card
Socket 1:
3.3V CardBus card
function 0: [ready]

Any help would be much appreciated.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
What is a PCI Expansion port 3 connector? scheidel21 General 2 11-12-2006 03:05 PM
How to know what is plugged into a PCI expansion slot with lspci command enzo250gto Red Hat 1 06-15-2006 10:09 PM
PCMCIA problems, 32-bit cardbus greenbishop Linux - Laptop and Netbook 10 06-16-2005 11:36 AM
Upload problems with a rtl8139 cardbus networking card sn_piranha Linux - Networking 0 03-14-2005 10:43 AM
Sound hw problems when using WLAN cardbus adapter Ekkume Linux - Hardware 0 03-14-2005 06:26 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 06:11 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration