16 Jul 2005 (updated 16 Jul 2005 at 04:54 UTC)
»
ok, I've been cursing D-Link for almost a year and I was wrong. It's not their fault my DWL-G650 doesn't works but yenta_socket driver (O2Micro oz6812 CardBus controller). I just got another Atheros based cardbus from 3com and it didn't worked as DWL-G650 didn't. tx works flawlessly but there're lots of lost packets in rx because of frame errors and it happens on windows too (windows xp service pack 2, latest drivers from D-Link and 3com). In linux is easy to notice it:
root@matthew:~/data# ping 192.168.67.1
PING 192.168.67.1 (192.168.67.1): 56 data bytes
64 bytes from 192.168.67.1: icmp_seq=0 ttl=64 time=1.5 ms
wrong data byte #20 should be 0x14 but was 0x0
0 10 18 1 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33
34 35 36 37 0 0 0 0 84 dc 5 8 ff ff ff ff
64 bytes from 192.168.67.1: icmp_seq=4 ttl=64 time=1.3 ms
wrong data byte #20 should be 0x14 but was 0x0
0 10 18 1 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33
34 35 36 37 0 0 0 0 84 dc 5 8 ff ff ff ff
googling a bit I found
this
link to a forum. in this thread someone is reporting that actully there's a problem with atheros chipsets and oz6812 cardbus controller. then I started playing with yenta_socket driver checking
oz8612 datasheet and seems I found the problem: oz6812 shouldn't enable write burst/prefetching and I'm not sure why yet (because this I didn't sent the patch yet) the first byte at 0xD4 should be zeroed. The fact is that I have my both atheros based cards working now and as soon as I find some kind of theory I'll send the patch to lkml and madwifi-users. this was a wonderful day 8)