Comment 41 for bug 62685

Revision history for this message
Joe Clifford (joeclifford) wrote :

Hurray! I have just patched and compiled the hostap_cs driver and it works! I don't know (yet) how to write a patch but this is what I did:

  lspcmcia -v:

Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:02:03.0)
        Configuration: state: on ready: unknown
                        Voltage: 3.3V Vcc: 3.3V Vpp: 0.0V
Socket 0 Device 0: [hostap_cs] (bus ID: 0.0)
        Configuration: state: on
        Product Name: Wireless LAN 11Mbps PC Card Version 01.02
        Identification: manf_id: 0x0156 card_id: 0x0002
                        function: 6 (network)
                        prod_id(1): "Wireless LAN" (0x4b8870ff)
                        prod_id(2): "11Mbps PC Card" (0x70e946d1)
                        prod_id(3): "Version 01.02" (0x4b74baa0)
                        prod_id(4): --- (---)

So from this I added in the kernel source drivers/net/wireless/hostap/hostap_cs.c at line 861 this:

  PCMCIA_DEVICE_PROD_ID123(
  "Wireless LAN", "11Mbps PC Card", "Version 01.02",
  0x4b8870ff, 0x70e946d1, 0x4b74baa0),

in between the other wireless card definitions.

Then:
   make-kpkg clean
   make-kpkg --initrd kernel_image
in /usr/src/linux

BUT instead of installing the whole kernel I just compiled (the version number was different - linux-image-2.6.17.14-ubuntu1_2.6.17.14-ubuntu1-10.00.Custom_i386.deb) I just copied over the hostap_cs.ko module from drivers/net/wireless/hostap to the running kernel drivers directory to test it.

I then did:
sudo update-modules
sudo depmod -ae

I then blacklisted the orinoco and orinoco_cs drivers in /etc/modprob.d/blacklist and made sure none of the wireless drivers were currently loaded by sudo modprobe -r etc, inserted my pcmcia card and hey presto!

Also, I was not affected by prism2_cs trying to take over the card.

This fix should work for me and for Pascal but I don't know if it will for others. Pascal, if you want I have attached the hostap_cs.ko module. Backup the original first before you copy it over! Very hacky I know but it works for now....