DCF 660W working

Georg Wild georg.wild
Sat Mar 19 03:03:57 PST 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?

Georg Wild

More information about the Hostap mailing list