[Madwifi-devel] latest madwifi on 5200 ppc
Status: Beta
Brought to you by:
otaku
From: Sergei P. <spo...@em...> - 2005-04-22 15:48:08
|
Hi all, I'm trying to bring up the Proxim Orinoco 11b/g PC Card (AR5212 chip) on custom MPC5200 based board with pcmcia cardbus controller. Customer claims that he tried WLAN and other cards on this and all works well. Successfully built the latest madwifi built for powerpc-be-eabi. Loaded ath_pci with modprobe and it shows: ath_pci: 0.9.4.12 (EXPERIMENTAL) ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps ath0: mac 5.9 phy 4.3 radio 4.6 ath0: 802.11 address: 00:20:a6:51:f4:eb ath0: Use hw queue 0 for WME_AC_BE traffic ath0: Use hw queue 1 for WME_AC_BK traffic ath0: Use hw queue 2 for WME_AC_VI traffic ath0: Use hw queue 3 for WME_AC_VO traffic ath0: Atheros 5212: mem=0x44800000, irq=6 ifconfig ath0 up seems starts station scan. iwconfig seems shows reasonable data: bash-2.05b# iwconfig ath0 ath0 IEEE 802.11 ESSID:"" Mode:Managed Frequency:2.462 GHz Access Point: FF:FF:FF:FF:FF:FF Bit Rate:1 Mb/s Tx-Power:50 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 bash-2.05b# The problem is the card cannot find the station, even if I set ESSID, channel and AP's macaddr manually. The station is fixed on channel 11 and when I set up the card to this channel with 'iwconfig ath0 channel 11' I can see a lot of incoming Rx packets using 'athdebug recv_desc'. Also the 'ath0: hardware error; reseting' appears periodically. 'iwlist ath0 scan' returns no 'scan results'. I digged a little and found that none of incoming Rx packets are accepted because of the status returned by ath_hal_rxprocdesc() is HAL_EINPROGRESS (if_ath.c, ath_rx_tasklet()): ... status = ath_hal_rxprocdesc(ah, ds, bf->bf_daddr, PA2DESC(sc, ds->ds_link)); #ifdef AR_DEBUG if (sc->sc_debug & ATH_DEBUG_RECV_DESC) { ath_printrxbuf(bf, status == HAL_OK); printk("status: %#x\n", status);//psl } #endif if (status == HAL_EINPROGRESS) break; ... I'm pretty stuck on this and any help will be greatly appreciated. Thanks in advance, Sergei |