Bug 57723
Summary: | Toshiba ToPIC97 PCMCIA hangs with 7.2, works with 6.2 | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Red Hat Bugzilla <bugzilla> |
Component: | kernel-pcmcia-cs | Assignee: | Dave Jones <davej> |
Status: | CLOSED WONTFIX | QA Contact: | Brian Brock <bbrock> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | CC: | janl, ncowger, pfrields |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-11-25 07:10:39 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Red Hat Bugzilla
2001-12-20 10:07:44 UTC
I'm having the same problem with Satellite 2535CDS and a 1555CDS I don't have a Toshiba, but here are the comments a friend of mine just made minutes ago. Its too late for him, he has already joined the ranks of the Mandrake defectors, but maybe this will get this bug raised to the priority it deserves at Redhat ... > well, after LOTS of beer, many hours and little sleep... > > RH7.2 is now written off as useless on modern Toshiba laptops here. > > I tried absolutely everything I could think of to get the PCMCIA to work > and I can't. I used the PCMCIA boot disks and extra drivers, I built > a custom kernel, enabling the Toshiba laptop support, and I toggled > the PCMCIA mode in the BIOS between PCIC compatible and Cardbus/16-bit > and none of this got me any joy. The best I got was not hanging on > PCMCIA startup as long as no PCMCIA cards were installed... but if a > card was in a slot, she would lock up tighter than a drum just after > starting PCMCIA services. It locks so hard that poweroff is the only > way out. > > Enough is enough. Mandrake 8.1 is in the process of installing and > I'm not looking back (at least on this particular Toshiba laptop). And here are some other comments from another friend... > Just a data point that may or may not be relavent here. > > I once found a bug where my laptop woud hang on the first boot after the > installation at the point of 'starting pcmcia'. What happened was odd but > it was doing this ... > 1. modules.conf had a line for pcmcia that in addition to loading > the module it also called "/etc/init.d/pcmcia start". There is a way in > that file to both load modules and run binaries. > 2. /etc/init.d/pcmcia get's started, and what does it do? Well, it > loads the module again which causes /etc/init.d/pcmcia to start > recursively. > This loop continued for about 4 hours and then it magically stopped. I > found the bug and reported it to Mandrake. I'm not sure if it ever > existed in the RedHat tree but it looked like something can happen during > install that causes the installation program not to clean up modules.conf > before rebooting. > > I ended up removing the recursive call in modules.conf and the laptop has > been happy since. rickr Just curious, did 8.1 work on your friend's laptop? I have an update on the local front, more of an FYI. I bought a USB to ethernet converter to get at least some connectivity, and for kicks, tried inserting the PCMCIA network card after the eth0 link was established with the USB device. It didn't hang on insert, but did hang when I tried to configure the eth1 network interface. Dell Inspiron 5000. kernel-pcmcia-cs+hotplug does not work very well: - When resuming after suspend or standby the pcmcia-(network)cards does _NOT_ reinitialize and the card has to be reinserted to cause reinitiation. It does not help to set PCMCIARESTART in the apm setup. The logs seem to indicate that there is no suspend method for the hotplug scripts. - When resuming after suspend or standby the disk does not always spin up again. - When resuming after suspend or standby the machine does not always come back at all. When removing the kernel-pcmcia-cs and hotplug packages and installing kernel-pcmcia-cs-2.2.19-7.0.12 all these problems go away. They stay away even when updating the drivers and binaries from David Hinds pcmcia-cs package. Here is the complete final report from my friend. He's a tired but happy camper now. -Rick ======================================================== I think the definition of insanity is doing the same thing over and over and expecting a different result. That's pretty much what I have been doing here for days on end trying to get these wireless cards working correctly with Linux kernel 2.4. I pretty much tried every permutation of kernels, drivers and configurations that I could think of-- eliminating all of the deadend paths. The saga has finally reached a useful conclusion after several man years of work :-) Here's my story and I'm sticking to it. File to /dev/null or save as you see fit: ---- 02/16/2002 C. Elmquist How to get Orinoco and D-Link DWL-650 wireless cards working with Linux 2.4 on Toshiba 2180 CDT laptop. The approach is to use Mandrake Linux 8.1 which does not have PCMCIA support built into the kernel. PCMCIA support will be provided by pcmcia-cs package built external to kernel. Additionally, the current (tip) of the Orinoco wireless driver will be used to obtain the best support for both the Orinoco and the Prism2 based card in one driver while still maintaining compatibility with the wireless LAN tools such as iwconfig. Other Prism2 drivers such as wlan-ng may function the card more reliably but they do not work with the wireless LAN tools. The pcmcia-cs package has much improved support for the Toshiba ToPIC PCI to PCCARD bridge in the i82365.o driver module. The 'yenta_socket' in RedHat's kernel 2.4.9 (RH7.2 distribution) fails miserably with guaranteed lockup of the machine during boot. RedHat has really ignored laptop and PCMCIA support for years. The drivers they build into the kernel are circa 1999 and are missing huge numbers of improvements for all of the issues I faced trying to get these cards working. Toshiba 2180 BIOS setting ------------------------- Hit <escape> then <F1> to enter BIOS settings just after powering up laptop. second page of BIOS settings has option to change PCCard slot to "Auto Detect", "PCIC Compatible" and "Cardbus/16-bit". Choose "Cardbus/16-bit". Any other choice will fail to register interrupts correctly with PCI subsystem. Mandrake Linux release 8.1 -------------------------- must have kernel-source-2.4.8-26mdk installed on machine. This is the stock kernel source for the Mandrake 8.1 distribution and puts kernel source tree in /usr/src/linux. obtain pcmcia-cs-3.1.31.tar.gz from sourceforge: http://sourceforge.net/projects/pcmcia-cs/ untar in /usr/src make all default answers to all questions except, For kernel-specific options, Choose (2) "Read from Linux source tree" make install must have Orinoco driver 0.9b from: http://ozlabs.org/people/dgibson/dldwd/ see also: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Orinoco.html#drivers untar into /usr/src edit Makefile andadd these lines to the CPPFLAGS= definition: -DMODVERSIONS -include $(KERNEL_SRC)/include/linux/modversions.h \ -I/usr/src/pcmcia-cs-3.1.31/include make install depmod -a reboot or 'service pcmcia restart' enjoy wireless connectivity with a cheapy Prism2 or a high quality Lucent Orinoco card. Conclusion ---------- Orinoco cards work very well. No errors on loading / unloading drivers, etc. Prism2 card (specifically D-Link DWL-650) issues a slew of errors on driver loading relating to writing keys and writing packet header to BAP. After these errors pass, card appears to function normally. Theoretically, it should be possible to build a custom kernel for RedHat that does not have PCMCIA kernel support turned on. Once that kernel is installed along with its source tree, the same recipe should produce the same results. I tried this and did not have success (but it was 2am and I was tired) so YMMV-- try it. cje And, here is the FINAL, FINAL conclusion from my friend, who now has
a recipe for making it fly with RH7.2, although it requires a custom kernel
build.
BTW, I am surprised at the total lack of RH participation in this discussion.
-Rick
======================================================
I now have a followup: (Ricky-- you might want to submit this to
Bugzilla too if you don't mind).
> Theoretically, it should be possible to build a custom kernel for RedHat
> that does not have PCMCIA kernel support turned on. Once that kernel is
> installed along with its source tree, the same recipe should produce the
> same results. I tried this and did not have success (but it was 2am and
> I was tired) so YMMV-- try it.
Since I have nothing but time on my hands, I decided to trash the
Mandrake install and go for the Gold with RedHat. I succeeded.
Here's the recipe...
Rebuild RedHat's kernel 2.4.9-13 from the source .rpm that they
provide. Use 'make menuconfig' or 'make xconfig' and under
'General Setup' / 'PCMCIA/Cardbus Support', disable PCMCIA/Cardbus
support.
Since you're rebuilding the kernel, you might as well choose the
optimal processor for your target machine under 'Processor type and
features' and possibly disable other stuff your laptop will never use
such as Telephony support and ISDN, etc.
Build the kernel and modules per traditional instructions.
Install kernel and modules on target machine.
Build and install pcmcia-cs-3.1.31 from source tarball on target machine.
Edit /etc/pcmcia/config and change the binding for
"Lucent Technologies", "WaveLAN/IEEE"
and
"Intersil Prism2 11 Mbps Wireless Adapter"
from "wvlan_cs" to "orinoco_cs".
Edit /etc/pcmcia/wireless.opts and remove the block near the top
that says to do so to enable the following configurations. Then
configure the Lucent section and/or the default section (at the bottom)
for your network ESSID, keys, rate, etc.
*** HERE'S THE REAL SECRET FOR THE LINKSYS DWL-650 CARD ***
In the device section near the top of /etc/pcmcia/config, modify the
"class" statement to read as follows:
class "network" module "hermes", "orinoco", "orinoco_cs" opts
"ignore_cis_vcc=1"
The real problem with the D-Link cards is that they incorrectly report
their required supply voltage to the card services subsystem. Apparently,
they request 3.3v but only reliably work at 5v. This module option forces
them to 5v (even though 'cardctl status' will still report 3.3v). This
completely cleared up any errors I was getting from the card and bizarre
dmesg entries from Orinoco_cs claiming that the card was using 104-bit
encryption :-) With this secret applied, the Prism2 card appears to
give better signal quality reports than a Lucent card from the same
location. YMMV. Could just be an anomalous decrease in Bogon flux at this
particular moment.
So, no need to fetch the 0.9b version of the Orinoco driver.Infact,
that one actually works worse that the 0.8 version that is supplied
with pcmcia-cs-3.1.31. Come to think of it, you can't even build 0.9b version
unless you upgrade to kernel-2.4.12 or later anyway.
This should be the final, final conclusion... I now have all the
Lucent cards and Prism2 cards in my possession working with RH7.2 on
two Toshiba laptops... an ancient 420CDT and a slightly more modern
2180CDT. Whew. Time for a beer... oh, wait, I already had LOTS of
beer during this adventure.
cje
|