Re: [Madwifi-devel] disabling the carrier sensing
Status: Beta
Brought to you by:
otaku
From: Eric W A. <Eric.Anderson@Colorado.EDU> - 2008-04-18 00:21:18
|
Here's a patch to disable CCA, doing pretty much that: https://systems.cs.colorado.edu/projects/carp/wiki/WikiStart I've verified that it works on x86 and XScale architectures with at least two 5212 and 5213-based cards. "Verified" is a tricky word, of course. All I can say is that it's passed everything I've been able to throw at it. I used a signal analyzer to verify that it's actually tramsmitting, and a signal generator provide input which should trigger a back-off. At the very least, the patched driver will Tx over: * A sine wave * Continuously modulated FM * Continuous 802.11g-like OFDM * A continous stream of 802.11g packets (meaning no pause between frames) * A stream of 802.11g packets with a 100 usec pause between them. I've tried these at a range of power levels, and it seems to work at all levels. At the very least, it works up to a level where the "background" signal completely drowns out the wifi card and it becomes impossible to tell. At that point, the *received* power of the background signal exceeds the *transmitted* power of the card by > 10 dB, which should basically never happen in the wild. -Eric Thus spake Lrj (ren...@gm...): > Hi, Cool Fire > I've tried to disable the CCA some time earlier, but I don't verify > whether it works, and you can try it. > The way is to set the noise floor high enough to skip the CCA: > First, in the function ath_attach(), add the code "OS_REG_WRITE(ah, > 0x9864, NOISE_FLOOR);", I set the value of the NOISE_FLOOR to 0x10000. > Then, in the function ath_calibrate(), replace most part of the > function: > > #if 1 /* stop the period calibration of noise floor & force a high > enough value to the noise floor */ > OS_REG_WRITE(ah, 0x9864, 0xFFFFFFFF); > isIQdone = AH_TRUE; > #else > struct ieee80211com *ic = &sc->sc_ic; > ................... > #endif > > if (isIQdone == AH_TRUE) > ath_calinterval = ATH_LONG_CALINTERVAL; > else > ath_calinterval = ATH_SHORT_CALINTERVAL; > > Done. > And if you verified whether it works, please let me know, I'll be > very appreciated. > > > Date: Sat, 12 Apr 2008 23:23:49 -0400 > From: "cool fire" <coo...@gm...> > Subject: [Madwifi-devel] disabling the carrier sensing > To: mad...@li... > Message-ID: > <394...@ma...> > Content-Type: text/plain; charset="iso-8859-1" > > Hello all, > > For the requirement of my project I need to disable the carrier sensing > and > transit my packet like Aloha i.e. Tx it when it comes to us. I tried to > play > around with the AR5K_PHY_NF register but nothing seems to be happening. > I > have a channel monitor and able to distinguish the packet in terms of it > energy. May be there is an issue with NAV/ Virtual Carrier Sensing or > something like this I guess. Can someone direct me in the right > direction > please. > > I use 5212 card. > > Thank you. > Cool Fire > > -- > Best wishes, > Lrj, NCI > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Madwifi-devel mailing list > Mad...@li... > https://lists.sourceforge.net/lists/listinfo/madwifi-devel -- Eric W. Anderson University of Colorado eri...@co... Dept. of Computer Science phone: +1-720-984-8864 Systems Research Lab - ECCR 1B54 PGP key fingerprints: personal: 1BD4 CFCE 8B59 8D6E EA3E EBD5 4DC9 3E61 656C 462B academic: D3C5 D6FF EDED 9F1F C36D 53A3 74B7 53A6 3C74 5F12 |