DCF 660W working

Georg Wild georg.wild at gmx.de
Sat Mar 19 06:03:57 EST 2005


Hello everybody,

I bought a D-Link DCF 660W WLAN card for my Zaurus SL-C 3000 (HW Ver.:
A1, FW Ver.: 1.7.4).

Now it is not working. I did some experiments and realized that it has
maybe sth to do with the highest bit of param0-2.
I changed the initialization code in hostap_download.c a bit to get more
debug output:

> printk("Eigenbau (dev->baseaddr %x)!\n",dev->base_addr);
>     outw(HFA384X_AUX_MAGIC2, HFA384X_PARAM2_OFF+dev->base_addr);
>     printk("Returned for MAGIC2: 
> %x\n",inw(HFA384X_PARAM2_OFF+dev->base_addr));
>     outw(HFA384X_AUX_MAGIC1, HFA384X_PARAM1_OFF+dev->base_addr);
>     printk("Returned for MAGIC1: 
> %x\n",inw(HFA384X_PARAM1_OFF+dev->base_addr));
>     outw(HFA384X_AUX_MAGIC0, HFA384X_PARAM0_OFF+dev->base_addr);
>     printk("Returned for MAGIC0: 
> %x\n",inw(HFA384X_PARAM0_OFF+dev->base_addr));
>         printk("Aux2: %x,%x,%x\n",inw(HFA384X_PARAM0_OFF+dev->base_addr),
>                
> inw(HFA384X_PARAM1_OFF+dev->base_addr),inw(HFA384X_PARAM2_OFF+dev->base_addr)); 
>
>
> for (i2=0; i2<=80; i2++) { data[i2]=inw(dev->base_addr+i2);}
> printk("ReadOut: ");
> for (i2=0; i2<=80; i2=i2+2) {printk("%x,",data[i2]); }
> printk("\n");
>
> printk("/Eigenbau!\n");

What I get as log output is:

> <4>Eigenbau (dev->baseaddr f6000000)!
> <4>Returned for MAGIC2: 3a45
> <4>Returned for MAGIC1: dc23
> <4>Returned for MAGIC0: fe01
> <4>Aux2: 7e01,5c23,3a45
> <4>ReadOut: 
> 0,7e01,5c23,3a45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,0,0,0,0,7e01,5c23,3a45,0,0,0,0,0,
> <4>/Eigenbau!

It looks for me that the highest bit in Param0-2 is accidentially reset.
It seems the correct value stands in the memory for a short time and
then the highest bit is deleted causing the aux port not to be enabled.

Are there any ideas?

Greetings
Georg Wild




More information about the HostAP mailing list