Problem with Sierra Wireless AC775 on PCIxx12 Cardbus Controller

Edouard TISSERANT edouard.tisserant at lolitech.fr
Thu Dec 21 12:50:21 EST 2006


Marc,

Many thanks for your answer.

I've the good firmware, and be sure everything is OK on the 
configuration point of view. I use the same config on anther laptop, and 
it works.

The problem has very similar symptoms to the Yenta TI/ICH6 problem 
(bugzilla.kernel.org : 2944). I have ICH7 based laptop (Acer Aspire 
9814WKMi). Here is my lspci:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 
945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 
945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High 
Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express 
Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express 
Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express 
Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express 
Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI 
#1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI 
#2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI 
#3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI 
#4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI 
Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GHM (ICH7-M DH) LPC Interface 
Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) 
Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller 
(rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce Go 
7600] (rev a1)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E 
Gigabit Ethernet Controller (rev 12)
07:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG 
Network Connection (rev 02)
09:04.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 
Video Broadcast Decoder (rev d1)
09:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
09:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant 
IEEE 1394 Host Controller
09:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia 
Card Reader (SD/MMC/MS/MS PRO/xD)
09:06.3 Class 0805: Texas Instruments PCIxx12 SDA Standard Compliant SD 
Host Controller

I've checked that the bug #2944 "parent subordinate# fixup" patch 
provided was already present in my kernel (2.6.19). It does not work, 
even with this patch.

I've tried to track bug into the 2.6.19 kernel, without success. Here is 
the scenario :
    - serial_cs cannot get good parameters for serial port. port, ttyS1, 
is then badly configured. UART is not detected.
    - in simple_config, line 479, pcmcia_get_configuration_info retur 
successfull, but (config.Attributes & CONF_VALID_CLIENT) is False !!
    - this mean that for my device 
(pcmcia_device->function_config->state & CONFIG_LOCKED) is true. I 
tested it.
    - I could not figure why. I disabled this check, so that 
pccard_get_configuration_info execution reach bottom of the function, 
thinking that CONFIG_LOCKED is "accidental".
    - It didn't changed anything... I stopped tracking bug here. I'm 
sorry, but I do not well understand PCMCIA/PCI tricks, and code lacks of 
comments :-)

Then I tried kernel 2.6.20-rc1-mm1, which embed last git pcmcia code. It 
seems better:
    - Setserial /dev/ttyS1 tells me serial port IRQ is #21, as in 
windows XP, instead of 3, totaly wrong
    - UART is not detected.
    - I could not find time to track the bug with some printk... If you 
know a better way...


Here is interesting parts of my dmesg:

[when yenta modul is loaded]
bus pci: add driver yenta_cardbus
pci: Matched Device 0000:09:06.0 with Driver yenta_cardbus
pci: Probing driver yenta_cardbus with device 0000:09:06.0
Yenta: CardBus bridge found at 0000:09:06.0 [1025:006c]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:09:06.0, mfunc 0x01a61b22, devctl 0x66

[...]
Yenta: ISA IRQ mask 0x0c78, PCI irq 21
Socket status: 30000006
[here, you can see the bug #2944 patch doing is job]
Yenta: Raising subordinate bus# of parent bus (#09) from #09 to #0d
pcmcia: parent PCI bridge I/O window: 0x7000 - 0x7fff
pcmcia: parent PCI bridge Memory window: 0xd2000000 - 0xd20fffff
pcmcia: parent PCI bridge Memory window: 0x88000000 - 0x89ffffff
CLASS: registering class device: ID = 'pcmcia_socket0'
class_uevent - name = pcmcia_socket0
bound device '0000:09:06.0' to driver 'yenta_cardbus'
pci: Bound Device 0000:09:06.0 to Driver yenta_cardbus

[later, when inserting card]
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcffff 
0xdc000-0xfffff
cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
cs: memory probe 0x88000000-0x89ffffff: excluding 0x88000000-0x89ffffff
cs: memory probe 0xa0000000-0xa0ffffff: clean.
cs: memory probe 0xd2000000-0xd20fffff: excluding 0xd2000000-0xd200ffff
pcmcia: registering new device pcmcia0.0
DEV: registering device: ID = '0.0'
PM: Adding info for pcmcia:0.0
bus pcmcia: add device 0.0
bus pcmcia: add driver serial_cs
DEV: registering device: ID = '0.0'
PM: Adding info for No Bus:0.0
dev_uevent - dev_uevent() returned -19
DEV: Unregistering device. ID = '0.0'
PM: Removing info for No Bus:0.0
pcmcia: Matched Device 0.0 with Driver serial_cs
pcmcia: Probing driver serial_cs with device 0.0
pcmcia: request for exclusive IRQ could not be fulfilled.
pcmcia: the driver needs updating to supported shared IRQ lines.
DEV: Unregistering device. ID = 'ttyS1'
PM: Removing info for No Bus:ttyS1
device_create_release called for ttyS1
DEV: registering device: ID = 'ttyS1'
PM: Adding info for No Bus:ttyS1
bound device '0.0' to driver 'serial_cs'
pcmcia: Bound Device 0.0 to Driver serial_cs

# setserial /dev/ttyS1
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 21

By the way, the all-in-one card reader does not work. dmesg tells many 
IO errors when trying to access the inserted SD card. I think both 
problems have same origin : IO mapping.

Sorry for the long post.

I'm waiting your instructions to definitively track and kill those bugs.

Regards,

Edouard




Marc F. Clemente a écrit :
> As a followup to my previous post, I got it working.
>
> I actually did this:
> cp SW_775_SER.dat /lib/firmware/SW_7xx_SER.cis
>
> Let me know what happens for you.
>
> Cheers,
>
> Marc
>
>




More information about the linux-pcmcia mailing list