Cardbus support for older laptops
Forum: DSL Ideas and Suggestions
Topic: Cardbus support for older laptops
started by: jonam
Posted by jonam on June 12 2006,08:37I would like to request that the cardmgr v3.2.5 used in DSL 2.1b be included in future releases of DSL instead of v3.2.2.
The reason is that it appears that v3.2.5 has fixes to support correct routing of PCI interrupts in the yenta_socket module. This is particulary an issue with the Texas Instruments PCI series of Cardbus controllers found in many older laptops including the Compaq 1500, HP Omnibook and IBM Thinkpad series.
I tested DSL 2.4 and 2.1b on two old laptops - a Compaq 1530D and HP 5700CT and both have the TI PCI1131 controller. Neither of the two laptops would work under DSL 2.4 with my DWL-G650 wireless card.
I tried using both ndiswrapper and the Madwifi drivers. With Madwifi, I was able to get to the point where I could bring up the wireless card with an "ifconfig ath0 up" but after this, I could not get any scan results and a "cat /proc/interrupts" showed the interrupts of the Cardbus controllers stuck at zero. All other indications via dmesg, lspci and lsmod were normal.
After a lot of searching for the cause of the problem, I found two useful articles. The first was the following website which described the interrupt problem and the reason behind it:
< ELAN PCI-toPCI bridges >
The second was a post on this forum concerning ethernet cards not working on an HP5700 running DSL 2.4, but working fine on DSL 2.1b.
As a result, I changed both laptops to DSL 2.1b and got the wireless card working first time using the madwifi driver for DSL 2.0/2.1b found in the DSL repository.
Just to double check that the problem was with the Cardbus controller, I loaded DSL 2.4 onto a newer laptop (Compaq n610c) which uses a the TI PCI 14xx series of controllers. On this machine, there were no problems whatsoever and I was able to connect to an Access Point and get internet access. I also checked 16bit wired ethernet cards in all computers and they worked fine under either release of DSL. Hence the problem appears to be specific to Cardbus (32 bit).
I would think that other old laptops that might be having the same problems under recent releases of DSL could be fixed by updating the cardmgr and associated modules to 3.2.5.
I would appreciate if you could fix this problem in future releases of DSL as I would like to be able to upgrade to the latest DSL. I am otherwise very happy with DSL as it has allowed me to revive two old laptops that were destined for the scrapheap.
Posted by roberts on June 26 2006,22:13What happens when you try the boot option of pci=assign-busses ?
Posted by jonam on June 27 2006,03:03Roberts,
Thanks for the suggestion, I will try this out and let you know in a couple of days as loading 2.4 again is a messy process with both laptops (no CDROM in one, the other doesn't boot off CDROM).
Posted by Nym1 on June 27 2006,14:01Roberts, thank you for the "pci=assign-busses" boot code!
I use DSL 2.2 on a thinkpad 240. When I would boot the machine (via GRUB) with a Linksys WPC11 ver.4 card in the cardbus slot the lspci command would show:
pcilib: Cannot open /proc/bus/pci/00/07.0
pcilib: Cannot open /proc/bus/pci/00/07.1
pcilib: Cannot open /proc/bus/pci/00/07.2
pcilib: Cannot open /proc/bus/pci/00/07.3
pcilib: Cannot open /proc/bus/pci/00/09.0
pcilib: Cannot open /proc/bus/pci/00/0a.0
pcilib: Cannot open /proc/bus/pci/00/0b.0
pcilib: Cannot open /proc/bus/pci/00/0c.0
pcilib: Cannot open /proc/bus/pci/00/0c.0
lspci: Unable to read 64 bytes of configuration space.
Now, when GRUB passes the "pci=assign-busses" boot code pci "works",the card is "recognized", and wireless access can be achieved via ndiswrapper.
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
0000:00:07.0 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03)
0000:00:09.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)
0000:00:0a.0 CardBus bridge: Texas Instruments PCI1211
0000:00:0b.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 02)
0000:00:0c.0 Communication controller: Lucent Microelectronics WinModem 56k (rev 01)
0000:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC (rev 20)
Posted by jonam on July 04 2006,06:32Roberts,
Sorry, the pci=assign-busses doesn't work (HP5700).
I loaded DSL 2.4, added the madwifi-ng extension from the Testing area in the respository and then edited the grub boot command to include this cheat code before re-booting.
On re-boot, I used the same wlanconfig and iwconfig parameters required to connect to my AP as I was using in DSL 2.1b. I got as far as "ifconfig ath0 up" at which point the wireless card lights started flashing alternately without connecting to the AP. Trying to do an "iwlist ath0 scan" gave "no scan results". Doing a "cat /proc/interrupts" showed the interrupts for the Cardbus controllers stuck at 0 as before.
Reverted back to DSL 2.1b and repeated the exercise using the madwifi drivers for 2.1b from the repository and the wireless card worked first time.
Posted by NoobieDoobieDo on Feb. 13 2008,07:38
hardware : Thinkpad 240
software : DSL 4.2.5 Frugal Install
This worked well for me. DSL had never previous booted my TI PCMCIA card + USB mouse but using your code it worked, kinda.
When DSL booted it properly detected the card but isnmod spit out a bunch of stuff about usb-hci.o or something. By this point the mouse was receiving power, something previously not achieved in DSL.
However in DSL the mouse didn't work. My usual built in mouse worked fine but not the USB+PCMCIA mouse. I re-ran the xsetup.sh and picked USB mouse.
Now the USB mouse works but the built in mouse is totally disabled. In Win2k and Puppy Linux I can use both devices at the same time. I'll tool around with this since I doubt it's too hard to get both devices `up` at the same time.
Thanks for the tip
Posted by curaga on Feb. 13 2008,08:03Edit .xinitrc, since all mouse devices have their own devices, but also gather at /dev/input/mice.
Longer explanation: tinyX can only use one mouse device. If you select ps/2, it will use the ps/2 mouse device. Likewise with usb. But if you change it manually to the device which gets movements from all mice, you should be able to use both.