Bug 57723 - Toshiba ToPIC97 PCMCIA hangs with 7.2, works with 6.2
Summary: Toshiba ToPIC97 PCMCIA hangs with 7.2, works with 6.2
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel-pcmcia-cs
Version: 7.2
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Jones
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-12-20 10:07 UTC by Red Hat Bugzilla
Modified: 2015-01-04 22:01 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-11-25 07:10:39 UTC
Embargoed:


Attachments (Terms of Use)

Description Red Hat Bugzilla 2001-12-20 10:07:44 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.2-2 i586)

Description of problem:
System: Toshiba Satellite 2105 CDS with ToPIC97 bridge.
Worked fine under RH 6.2, various failure modes in 7.2

1) With BIOS set to PCIC, PCMCIA install fails, even with boot and driver
disks.
2) Make regular boot disks (boot.img) and install RH 7.2
3) During boot, system hangs with trying to start PCMCIA unless this
options is
added to /etc/sysconfig/pcmcia:
PCMCIA=yes
PCIC=i82365
PCIC_OPTS="wakeup=1 do_scan=0"
CORE_OPTS=
CARDMGR_OPTS="-f "

However,  while this successfully boots, when a card is inserted the
machine hangs.

I attempted fixes recommended in other Bugzilla bugs, but none of them
worked,
including:

4) changing the BIOS setting to CardBus/16
PCMCIA refuses to start in this mode, complaining about bad configurations,
and IRQ
settings.

5) setting an I/O offset.
Setting the I/O offset (from lspci -v) and then restarting pcmcia didn't
work either.




Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.see above
2.
3.
	

Additional info:

Comment 1 Red Hat Bugzilla 2002-01-16 23:13:10 UTC
I'm having the same problem with Satellite 2535CDS and a 1555CDS

Comment 2 Red Hat Bugzilla 2002-01-20 22:59:25 UTC
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.




Comment 3 Red Hat Bugzilla 2002-01-21 23:15:07 UTC
rickr

Just curious, did 8.1 work on your friend's laptop?

Comment 4 Red Hat Bugzilla 2002-01-21 23:17:30 UTC
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.

Comment 5 Red Hat Bugzilla 2002-01-25 17:24:03 UTC
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.


Comment 6 Red Hat Bugzilla 2002-02-17 01:04:16 UTC
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


Comment 7 Red Hat Bugzilla 2002-02-18 06:43:51 UTC
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



Note You need to log in before you can comment on or make changes to this bug.