linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PCMCIA troubles with an Acer TravelMate 513TE
@ 2001-06-11  9:08 Paulo E. Abreu
  2001-06-13 23:18 ` O2 Micro CB bridge problems (was: PCMCIA troubles with an Acer TravelMate 513TE) Andreas Bombe
  0 siblings, 1 reply; 2+ messages in thread
From: Paulo E. Abreu @ 2001-06-11  9:08 UTC (permalink / raw)
  To: linux-kernel

Greetings,

I have this laptop and I am having trouble with pcmcia in every 2.4.x 
kernel.
Someone suggested that this could be a BIOS bug ...
Below there is the information, that I think is relevant to this problem. If
more is needed just tell me...
Now I cannot use any PCMCIA device with this laptop, this is critical as I
cannot have any network connection...
I hope someone can help me,
Thanks,
Paulo E. Abreu

Using a Xircom RBE 10/100 nic
=== from /var/log/messages
Jun  7 19:46:42 localhost kernel: Linux PCMCIA Card Services 3.1.22
Jun  7 19:46:42 localhost kernel:   options:  [pci] [cardbus] [pm]
Jun  7 19:46:42 localhost /etc/hotplug/net.agent: register event not handled
Jun  7 19:46:42 localhost kernel: PCI: Guessed IRQ 9 for device 00:13.0
Jun  7 19:46:42 localhost kernel: PCI: The same IRQ used for device 00:13.1
Jun  7 19:46:42 localhost kernel: PCI: Guessed IRQ 9 for device 00:13.1
Jun  7 19:46:42 localhost kernel: PCI: The same IRQ used for device 00:13.0
Jun  7 19:46:42 localhost kernel: Yenta IRQ list 08b8, PCI irq9
Jun  7 19:46:42 localhost kernel: Socket status: 30000007
Jun  7 19:46:42 localhost kernel: Yenta IRQ list 08b8, PCI irq9
Jun  7 19:46:42 localhost kernel: Socket status: 30000821
Jun  7 19:46:42 localhost kernel: cs: cb_alloc(bus 6): vendor 0x115d, 
device 0x0003
Jun  7 19:46:42 localhost kernel: PCI: Failed to allocate resource 0 for 
PCI device 115d:0003
Jun  7 19:46:42 localhost kernel:   got res[11000000:110007ff] for 
resource 1 of PCI device 115d:000
3
Jun  7 19:46:42 localhost kernel:   got res[11000800:11000fff] for 
resource 2 of PCI device 115d:000
3
Jun  7 19:46:42 localhost kernel:   got res[10c00000:10c03fff] for 
resource 6 of PCI device 115d:000
3
Jun  7 19:46:42 localhost kernel: PCI: Enabling device 06:00.0 (0000 -> 
0003)
Jun  7 19:46:42 localhost kernel: PCI: Setting latency timer of device 
06:00.0 to 64
Jun  7 19:46:42 localhost kernel: eth0: Xircom cardbus revision 3 at irq 9
Jun  7 19:46:42 localhost kernel: xircom_cb: Receiver failed to deactivate
Jun  7 19:46:42 localhost netfs: Mounting other filesystems:  succeeded
Jun  7 19:46:42 localhost kernel: xircom_cb: Transmitter failed to 
deactivate
Jun  7 19:46:42 localhost cardmgr[650]: executing: 'modprobe xircom_cb'
Jun  7 19:46:42 localhost kernel: cs: IO port probe 0x0c00-0x0cff: clean.
Jun  7 19:46:42 localhost kernel: cs: IO port probe 0x0100-0x04ff: 
excluding 0x408-0x40f 0x480-0x48f
 0x4d0-0x4d7
Jun  7 19:46:42 localhost kernel: cs: IO port probe 0x1000-0x17ff: clean.
Jun  7 19:46:42 localhost kernel: cs: IO port probe 0x0a00-0x0aff: clean.

=== from /proc/ioports
1000-107f : xircom_cb

=== from /proc/iomem
10000000-10000fff : O2 Micro, Inc. 6832
10001000-10001fff : O2 Micro, Inc. 6832 (#2)
10400000-107fffff : PCI CardBus #02
10800000-10bfffff : PCI CardBus #02
10c00000-10ffffff : PCI CardBus #06
  10c00000-10c03fff : PCI device 115d:0003
11000000-113fffff : PCI CardBus #06
  11000000-110007ff : PCI device 115d:0003
  11000800-11000fff : PCI device 115d:0003

=== from lspci -vvv
00:13.0 CardBus bridge: O2 Micro, Inc. 6832 (rev 34)
        Subsystem: Acer Incorporated [ALI]: Unknown device 1002
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 168
        Interrupt: pin A routed to IRQ 9
        Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=176
        Memory window 0: 10400000-107ff000 (prefetchable)
        Memory window 1: 10800000-10bff000
        I/O window 0: 00000000-00000003
        I/O window 1: 00000000-00000003
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ 
PostWrite+
        16-bit legacy interface ports at 0001

00:13.1 CardBus bridge: O2 Micro, Inc. 6832 (rev 34)
        Subsystem: Acer Incorporated [ALI]: Unknown device 1002
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 168
        Interrupt: pin A routed to IRQ 9
        Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=06, subordinate=06, sec-latency=176
        Memory window 0: 10c00000-10fff000 (prefetchable)
        Memory window 1: 11000000-113ff000
        I/O window 0: 00000000-00000003
        I/O window 1: 00000000-00000003
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- 
PostWrite+
        16-bit legacy interface ports at 000

-- 
Departamento de Quimica                e-mail:qtabreu@ci.uc.pt
Faculdade de Ciencias e Tecnologia                              -o)
da Universidade de Coimbra            TEL:351 239 852080        / \
3004-535 Coimbra                      FAX:351 239 827703       _\_v
Portugal 



^ permalink raw reply	[flat|nested] 2+ messages in thread

* O2 Micro CB bridge problems (was: PCMCIA troubles with an Acer TravelMate 513TE)
  2001-06-11  9:08 PCMCIA troubles with an Acer TravelMate 513TE Paulo E. Abreu
@ 2001-06-13 23:18 ` Andreas Bombe
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Bombe @ 2001-06-13 23:18 UTC (permalink / raw)
  To: Paulo E. Abreu; +Cc: linux-kernel, Martin Mares

On Mon, Jun 11, 2001 at 10:08:39AM +0100, Paulo E. Abreu wrote:
> Greetings,
> 
> I have this laptop and I am having trouble with pcmcia in every 2.4.x 
> kernel.
> Someone suggested that this could be a BIOS bug ...
> Below there is the information, that I think is relevant to this problem. If
> more is needed just tell me...

You have the exact same problem as I have.  Your Cardbus bridge gets
memory windows allocated during initialization, but no IO port windows.
This seems to be related to the resource allocation code in Linux 2.4.

> Now I cannot use any PCMCIA device with this laptop, this is critical as I
> cannot have any network connection...

Use the drivers from the pcmcia-cs package instead of the kernel code.
They don't bother with the abstract interfaces provided by the kernel
and do direct pcibios_* function calls.  That works where the kernel PCI
hotplug code doesn't work for me.

Actually I *can* make it work for me, see below for the setpci hack
(replace my IO base with a free range on your computer, use the
appropriate slot number in the -s argument (that was 13.0 and 13.1 in
your case, for each of the PCMCIA slots)).


Now back to addressing the hackers who feel addressed (and Martin Mares
who I just cc'ed without remorse):  I have reported my problems already
once some time (a few 2.4 releases at least) back, but it didn't get
fixed and pcmcia-cs worked too good so I wasn't very active in this
regard.  I have a Thinkpad 1200 (more specifically 1161-267), which has
the same cardbus bridge Paulo has except for the revision, but see
below.

The problem is, in short, that the PCI code allocated memory windows for
the bridge but no IO windows.  The tulip chip on an inserted cb card
gets then memory allocated, but the driver complains that it doesn't
have IO access and stops.  Using modularized drivers I can show that
step by step:


No drivers loaded, pristine state, no memory or I/O windows:

Script started on Wed Jun 13 22:03:14 2001
[root@merv root]# lspci -vvv -s3
00:03.0 CardBus bridge: O2 Micro, Inc. OZ6812 Cardbus Controller (rev 05)
	Subsystem: IBM: Unknown device 01a3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=04, sec-latency=0
	Memory window 0: 00000000-00000000
	Memory window 1: 00000000-00000000
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite-
	16-bit legacy interface ports at 0001

[root@merv root]# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
03bc-03be : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
0cf8-0cff : PCI conf1
7000-70ff : Intel Corporation 82440MX AC'97 Audio Controller
7400-743f : Intel Corporation 82440MX AC'97 Audio Controller
7800-78ff : PCI device 8086:7196 (Intel Corporation)
7c00-7c7f : PCI device 8086:7196 (Intel Corporation)
8000-801f : Intel Corporation 82440MX USB Universal Host Controller
  8000-801f : usb-uhci
8040-804f : Intel Corporation 82440MX EIDE Controller
  8040-8047 : ide0

****
Loading the drivers, memory windows get allocated:
****
  
[root@merv root]# modprobe yenta_socket
[root@merv root]# modprobe cb_enabler
[root@merv root]# lspci -vvv -s3
00:03.0 CardBus bridge: O2 Micro, Inc. OZ6812 Cardbus Controller (rev 05)
	Subsystem: IBM: Unknown device 01a3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

[root@merv root]# dmesg | tail -15
Linux PCMCIA Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Found IRQ 11 for device 00:03.0
PCI: The same IRQ used for device 00:00.1
PCI: The same IRQ used for device 00:00.2
IRQ routing conflict in pirq table for device 00:03.0
Yenta IRQ list 02b8, PCI irq10
Socket status: 30000827
cs: cb_alloc(bus 1): vendor 0x1011, device 0x0019
PCI: Failed to allocate resource 0(1000-fff) for 01:00.0
  got res[10800000:108003ff] for resource 1 of PCI device 1011:0019
  got res[10400000:1043ffff] for resource 6 of PCI device 1011:0019
PCI: Enabling device 01:00.0 (0000 -> 0003)
Linux Tulip driver version 0.9.15-pre2 (May 16, 2001)
tulip: 01:00.0: I/O region (0x0@0x1000) too small, aborting


****
For reference, the cardbus tulip w/o IO ports:
****

[root@merv root]# lspci -vvv -s1:
01:00.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
	Subsystem: Abocom Systems Inc: Unknown device ab01
	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 10
	Region 0: I/O ports at 1000
	Region 1: Memory at 10800000 (32-bit, non-prefetchable) [size=1K]
	Expansion ROM at 10400000 [size=256K]


****
Gross hack, remove drivers, setpci IO window base register to free port
range (not sure about the IO limit register, I just set it during my
experiments):
****

[root@merv root]# rmmod -r cb_enabler
[root@merv root]# rmmod -r yenta_socket
[root@merv root]# setpci -v -s3 CB_IO_BASE_0=0x1000
00:03.0:2c 1000
[root@merv root]# setpci -v -s3 CB_IO_LIMIT_0=0x1
00:03.0:30 0001
[root@merv root]# lspci -vvv -s3
00:03.0 CardBus bridge: O2 Micro, Inc. OZ6812 Cardbus Controller (rev 05)
	Subsystem: IBM: Unknown device 01a3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	I/O window 0: 00001000-00000003
	I/O window 1: 00000000-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

****
Load driver again, which accepts the IO window base and fixes the limit:
****

[root@merv root]# modprobe yenta_socket
[root@merv root]# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
03bc-03be : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
0cf8-0cff : PCI conf1
1000-10ff : PCI CardBus #01
7000-70ff : Intel Corporation 82440MX AC'97 Audio Controller
7400-743f : Intel Corporation 82440MX AC'97 Audio Controller
7800-78ff : PCI device 8086:7196 (Intel Corporation)
7c00-7c7f : PCI device 8086:7196 (Intel Corporation)
8000-801f : Intel Corporation 82440MX USB Universal Host Controller
  8000-801f : usb-uhci
8040-804f : Intel Corporation 82440MX EIDE Controller
  8040-8047 : ide0
[root@merv root]# lspci -vvv -s3
00:03.0 CardBus bridge: O2 Micro, Inc. OZ6812 Cardbus Controller (rev 05)
	Subsystem: IBM: Unknown device 01a3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	I/O window 0: 00001000-000010ff
	I/O window 1: 00000000-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

[root@merv root]# modprobe cb_enabler
[root@merv root]# dmesg | tail -30
Yenta IRQ list 02b8, PCI irq10
Socket status: 30000827
cs: cb_alloc(bus 1): vendor 0x1011, device 0x0019
PCI: Failed to allocate resource 0(1000-fff) for 01:00.0
  got res[10800000:108003ff] for resource 1 of PCI device 1011:0019
  got res[10400000:1043ffff] for resource 6 of PCI device 1011:0019
PCI: Enabling device 01:00.0 (0000 -> 0003)
Linux Tulip driver version 0.9.15-pre2 (May 16, 2001)
tulip: 01:00.0: I/O region (0x0@0x1000) too small, aborting
cs: cb_free(bus 1)
unloading PCMCIA Card Services
Linux PCMCIA Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Found IRQ 11 for device 00:03.0
PCI: The same IRQ used for device 00:00.1
PCI: The same IRQ used for device 00:00.2
IRQ routing conflict in pirq table for device 00:03.0
Yenta IRQ list 02b8, PCI irq10
Socket status: 30000827
cs: cb_alloc(bus 1): vendor 0x1011, device 0x0019
  got res[1000:107f] for resource 0 of PCI device 1011:0019
  got res[10800000:108003ff] for resource 1 of PCI device 1011:0019
  got res[10400000:1043ffff] for resource 6 of PCI device 1011:0019
PCI: Enabling device 01:00.0 (0000 -> 0003)
Linux Tulip driver version 0.9.15-pre2 (May 16, 2001)
PCI: Setting latency timer of device 01:00.0 to 64
tulip0:  EEPROM default media type Autosense.
tulip0:  Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
tulip0:  MII transceiver #0 config 3000 status 7809 advertising 01e1.
eth0: Digital DS21143 Tulip rev 65 at 0x1000, 00:E0:98:7D:E9:9B, IRQ 10.

[root@merv root]# lspci -vvv -s1:
01:00.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
	Subsystem: Abocom Systems Inc: Unknown device ab01
	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 (5000ns min, 10000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at 1000 [size=128]
	Region 1: Memory at 10800000 (32-bit, non-prefetchable) [size=1K]
	Expansion ROM at 10400000 [size=256K]

[root@merv root]# exit

Script done on Wed Jun 13 22:13:45 2001


****

And this continues to work fine.  I'd like to get rid of the pcmcia-cs
modules and use the kernel modules, and it doesn't look like a difficult
bug (I didn't quite figure out the PCI bridge/Cardbus code, however).

-- 
 Andreas E. Bombe <andreas.bombe@munich.netsurf.de>    DSA key 0x04880A44
http://home.pages.de/~andreas.bombe/    http://linux1394.sourceforge.net/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-06-13 23:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-11  9:08 PCMCIA troubles with an Acer TravelMate 513TE Paulo E. Abreu
2001-06-13 23:18 ` O2 Micro CB bridge problems (was: PCMCIA troubles with an Acer TravelMate 513TE) Andreas Bombe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).