hostap driver hangs "hard"

Holger Schurig hs4233 at
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 (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>)
hostap_cs: setting Vcc=33 (constant)
hostap_cs: setting Vcc=33 (from config)
Checking CFTABLE_ENTRY 0x01 (default 0x01)
IO window settings: cfg->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

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

hostap_cs: assuming no Primary image in flash - card initialization not 
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
wifi0: card already removed or not configured during shutdown
release - done
wifi0: registered netdevice wlan0

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., 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 

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