hostap driver hangs "hard"

Holger Schurig hs4233 at mail.mn-solutions.de
Thu Dec 22 03:32:40 EST 2005


I have an AmbiCom WL1100C card and want to use this card with the hostap 
driver. According to http://www.kismetwireless.net/cards.shtml (and some 
other random web pages) some people had success with this card. I don't :-)

When I insert the card, my whole kernel hangs. Here is a log of what happens:

# pccardctl insert
# hostap_crypt: registered algorithm 'NULL'
hostap_cs: CVS (Jouni Malinen <jkmaline at cc.hut.fi>)
hostap_cs: setting Vcc=33 (constant)
hostap_cs: CS_EVENT_CARD_INSERTION
prism2_config()
hostap_cs: setting Vcc=33 (from config)
Checking CFTABLE_ENTRY 0x01 (default 0x01)
IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
io->flags = 0x0046, io.base=0x0000, len=64
hostap_cs: Registered netdevice wifi0
hostap_cs: index 0x01: Vcc 3.3, irq 45, io 0xc88a0000-0xc88a003f
prism2_hw_init()

And here it hangs "hard". I have to remove the card physically:

hostap_cs: assuming no Primary image in flash - card initialization not 
completed
wifi0: test Genesis mode with HCR 0x1f
prism2_pccard_cor_sreset: original COR 00
prism2_pccard_genesis_sreset: original COR 00
Readback test failed, HCR 0x1f write 00 e1 a1 ff read 00 00 00 00
wifi0: test Genesis mode with HCR 0x0f
prism2_pccard_cor_sreset: original COR 00
prism2_pccard_genesis_sreset: original COR 00
Readback test failed, HCR 0x0f write 00 e1 a1 ff read 00 00 00 00
prism2_pccard_genesis_sreset: original COR 00
hostap_cs: CS_EVENT_CARD_REMOVAL
prism2_release
wifi0: card already removed or not configured during shutdown
release - done
wifi0: registered netdevice wlan0
prism2_detach

The last serial output before the hang might not be the real place where it 
hangs. As I said, other parts of the kernel stopped working, e.g. the 
keyboard. So maybe the serial output of my serial console stopped working as 
well. After this thought, I've added CONFIG_PRINTK_TIME to my kernel. Now it 
becomes weirder.

The output is slightly different. Above I didn't get a "initialized in XXX 
ms", now I'm getting one. Above it said that there's no primary firmware in 
the card, now it doesn't say this.

[   62.350000] prism2_hw_init()
[   62.820000] prism2_hw_init: initialized in 470 ms
[   62.820000] wifi0: trying to read PDA from 0x007f0000wifi0: Command 
completion event, but no pending commands
[   62.830000] : failed
[   62.830000] wifi0: trying to read PDA from 0x003f0000: failed
[   75.630000] wifi0: trying to read PDA from 0x00390000: failed
[   75.630000] wifi0: trying to read PDA from 0x007f0002: failed
[   75.640000] prism2_enable_aux_port: was not enabled!?
[   75.760000] prism2_enable_aux_port(0) timed out
[   75.760000] wifi0: valid PDA not found
[   75.770000] prism2_get_version_info(dev, rid fd0b, txt NIC)
[   75.770000] hostap_cs: CS_EVENT_CARD_REMOVAL
[

However, I now at least know that the "hanging" happens between the second and 
third PDA read. What should I do to debug this further?





Oh, and BTW, I don't really understand how the firmware should get into the 
card. I assume that firmware.agent should get called and use hostap_srec to 
send the firmware into the card. Unfortunately, this doesn't seem to happen.

My "/etc/hotplug.d/default/default.hotplug" and "/etc/hotplug/firmware.agent" 
both have set "DEBUG=yes export DEBUG", but I cannot see in the syslog that 
the firmware.agent get's called, just calls to pcmcia.agent, net.agent, 
drivers.agent, module.agent.



Some configuration details:

My device is based on Intel PXA255, an ARM chip (not i386). Other WLAN cards 
with other drivers work since two years :-)

The card declares itself as
   # pccardctl ident
   Socket 0:
     no product info available
   Socket 1:
     product info: "AmbiCom", "WL1100C 802.11b CF-Card", "2.2", ""
     manfid: 0xd601, 0x0002
     function: 6 (network)
It seems to be quite new, e.g. the serial number is WL2513000609. Some AmbiCom 
web page indicates that there have been some changes to the card (e.g. 
http://www.ambicom.com/support/driverdownload/ddwl1100x-CF.htm, search for 
"serial number").

Kernel is 2.6.13, and we have of course CONFIG_FW_LOADER set 

hostap_config.h is unchanged, that is, there's  PRISM2_DOWNLOAD_SUPPORT 
defined.

hostap_wlan.h has #debug DEBUG_MASK 0xff to see more output

hostap_hw.c has #define final_version, but it didn't work without this either.




More information about the HostAP mailing list