Tx power adjustments with v1.23

Discussion in 'Tomato Firmware' started by nvtweak, Mar 15, 2009.

  1. nvtweak

    nvtweak LI Guru Member


    From a SSH session, I can do:

    wl txpwr1 -m 84


    wl txpwr1 -m 5

    but I see no difference in signal strength from the default. The same goes for changing it via the user interface. It doesn't seem to work.

    Does anyone else have a problem like this?

    BTW, I use programs like Netstumbler and inSSIDer to check signal strength. I also have another router in wireless bridge mode that lets me see it.

    Thank you for your time.
  2. nvtweak

    nvtweak LI Guru Member

    Could anyone confirm that adjusting Tx power does or does not work (especially on newer routers like mine which require the new driver (ND) builds)?

  3. landa

    landa LI Guru Member

    I noticed the same thing. There is no difference between 28 and 42.
  4. bogderpirat

    bogderpirat Network Guru Member

    apparently you need to reboot the router before the changes take effect.
  5. nvtweak

    nvtweak LI Guru Member

    Hi guys thanks for your help

    Unfortunately even after a reboot my signal is not changing anything worth mentioning. And this is from 5 mW to 42mW to 84 mW (rebooted between each change).

    I just flashed DD-WRT firmware and saw signal move from -90 dBm to -78 dBm :eek: so it is clearly working much better there.
  6. nvtweak

    nvtweak LI Guru Member

    Here's a pic

  7. landa

    landa LI Guru Member

    The idea is that the TX modification does not improves connection capabilities because the RX can not be changed on the wireless client.
  8. nvtweak

    nvtweak LI Guru Member

    does that explain why my connection is so much better with dd-wrt? :confused:

    with Tomato I am getting low speed and dropouts
  9. RonWessels

    RonWessels Network Guru Member

    @nvtweak, could you do a few experiments that might help localize the problem?

    Try running older versions of Tomato and see where the problem first shows up. If a particular version introduces the problem, it's much easier to see what happened for that version and why that would affect Tx power.

    By the way, your posted plots seem pretty definitive that there is a problem somewhere.
  10. nvtweak

    nvtweak LI Guru Member

    Hi Ron,

    Yes I will give some other versions a try as soon as I get a chance today. However, I cannot go back but so far because my router requires the ND version. If the problem is driver related, firmware version might not make a difference. We will see.

    Thanks for your interest.
  11. nvtweak

    nvtweak LI Guru Member

    Tomato 1.19 actually has a much stronger signal, more in line with dd-wrt now. However I can only lower txpower with this version. Attempting to raise it above default 42 mW does not work.

    With Tomato 1.23, the signal is weak and cannot raise or lower txpower. Something is wrong there I guess.
  12. nvtweak

    nvtweak LI Guru Member

    The problem with my wireless signal was related to the wl country code. In new versions of Tomato it is set to JP and this is what kills my wireless signal. I set it to US and the signal gets much stronger.

    wl country US

    I think I may end up patching the source and recompiling to fix this. Right now I am just changing things from SSH.
  13. fyellin

    fyellin LI Guru Member

    Coincidentally, I noticed yesterday for the first time yesterday that "country" was set to JP. Is this intended to allow access to Channels 12, 13, and 14 which may or may not be legal in the US?

    You may want to consider modifying the NVRAM variables wl0_country, wl0_country_code, wl_country, and wl_country_code, all of which are set to JP. This might be sufficient to let your changes survive a reboot.

    ======== Edited 10 minutes later ===============

    Ignore the last paragraph. It looks like the country code is set to JP at reboot. Why?
  14. nvtweak

    nvtweak LI Guru Member


    yes I think Jon set it to JP to fix upper channels. But he apparently didn't notice the side effect of doing such a thing.

    The wl_country variables are initialized after every reboot. I have plans to fix it in source code. Easy enough to change in rc/init.c

    Another way to set country code is by command or script.

    wl country US
  15. fyellin

    fyellin LI Guru Member

    I also note that "wl txpwr1" includes the "-o" option, which claims to disable regulatory and other limitations. So "wl txpwr1 -o -m 100" may be all you need to set the power to 100mw, even if the router thinks you're in Japan. This seems simpler than a recompile.
  16. nvtweak

    nvtweak LI Guru Member

    It would be simpler if it worked ;) but it doesn't. The only thing that works for me so far is changing country code.

    Anyhow, I'm ecstatic now that I've got Tomato back on my router with a great signal. :biggrin: It literally went from 1 bar "Poor" with dropouts to 5 bars "Excellent".

    Thanks once again everyone for your help.
  17. fyellin

    fyellin LI Guru Member

    Excellent. :thumbup:

    If I want to try this when I get home, can I just run "wl country US; wl txpwr 100"? Or do I need to cycle the wireless, too?
  18. bripab007

    bripab007 Network Guru Member

    So, can we put this in the WAN Up script page?:

    wl country US
    wl txpwr 100
  19. nvtweak

    nvtweak LI Guru Member

    the txpwr commands I still haven't fully figured out. It seems they only work half of the time.

    Right now it's working. Here's what I did.

    I log into SSH, ran these commands

    nvram set wl0_country=US
    nvram set wl0_country_code=US
    nvram set wl_country=US
    nvram set wl_country_code=US
    wl country US

    then I went into the UI and changed the txpower there. Now the txpwr command in the shell is definitely working also :cool:
  20. fyellin

    fyellin LI Guru Member

    Interesting. I have two routers, one the main router and the other a WDS "slave". I updated both routers to 84mw by running the "ssh" commands and then using the GUI to set transmit power.

    I'm not seeing any noticeable difference on the Status > Device List page in signal quality.
  21. nvtweak

    nvtweak LI Guru Member

    My router is using broadcom driver, in other words the ND version of Tomato.

    wl ver

    It might help to disable/enable wireless again. I did that too after I ran the commands but forgot to mention it.
  22. nvtweak

    nvtweak LI Guru Member

    I only use Tx of 42. I put my commands in the init script and it works (the signal is now where it should've been by default).

    By the way, Tomato support for my router has been experimental. I cannot say whether or not any of this will work for your router.
  23. teddy_bear

    teddy_bear Network Guru Member

    Yep. The "easy" way would be to set the defaults to 'JP' for 2 nvram variables (to resemble the current Tomato behavior), and remove the code from init.c that resets them on every reboot. Then setting nvram values would survive a reboot, and not scripts will be needed.

    The "proper" way though is to add country selection list to the "Advanced -> Wireless" page (read it from "wl country list" command output), and populate the available channels list on the "Basic -> Network" page based on the current country selection (now 14 channels are just hardcoded in basic-network.asp, must read from "wl channels" output instead). Are you up to changing it this way ;)?
  24. Toastman

    Toastman Super Moderator Staff Member Member

    This is most interesting! A few months ago I reported somewhere on this forum that several of my AP's had disappeared "off-air" when on channel 11. I could not get them to come up unless I dropped to channel 10 or below. At the time, I had thought the transmitter VCO's were not locking on the higher channels, but it looks like this is all related!
  25. nvtweak

    nvtweak LI Guru Member

    I like your ideas TB.

    fyellin asked a good question. Why is country code specified as init in the first place? I don't really know the reasoning behind it.
  26. Gewehr98

    Gewehr98 LI Guru Member

    I lost signal strength when I went to v1.23, also.

    So I went back to Tomato v1.19, and added a Linksys WSB-24 to the WRT-54G's output side, instead. That, and the HGA-7T antennae on the WSB-24 combine to give me excellent connectivity through the house and pretty far into the back and front yards, too. I didn't want to mess too much with the wattage and heat output of the transmitter in my WRT-54G v1.0, because there aren't a whole lot of those out there to replace it if I cook the innards. :redface:

    (BTW, don't let anybody tell you a WSB-24 doesn't work with the WRT-54G and 802.11G!) :thumbup:

  27. fyellin

    fyellin LI Guru Member

    Negative experimental result

    My news isn't as good as nvtweak's.

    I changed my WRT54GL's running 1.23-ND, and updated all of them so that their country code was US, and their transmit power was 84 (instead of 42). I stopped and started each of the wireless lan's (using the GUI).

    There is no noticeable difference. Each one gives the same indication of the others' signal strength.
  28. Toastman

    Toastman Super Moderator Staff Member Member

    Me too - I have gone back to older 1.22 ND version for all AP's. Some of my remotes sites need a fix - coverage would be better - if anyone comes up with a definitive script ...

    TB's idea of incorporating this in the GUI sounds great - we could see exactly what we have (or are supposed to have!).
  29. spicoli

    spicoli LI Guru Member

    Damnit, right when I thought 1.23 was the holy grail...
  30. nvtweak

    nvtweak LI Guru Member

    Maybe that's actually good news. :wink:

    It might mean that your routers don't suffer from this issue. In my case there was a clear difference in signal strength between version 1.19 and 1.23. If you don't have that problem then there's nothing to worry about.
  31. bripab007

    bripab007 Network Guru Member

    Yes, after changing the settings in the CLI, verifying the country was now US and the transmit power was now 84, I saw no difference in signal strength to my wife's laptop.

    I, too, am on 1.23 RAF ND-build.
  32. nvtweak

    nvtweak LI Guru Member

    perhaps I should note that I wouldn't recommend running it at 84 mW permanently (I wouldn't want you to burn the radio out). I just used 84 mW as a quick test to see whether or not it was working at the time. I'm back to stock 42 mW now that everything does work as it should.
  33. Toastman

    Toastman Super Moderator Staff Member Member

    Any version of 1.23 from any modder I've tried today has suffered from this problem. It's funny that we didn't notice it before - I suppose we've been flashing so many test versions and looking at the results of those other mods, that we missed this one. I thought the lower signal strength was because I had changed my Wireless adapter to a different type!

    nvtweak - can you post a confirmation for us - your scripts - and where did you put them (init?)

  34. nvtweak

    nvtweak LI Guru Member

    For now I just put this in the init script (using the UI).

    nvram set wl0_country=US
    nvram set wl0_country_code=US
    nvram set wl_country=US
    nvram set wl_country_code=US
    wl country US

    ...just in case I need to reboot the router which is rare. It also saves me from having to recompile/reflash the router again until next Tomato version.
  35. bripab007

    bripab007 Network Guru Member

    I put this is my init script:

    nvram set wl0_country=US
    nvram set wl0_country_code=US
    nvram set wl_country=US
    nvram set wl_country_code=US
    wl country US

    I can confirm that, between reboots, it correctly retains the transmit power that I've changed/saved in the web GUI (it saves it correctly in both the web gui and the wl txpwr field in the NVRAM as seen at the CLI), however, it doesn't seem to really have an effect on the actual transmit power as seen by a device on the network.
  36. nvtweak

    nvtweak LI Guru Member

    You can also try in the init script,

    nvram set regulation_domain=0X10US


    nvram set regulation_domain=0X00ALL

    Although I doubt that it did anything.
  37. nvtweak

    nvtweak LI Guru Member

    Ok but this is not intended as magic. If your router/signal never had a problem, this is probably not going to do anything.
  38. bripab007

    bripab007 Network Guru Member

    I understand that, that's why earlier I mentioned that, in testing, I doubled the transmit power to see if the NVRAM variable changes were in fact doing anything.

    I wasn't having any connectivity problems, either, simply trying to confirm that the changes worked. In my case, using some junky freeware Wi-Fi scanning software, it didn't seem to make any difference in the signal strength or noise of the AP; whether at 42mw or 84mw, it was reporting an ~80% signal strength.

    So, are you saying that you can actually see the signal strength increase when making these tx pwr changes, or were you just going by what the NVRAM variable was reporting after making the change?
  39. nvtweak

    nvtweak LI Guru Member

    Yes I can see the difference in Transmit level using inSSIDer. The dBm reading changes instantly.
  40. Toastman

    Toastman Super Moderator Staff Member Member

    Thanks all, appreciated !

    BTW - on a HP laptop, change from 42mW to 150mW is the difference between "Low" and "Very Good". It typically makes quite a big difference in throughput and stability (in a 12 floor residential complex with many AP's and clients).

    EDIT: The scripts didn't work for me on WRT54GL. Signal strength low whatever I did, until I go back to using 1.22. Tested on channels 1 6 11 only. Channels 12-14 usually don't work at all.

    Recompiled using US settings - made no difference. Prior to 1.23 does make a difference. Something I'm missing here...?
  41. kabar

    kabar LI Guru Member

    no changes for me. 50dBm all time. but i only tried scripts. no changes by ssh at the time.
  42. bripab007

    bripab007 Network Guru Member

    Alright, I guess I'll try a better wi-fi survey program. KisMAC seems to be popular with the Mac crowd: http://trac.kismac-ng.org/wiki/Downloads
  43. kabar

    kabar LI Guru Member

    no change at all in my hp - using inSSIDer and some nice vista gadget - between 60 and 150mW
  44. spicoli

    spicoli LI Guru Member

    After setting the nvram can we reset the service (service somethinggoeshereidkwhatthoughcouldyoutellmeplz reset) or is a reboot required?
  45. darthboy

    darthboy LI Guru Member

    maybe this affects only the WHR-125?
  46. nvtweak

    nvtweak LI Guru Member

    Something could be wrong then. The wl txpwr command works for me now.

    Try wl txpwr 5 and see if the signal strength decreases. Then do wl txpwr 42 and it should increase again. If the signal strength doesn't change, your router isn't working like mine is.

    I didn't know right off hand the exact shell commands for restarting wireless, so I just used the UI to do it. A reboot was not required so long as I already set the country code from the shell. However, if you only put the commands in init, they might not take effect until rebooting the router (unsure/never tested).

    Something seems fishy with other routers too. There have been other reports of weak signal in this thread. So it doesn't sound like I'm the only one.
  47. kardzzz

    kardzzz Addicted to LI Member

    nvtweak, I've checked my signal and I get -85db whatever level I set, so i guess my transmit is not functioning. Do I add the following to my 'init' then reboot?
    nvram set wl0_country=US
    nvram set wl0_country_code=US
    nvram set wl_country=US
    nvram set wl_country_code=US
    wl country US
    wl txpwr 75

    *In the UK do I sub 'US' to EU or UK. Does it make a difference?
  48. bripab007

    bripab007 Network Guru Member

    Yeah, I'm having trouble getting the radio transmit power to change on mine, too. Just to check, I lowered the power on my other Wi-Fi AP and immediately saw the change in my Wi-Fi survey tool.

    So, something's not right here.
  49. nvtweak

    nvtweak LI Guru Member

    Maybe you are so far away from the router that you aren't getting a signal. Doubling Tx power should give you about 3dB increase in signal strength. Likewise, every time you cut Tx power in half, strength should decrease by 3dB.

    As far as what country code you should use, I can't say. Teddy said you can list the country codes using:

    wl country list
  50. bripab007

    bripab007 Network Guru Member

    Well, so far I've tried it with the router right next to the computer (~80% signal) and on the other side of the house (~45% signal).
  51. nvtweak

    nvtweak LI Guru Member

    It sounds like you are having a similar problem as me then. Because my Tx power was not doing anything either, until I changed the country codes.

    Are you using the wl txpwr command or the wl txpwr1 command?

    I'm beginning to think the wl txpwr command works better.
  52. bripab007

    bripab007 Network Guru Member

    I was using the web gui to change it, then verifying at the command line with the wl txpwr command that the txpwr had, in fact, been changed.
  53. callous

    callous Network Guru Member

    Where in gui can i change the country code? If the country code is stuck on USA, does it mean channels 12-14 cannot be used, or it can be selected but wont broadcast?
  54. fyellin

    fyellin LI Guru Member

    I haven't found anywhere in the GUI for changing the country code. It has to be changed via a terminal.

    Don't use channels 12-14 in the US. Other posts have indicated that it is illegal, and you may be interfering with other legitimate spectrum users.
  55. peyton

    peyton Network Guru Member

    I put FR where you all put US and it should be better.

    Since then i have a drop on my Noise Floor: -76 dBm and before it was -80/82.

    Is lower better ?
  56. nvtweak

    nvtweak LI Guru Member

    Lower is better,

    but -76 is a larger number than -80/82
  57. peyton

    peyton Network Guru Member

    Okay, i had Enhanced RX Sensitivity enabled.
    I put it on disabled. Noise Floor: -93 dBm
  58. bripab007

    bripab007 Network Guru Member

    I was answering the previous question as to how I was changing the txpwr; you have to change the country code at the CLI.

    Okay, I take back what I said before, changing the txpwr at the CLI and in the web GUI appears to work and, assuming you have the "nvram set wl_country US" etc lines in your Init script, it does appear that all those settings stick after a reboot, including the wl txpwr, as set in in the GUI (Transmit Power).
  59. Toastman

    Toastman Super Moderator Staff Member Member

    For me, all of the mods "stick" and indicate the higher tx power - but the only problem is that the tx power does not actually change. Ever. This on WRT54GL's. Only prior to 1.23 works. Seems like I am not the only one!
  60. BXCracer

    BXCracer Addicted to LI Member

    Same here.
    No matter if I change the country to US or no, increasing the tx value via web gui or CLI does not actually change anything in transmit power (tested with netstumbler)

    wrt54gl V1.1
    1.23 Tomato RAF 1.23.8513 ND
  61. nvtweak

    nvtweak LI Guru Member

    What do you mean by "mods" and "indicate higher tx power"?

    My init script does not change Tx power directly. The instant increase in signal level I got was the result of changing the country code.

    When I compared the source code between v1.19 and v1.23, the only thing that looked problematic to me was the changing of country code in the rc/init.c. It turned out I was right.

    But again, this is not necessarily a magic fix for everyone's router. All I know is that it worked for me.
  62. Toastman

    Toastman Super Moderator Staff Member Member

    Mods as in change country code, txpwr increased etc by SSH, script or GUI - all paramters are entered and stick on reboot but any change in power either up or down does not actually change the transmit power level here, unfortunately. I also tried recompiling with country code set to various countries and they did nothing either, which seems odd. (NVRAM erased, and setup from scratch). I guess there's something missing ...
  63. bripab007

    bripab007 Network Guru Member

    No, my init script would not change Tx power directly, either, but it definitely did change the country codes. So, I have all the country codes in the init script and then changed the Tx pwr via the Advanced > Wireless page in the GUI.
  64. nvtweak

    nvtweak LI Guru Member

    What Broadcom driver version does yours have?

    Type wl ver in the shell

    Here is mine:

    root@router:/tmp/home/root# wl ver
    4.150 RC10.5
    wl0: Jan 15 2008 13:49:30 version
  65. bripab007

    bripab007 Network Guru Member

    Yep, I've got the same Broadcom driver version you have listed there.
  66. Victek

    Victek Network Guru Member

    Test done with 1.23.8513ND release, comparison with the wireless utility on the netbook and inSSIDer, few pictures are enough to say "Tomato works".

    Default Firmware, Country=JP, WRT54GL v1.1.

    Power fixed at 40mW

    Power fixed at 60mW

    Power fixed at 80mW

    Please post your evidences to avoid crossing comments that confuse me in this threath. Thanks
  67. fyellin

    fyellin LI Guru Member

    It's too bad that the source code to wl isn't included in the distribution. It would be interesting to see what the various country restrictions are (why is there US, US2, US3, and US4) and implementation restrictions.

    As I mentioned earlier, I'm also seeing no difference in signal when I change the transmit power.
  68. nvtweak

    nvtweak LI Guru Member

    You are not the only one who is confused. You say it works, but someone else using the same router and firmware says it doesn't.
  69. Toastman

    Toastman Super Moderator Staff Member Member

    Time zones maybe?? Just guessing. These lists are obviously used for many purposes.

    nvtweak - yes, it's frustrating. Vic and I are discussing it ....
  70. Victek

    Victek Network Guru Member

    Yes, this is what confuses me, post the same test I did, three images are better than one line of words. And for sure, I'm the first interested to know what's going on with the source code, as I understood this behaviour started in 1.23 release (included the official release) :)
  71. nvtweak

    nvtweak LI Guru Member

  72. BXCracer

    BXCracer Addicted to LI Member

    My test results:

  73. Victek

    Victek Network Guru Member

    Just to add more information, I tested the 1.23.8513ND RAF version running in one Asus WL500gP and no changes when I change the Tx Power. I think the problem is linked with the hardware model.
  74. Toastman

    Toastman Super Moderator Staff Member Member

    I spent all last night testing again. Having no longer any access to decent test equipment, (the trusty HP spectrum analyser) I had to make do with various indicators. These were the manufacturer's level indicators on D-Link USB adapter (Ralink), 2 Intel-based laptops, Acer laptop (Atheros card), an older Acer with 2100 "B" wireless, and of course the wireless survey of the tomato-based Linksys AP's. I used inSSIDer also to be consistent. All of them agree within a few dB so we clearly do have a way to do some rough tests, and the results should be valid, especially when averaged over time. I returned all borrowed laptops and used the old Acer laptop with Intel 2100 wireless to take these screenshots.

    NVRAM was erased and the WRT54GL AP reconfigured as a simple AP between tests.

    The controls used for reference were Tomato 1.19 and Victek 1.23 non-ND driver versions. Both of these would always work fine on any occasion with any country code. I tested on channels 1 - 11 only. The AP is about 25m away and the signal has to come through reinforced concrete walls.

    This time my tests of the Tomato 1.22 and 1.19 with the "old" ND driver are the same as the later ND drivers used in v1.23, whereas I had thought previously that this problem began with v1.23. However, I found that I could not change the transmit power on *any* ND driver. It is really rather pointless posting the result as it is a straight line +/- a dB or two, no matter what transmit power level is selected. The signal level does appear to be rather low - my guess is somewhere around 10mW when compared against a normal tomato router. It seems to be rather lower than the 42mW default used in most recent versions.

    The difference in levels between ND and the non-ND driver (both set to 150mW) at the back of my apartment, translates into (a) a very poor signal and 0.5Mbps connection, to (b) a "Good" signal at 54Mbps connection.

    Changing country to US made no difference on any test.

    I then tested the WL_reg_mode settings on RAF 1.23 v 8513, just to see if they made any difference. D gave a drop in strength of several dB, H was the same is OFF. Again I could not vary the power levels.

    My next thought is to go back to use of DD-WRT on all my AP's. So next, I tested the DD-WRT v24 SP1 generic version with ND driver. This was a real pleasure - the signal was stable and could be set easily to any power level up to the 251 limit. Whatever the *absolute* power level actually is, the 251 (max) setting was about 15 dB above the lowest I tested (5). This is approximately correct. Also, the steps were clearly defined and the response was immediate. The maximum level (251) was about 3dB stronger than the best Tomato setting, and the noise floor did not increase. This indicates that it probably OK to use DD-WRT at this level, at least on this particular AP.

    Conclusion - something is certainly different between DD-WRT and Tomato when using the ND driver. The next step is to find a DC level at or near the radio chip that varies when the power level is changed, and then try ND driver to see if it can still be varied. I will try to do this later if I have time.

    1.19 Original driver - 3 levels 42/150/10 mW - some jitter

    1.23 ND RAF 8513 power varied 10mW/100mW/250mW - no changes

    DD-WRT v24SP1 - The baseline is 5mW and each step doubles the power i.e. approx 3dB per step. The top line is 250mW - steps 5/10/20/40/80/160/250 mW and back to 10mW. See how clear and defined the steps are - much more controllable, which seems odd.

    The laptop was moved between tests, so the three screenshots do not have the same baseline.
  75. bandyta

    bandyta Addicted to LI Member

    What do you have a router ?
  76. bripab007

    bripab007 Network Guru Member

    I did some more testing this weekend, and, it appeared to me, as well, that increasing transmit power seemed to have no effect, however, decreasing transmit power did appear to decrease the signal seen by the Wi-Fi hosts.
  77. teddy_bear

    teddy_bear Network Guru Member

    If you get a few hours to spare ;), try to compare different nvram variables (most probably it will be ones starting from "wl0_") between DD-WRT and Tomato. You can apply these variables to Tomato either all together, or one by one, and see if it changes anything. Either reboot or restarting wireless will be needed after each change, so it's a time consuming process...
  78. BXCracer

    BXCracer Addicted to LI Member

    It's a wrt54gl V1.1 with Tomato 1.23 ND RAF 8513
  79. Toastman

    Toastman Super Moderator Staff Member Member

    TB - will try to do that! Got rather busy today ...
  80. teddy_bear

    teddy_bear Network Guru Member

    Yep... I too am very busy these days - but very interested in how this goes. I'll try to play with nvram variables though when I get a chance.
    Now the Tx power adjustment doesn't actually change the power on my Asus - no matter what country I choose - tried several. However, if I set country to B2 (no idea what that is), I get a noticeable result - the wireless speed drops down to a ve-e-ery slow dial-up ;). But still no change in the Tx power as seen by inSSIDer....
  81. bripab007

    bripab007 Network Guru Member

    I did notice that decreasing the transmit power does have an effect on signal strength, but raising it above the stock 42mW appears to do nothing.
  82. bripab007

    bripab007 Network Guru Member

    Also of note: in the non-ND version of Tomato RAF, the country codes are still set to Japan, however, typing "wl txpwr" at the command line returns simply the power in mW - "txpwr is 42."

    Whereas in the ND Tomato, that command returns:
    "pwr in mw 65
    pwr in mw after override adj 65
  83. teddy_bear

    teddy_bear Network Guru Member

    Heh... Here you go guys. The problem is that "override" flag (-o parameter) for txpwr1 command doesn't work with new driver.

    One other nvram setting that is needed for Tx power adjustment:
    nvram set pa0maxpwr=251
    On my wl520gu it was set to 60 by default, those limiting the Tx power by 60 mW. The absolute maximum possible is 251 I think.

    Changing country to the US is still needed though (maybe some other countries work too - I don't know). The only 3 country codes that support 14 channels are JP (Japan), TH (Thailand) and B2 (??). None of these 3 countries allows Tx power to go up to the max.
  84. callous

    callous Network Guru Member

    I guess 1.24 should be coming soon..
  85. BXCracer

    BXCracer Addicted to LI Member

    What is the max power that those countries supports ? I mean we can still use them if they supports like 150mw of tx power and in addition get all the 14 channels. I don't think that there is anyone using more than that.
  86. peyton

    peyton Network Guru Member

  87. kabar

    kabar LI Guru Member

    someone told Jon? :)
  88. bripab007

    bripab007 Network Guru Member

    Looks like the default value for pa0maxpwr is "0x4e" which is, I believe, hexadecimal for "78."
  89. Toastman

    Toastman Super Moderator Staff Member Member

    If that pesky 0x4e parameter had been in decimal not hex, I bet one of us would have realised some time ago!

    bripab007 - I just compared the received level for 0x4e with what I got for the old non-ND version, and the closest was something like 10-20mW. Has there been some compensation to the figures to attempt to more closely approximate the real transmit power? There is a big difference between the ND and Non-ND drivers...

    Setting 251 (max) seems to be a little stronger than DD-WRT on max, just a first impression... and again, the noise floor does not seem to change at max. It would be nice to measure the actual output power, but I have no access to test gear here in TH. Anyone out there? (Just curious about the figure).

    Teddy Bear - Thank you for your work in tracking this down !
  90. nvtweak

    nvtweak LI Guru Member

    Nice find TB

    But how does a value of 60 get in nvram when this variable was originally set in hex? (at least in Tomato source code it is either set to 0x4e or 0x48 depending on router model).

    Should we really set it to 0xfb or 251 if we want 251 mW?
  91. bripab007

    bripab007 Network Guru Member

    Yeah, hexadecimal or decimal: that is the question :)

    Toastman - Not sure. I'll do some more testing tonight after work.
  92. Toastman

    Toastman Super Moderator Staff Member Member

    nvtweak - seems to work with 251 ok... on my WRT54GL's this is a cure.

    I put this lot in my init script:

    nvram set wl0_country=US
    nvram set wl0_country_code=US
    nvram set wl_country=US
    nvram set wl_country_code=US
    nvram set pa0maxpwr=251
    wl country US

    It doesn't seem to do much for the ASUS WL500gP v2 though, perhaps the transmit power on this router, which already seems pretty feeble, can't be changed.
  93. nvtweak

    nvtweak LI Guru Member

    Thanks Toastman.

    I tried 251 on my router and it didn't seem to do much, if anything. (although I haven't tried rebooting it yet)

    I also noticed the problems with txpwr and txpwr1 commands. Like TB said, the override doesn't work. Like bripab007 said, the txpwr output is showing 65 mW when I have it set to 42. And 28 mW when I have it set to 5.

    Lots of odd behavior all around.
  94. Toastman

    Toastman Super Moderator Staff Member Member

    DD-WRT v24SP1 pa0maxpwr is set to 251

    I have no idea if this may be relevant - just passing it on:

    DD-WRT v24SP1 Tomato 1.23

    pa0b0=0x170c pa0b0=0x168b - This something to do with change max level
    pa0b1=0xfa24 pa0b1=0xfabf
    pa0b2=0xfe70 pa0b2=0xfeaf
    not in nvram pa0itssit=62

    Don't seem to be any countries in DD-WRT NVRAM
  95. teddy_bear

    teddy_bear Network Guru Member


    The default value goes into nvram from the CFE. Tomato only overrides them if it can't find the CFE data, and only for Linksys WRT54G routers:
    if (get_model() != MODEL_WRT54G) return;

    I don't think there's any need for Tomato to set the pa0maxpwr depending on the hardware though - DD-WRT sets it unconditionally to 251 for all Broadcom routers. What was it set to by default on your Buffalo?

    As for the values shown by txpwr and txpwr1 commands, they are using different units - txpwr uses quarter dbm although it says "mw" (this is an obsolete command now btw). I.e. when set to 25mW in gui:
    #wl txpwr
    pwr in mw 56
    pwr in mw after override adj 56
    #wl txpwr1
    TxPower is 56 qdbm, 14.0 dbm, 25 mW  Override is Off

    On my Asus wl520gu the difference between 5 mW and 251 mW in tx power results in about 8 dB difference as displayed by inSSIDer.

    When the country code is not set in nvram, the wl driver uses the "default" value that comes either from the hardware, or from CFE - not sure. You can check what value is used now by running "wl country" command.
  96. Toastman

    Toastman Super Moderator Staff Member Member

    The wl520gu uses the 5354 processor with built-in wireless? Then if your power varies I suppose mine should too. I'll try again, though it's not important to me as I only use them as routers.

    oh - wl country in DD-WRT is accepted but returns no value.
  97. Toastman

    Toastman Super Moderator Staff Member Member

    Wi-Fi Country Regulations

    For those people who have asked for country information regarding wifi regulations, this is the best source I've found:


    Some people asked why nobody is posting proper power/signal-to-noise/channel test results here. Well, the answer is that in order for any meaningful results to be achieved it's necessary to have a quiet, controlled RF environment, usually inside a Faraday cage, and proper test equipment located in another adjacent sealed room. This is a picture of a typical test setup in an accredited test laboratory. Needless to say, the cost to hire such a test chamber even for one hour would bankrupt most of us. So now you know !

  98. nvtweak

    nvtweak LI Guru Member

    That makes sense, thanks. I did notice that Tomato will commit some values if they are missing.

    I have to agree. Why it is done that way, I have no idea.

    For DD-WRT, I never checked. For Tomato it was 60.

    Well isn't that genious. :redface: Nice catch.
  99. teddy_bear

    teddy_bear Network Guru Member

    Looking at dd-wrt code, it seems they do not set pa0maxpwr for Buffalo routers. So maybe Buffalo chips don't use that variable...
  100. nvtweak

    nvtweak LI Guru Member

    As far as I know this Buffalo has a similar chipset to the newer Asus models. If the CFE is setting the value, you would think it serves a purpose. Then again, we've already seen some other things that don't make sense either.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice