kernel 2.6.17: hostap_cs not working, used to work on older kernels

claytonk at 163.com claytonk
Sun Oct 22 07:02:25 PDT 2006


On Sat, 21 Oct 2006 19:40:38 +0300 (EEST)
"Jar" <jar at pcuf.fi> wrote:

> So wired card works in pd6729 thinkpad and another non-pd6729? But
> hostap (prism2) wireless card doesn't work either one, right?

Wired cards seem to work everywhere on everything. The two prism2 wireless cards that I am most concerned about both have worked flawlessly with hostap_cs in the past. In fact, I have a roll-my-own-2.6.16-kernel/hotplug/pcmcia-cs Debian Etch box where both should work now, though it has been a while since I tried them.

Now one of my prism2 cards does not work with either hostap_cs or orinoco_cs under my newly installed udev. The other works on at least one udev box with orinoco_cs, but does not work with hostap_cs, so lets talk about that one. See below for a discussion of what works where.

> Does the wireless card work in pd6729 thinkpad with orinoco_cs?

Doesn't seem to, but comes awfully close (see below)

> Which firmware versions pri/sta you have in the wireless card?

>From syslog below:
kernel: eth0: Firmware determined as Intersil 1.4.9

> > As far as I can tell, on both thinkpads I am running an absolutely
> > vanilla Debian Etch (latest and greatest kernel/udev/pcmciautils)
> > which is about to
> 
> So you have working setup with pcmciautils. And there is absolutely
> no old and obsolete cardmgr stuff in that pc which could cause
> disturbance, right?

That is a bit of aggro I have already been through. Under Debian if I simply remove pcmcia-cs, I have had major problems. So now when I remove pcmcia-cs I "purge" it, which under apt-get I believe should remove all traces of the package, including configuration files and startup scripts. In any case, purging has resulted in less problems and more success.

> When you boot the pd6729 thinkpad, the hostap_cs driver doesn't get
> loaded, but is orinoco_cs loaded instead?

For this box, hostap_cs seems to always get loaded for this card unless I blacklist it. orinoco_cs needs to be manually modprobed. See below.

What follows is more detail:

--------------------------

This is the prism2 card that seems to work most reliably at the present, ie. it works with orinoco_cs but not hostap_cs:

        Product Name:   INTERSIL HFA384x/IEEE Version 01.02
        Identification: manf_id: 0x0156 card_id: 0x0002
                        function: 6 (network)
                        prod_id(1): "INTERSIL" (0x74c5e40d)
                        prod_id(2): "HFA384x/IEEE" (0xdb472a18)
                        prod_id(3): "Version 01.02" (0x4b74baa0)
                        prod_id(4): --- (---)

-------------------------

On a Thinkpad X20 using yenta_cardbus (kernel image 2.6.17-2-686)

-------------------------

* orinoco_cs works just fine with hostap_cs blacklisted.

* without neither hostap_cs nor orinoco_cs blacklisted, both orinoco_cs and hostap_cs are loaded, but orinoco_cs seems to have control and everything works fine.

* with orinoco_cs blacklisted, hostap_cs loads automatically, but does not work:

kernel: pccard: PCMCIA card inserted into slot 0
kernel: pcmcia: registering new device pcmcia0.0
kernel: ieee80211_crypt: registered algorithm 'NULL'
kernel: hostap_cs: 0.4.4-kernel (Jouni Malinen <jkmaline at cc.hut.fi>)
kernel: hostap_cs: setting Vcc=33 (constant)
kernel: Checking CFTABLE_ENTRY 0x01 (default 0x01)
kernel: IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
kernel: io->flags = 0x0046, io.base=0x0000, len=64
kernel: hostap_cs: Registered netdevice wifi0
kernel: hostap_cs: index 0x01: , irq 3, io 0x0100-0x013f
kernel: prism2_hw_init: initialized in 200 ms
kernel: wifi0: NIC: id=0x800c v1.0.0
kernel: wifi0: PRI: id=0x15 v1.1.0
kernel: wifi0: STA: id=0x1f v1.4.9
kernel: wifi0: defaulting to bogus WDS frame as a workaround for firmware bug in Host AP mode WDS
kernel: wifi0: registered netdevice wlan0

So far so good, but:

ifconfig -a contains no wifi0, and just this strangeness:

wlan0_ren Link encap:Ethernet  HWaddr 00:02:6F:34:96:3C
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:3 Base address:0x100

# ifup wlan0=roam does not work:

Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; No such device.
Error for wireless request "Set ESSID" (8B1A) :
    SET failed on device wlan0 ; No such device.
Internet Software Consortium DHCP Client 2.0pl5
<snip>
eth1: unknown hardware address type 801
sit0: unknown hardware address type 776
wlan0: ERROR while getting interface flags: No such device
eth1: unknown hardware address type 801
sit0: unknown hardware address type 776
Bind socket to interface: No such device

# ifup wlan0_ren=roam gives exactly the same results, just replace wlan0 with wlan0_ren.

-------------------------

On a Thinkpad 560e with a pd6729 (kernel image 2.6.17-2-486)

-------------------------

******** with hostap_cs blacklisted nothing gets loaded automatically on card insertion.

kernel: pccard: PCMCIA card inserted into slot 0
kernel: cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa00fffff
kernel: pcmcia: registering new device pcmcia0.0

On modprobe orinoco_cs:

kernel: orinoco 0.15rc3 (David Gibson <hermes at gibson.dropbear.id.au>, Pavel Roskin <proski at gnu.org>, et al)
kernel: orinoco_cs 0.15rc3 (David Gibson <hermes at gibson.dropbear.id.au>, Pavel Roskin <proski at gnu.org>, et al)
kernel: eth0: Hardware identity 800c:0000:0001:0000
kernel: eth0: Station identity  001f:0009:0001:0004
kernel: eth0: Firmware determined as Intersil 1.4.9
kernel: eth0: Ad-hoc demo mode supported
kernel: eth0: IEEE standard IBSS ad-hoc mode supported
kernel: eth0: WEP supported, 104-bit key
kernel: eth0: MAC address 00:02:6F:34:96:3C
kernel: eth0: Station name "Prism  I"
kernel: eth0: ready
kernel: eth0: index 0x01: , irq 5, io 0x0140-0x017f

ifconfig -a shows wlan0 !! (this is orinoco_cs!!)
wlan0     Link encap:Ethernet  HWaddr 00:02:6F:34:96:3C

# ifup wlan0=roam
results in dhclient timing out without success, and(??):
kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready

******** with orinoco_cs blacklisted, hostap_cs loads automatically, but does not work:

kernel: pccard: PCMCIA card inserted into slot 0
kernel: cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa00fffff
kernel: pcmcia: registering new device pcmcia0.0
kernel: ieee80211_crypt: registered algorithm 'NULL'
kernel: hostap_cs: 0.4.4-kernel (Jouni Malinen <jkmaline at cc.hut.fi>)
kernel: hostap_cs: setting Vcc=33 (constant)
kernel: Checking CFTABLE_ENTRY 0x01 (default 0x01)
kernel: IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
kernel: io->flags = 0x0046, io.base=0x0000, len=64
kernel: hostap_cs: Registered netdevice wifi0
kernel: hostap_cs: index 0x01: , irq 5, io 0x0140-0x017f
kernel: prism2_hw_init: initialized in 200 ms
kernel: wifi0: hfa384x_cmd: entry still in list? (entry=b3284b60, type=0, res=0)
kernel: wifi0: hfa384x_cmd: command was not completed (res=0, entry=b3284b60, type=0, cmd=0x0021, param0=0xfd0b, EVSTAT=8010 INTEN=0010)
kernel: wifi0: interrupt delivery does not seem to work
kernel: wifi0: hfa384x_get_rid: CMDCODE_ACCESS failed (res=-110, rid=fd0b, len=8)
kernel: Could not get RID for component NIC
kernel: hostap_cs: Initialization failed
kernel: prism2_config() failed
kernel: hostap_cs: probe of 0.0 failed with error 1

ifconfig -a contains just wifi0 and no wlan0.

******** without neither hostap_cs nor orinoco_cs blacklisted, only hostap_cs is loaded and behavior is exactly as above.

Hope you can make some sense out of all this,
Clayton





More information about the Hostap mailing list