text:
QCA wireless settings
From DD-WRT Wiki
[edit] Introduction
This page shows the contents and descriptions of standard and advanced wireless settings for Qualcomm Atheros (QCA) based 802.11a/b/g/n/ac/ad routers. Not every router shows every possible setting shown here as some routers will have less. If you are a Broadcom or Mediatek (formerly Ralink) user, please refer to Advanced wireless settings for Broadcom/Mediatek wireless settings. Basic Wireless Settings apply to all routers, all of which are listed here under standard settings.
[edit] Standard Settings
[edit] Wireless Physical Interface
Available Interfaces: athX (0, 1, 2 etc, varies by router as many routers have 2 or more radios in them)
If you have a dual band router ath1 will be displayed below ath0 with the same available settings. Ath0 is the 2.4GHz radio and ath1 is the 5GHz radio for most routers, for some like the TL-WDR4900 v1.3, ath0 is 5GHz & ath1 is 2.4GHz; its just the way the radios are connected on the PCB & is normal. If you create a VAP for 2.4GHz or 5GHz radio the VAPs will be labelled athX.1 & athX.1 respectively where X = the interface's number. For example, a VAP made on ath0 will be ath0.1, then ath0.2, etc. Refer to this thread for some info about VAPs with Qualcomm Atheros.
[edit] Wireless Mode
Available Settings: AP, Client, Client Bridge (Routed), AdHoc, WDS Station, WDS AP
Default Setting: AP
Recommended Setting: AP for most users, other options if you are advanced and know you need it
Determines how the specific wireless interface of the router is to behave. If you want to run a normal access point which most do, AP would be your choice. Client, Client Bridge (Routed), & WDS Station is the Qualcomm Atheros equivalent to Broadcom & Mediatek's Repeater and Repeater Bridge modes.
See this page for more info on linking routers: Linking Routers
[edit] Wireless Network Mode
Available Settings (2.4 GHz): Disabled, Mixed, B-Only, G-Only, BG-Mixed, NG-Mixed, N-Only (2.4 GHz)
Available Settings (5 GHz): Disabled, Mixed, A-Only, NA-Mixed, AC/N-Mixed, N-Only (5 GHz), AC-Only
Available Settings (60 GHz): Disabled, Mixed, AD-Only
Default Setting: Mixed
Recommended Setting: [NG-Mixed on 2.4 GHz] [Mixed or AC/N-Mixed on 5 GHz] [AD-Only on 60 GHz]
Controls which 802.11 signals are being broadcast by the radio. Depending on the selected network mode your wireless channel list and maximum TX power can vary. NG-Mixed for 2.4 GHz & Mixed or AC/N-Mixed is the recommended setting for most people as your clients' NICs are able to use either (V)HT20, (V)HT40, & VHT80 "properly" with this setting. If you have any issues or do not use 802.11b clients, switch to NG-Mixed. N-Only is broken on many units for some time (both bands) & still is, try to avoid using as there is minimal performance change from NG-Mixed -> N-Only if all you use is 802.11n clients for either of them. For 802.11a/n 5 GHz radios, Mixed & NA-Mixed are the same.
"mixed" = A / N / AC combined broadcast:
A is the worst standard with 20Mhz wide bands and 54Mbit upper limit (legacy mode)
N is up to 40Mhz wide bands and up to 600Mbit (4x4 MIMO)
AC is up to 160Mhz wide bands and 1733Mbit (2x2 MIMO) in 5ghz [and 800Mbit in 2.4ghz with Wifi-5 chipsets running qam256 mode]
AC/N mixed has no legacy wifi A
NA-mixed has no wifi AC
[edit] Channel Width
This determines the wireless channel width used- where higher values allow more bandwidth/throughput, but yield fewer free channels, and result in more overlapping channels. Using lower MHz channel width values yields more free non-overlapping channels but means less bandwidth/throughput is available. For a full table of possible MCS index connection rates see [1]
1) Select your country first and YOU MUST HIT APPLY! The driver needs to reconfigure the country for the speific wifi chipset and then the router needs to get the updated channel list for your country
2) Set the Channel Width and hit Save.
3A) Select the correct WiFi "carrier" channel and concurrently go to 3B.
3B) Set the Extension Channel UU, LL, UL, or LU. Make sure to see the list a few sections down for proper extension selection.
Carrier channel is defined as the main 20Mhz channel that "carrying" the signal. Extension channels are then added to yield HT40, VHT80, and VHT160. As of Dec 12 2019, the LL,UU, LU, and UL selections are defined incorrectly. Again, see the extension list below to "select" the "right" option
Available Settings (2.4 GHz): Dynamic (20/40 MHz), Wide HT40* (40 MHz), Full (20 MHz), Half (10 MHz)*, Quarter (5 MHz)*
*Note 1: You MUST have this setting on Wide HT40 (40 MHz) to allow 802.11n devices (2.4 GHz & 5 GHz) to connect at their max! *Note 2&3: Half (10MHz) and Quarter (5MHz) may not be supported on all models. It is best to just use Full (20MHz) or wider.
Available Settings (5 GHz): VHT160*, VHT160 (80+80 MHz)*, VHT80 (80 MHz)*, Dynamic (20/40 MHz), Wide HT40 (40 MHz), Full (20 MHz)
*Note: VHT80 (80 MHz), VHT160 (80+80 MHz), & VHT160 is only displayed & available for 802.11ac (5 GHz) routers that support it, & it's required to reach the max MCS link rates of 802.11ac
*WARNING ABOUT USING VHT160-Using DFS channels can significantly increase 5 GHz association times because devices (STAs) can only passively scan for available APs. So instead of being able to send out a probe request and waiting for APs to reply, a STA using DFS channels must wait until an AP announces itself. You wouldn't think this would make much difference, but when switching from running 2.4 to 5 GHz tests, it took over a minute to find and associate to the router's 5 GHz SSID. IF YOU USE DFS CHANNELS MAKE SURE TO TURN OFF RADAR DETECTION TO AVOID THIS REQUIREMENT'. DON'T BREAK ANY LAWS IF YOU LIVE NEAR A RADAR STATION!
Default Settings (2.4ghz): Full (20 MHz)
Recommended Setting (2.4 GHz): Full (20 MHz)- Why? Because nearly all cell phones and tablets will limit their channel width to only 20MHz if they detect neighboring routers/wifi AP's and so 40MHZ wide communication will not be allowed; even if you enable HT40 on the router. Your mileage may vary by enabling HT40 on the router for phones and tablets. As far as Laptops/Desktops, they usually have a way to allow 40MHz wide channels in the advanced driver settings. Disable "Fat Channel Intolerant" to take advantage of 40MHz on Windows OS's. Using HT40 enables channel bonding by using 2x20 MHz wide channels together to equal 40Mhz; but, it's considered "not neighbor friendly" and discouraged by industry standards- as noted above for android & iPhone HT20 limit. Using HT40 may, but usually doesn't, create more interference for neighbors; it's usually not an issue unless you're in VERY packed/dense/congested wireless area like apartments- Again YMMV with HT40. HT40 allows your 802.11n devices to connect at their max rate: 300 Mbps (2x2:2 stream clients) and 400Mbps (2x2:2) for QAM256 enabled routers & clients. 400Mbps is very rare and was reported on an android device with custom ROM; most everything else will end up using 802.11n MCS rates of 300Mbps. HT40 yields a large throughput increase and enables Atheros Super-G* on legacy clients. However, if Full (20 MHz) is used for 802.11n clients, their max connection speed will only be 144 Mbps (2x2:2 stream clients) and 173Mbps/193Mbps* (2x2:2 stream clients) with QAM256 enabled routers & capable clients. Legacy 802.11g clients supporting Super-G max connection speed will only be 54 Mbps.
*Note: 193mbps is not an officially recognized MCS index rate, but some devices have reported 193mbps vs 173; 173 is the maximum for 2x2:2 stream clients per 802.11ac industry standards.
Recommended Setting (5 GHz): VHT80 (80 MHz), or Wide HT40 (40 MHz). For QCA (wifi 5-wave 2) routers, VHT160 can only be taken advantage of by one Intel Wifi card right now (9260/9265 2x2:2); otherwise, backhaul from one VHT160 capable router to another VHT160 capable router is the other reason to use VHT160 right now. Also to note, VHT160 operates in spectrum which requires reduced TX pwr vs. VHT80: VHT160 spectrum only allows 23dBm vs. 30dBm for VHT80 (USA and similar countries). So, use VHT160 if you know you have clients that can take advantage of it; but realize your TX distance may be worse than if you use VHT80. Also note, it may take up to a minute to find your 5ghz signal if using VHT160 mode.
Lastly, very few clients are 3x3 or 4x4 stream capable; usually only desktop wifi cards are 3x3 or 4x4 (due to space limits in tablets, phones, and laptops & cost of more antenna's). You'll obviously gain more throughput by having 3x3 or 4x4 capable routers & clients. Nearly all phones and tablets are 2x2:2 stream devices, at best, right now (limited room for 4 antenna's & cost too). AFAIK, all laptops use 2x2:2 stream cards; though, apple has a few 3x3:3 stream cards in their devices...use google to find 3x3 or 4x4 stream wifi clients.
[edit] *Super-G
This is a Qualcomm Atheros technology to increase the throughput of 802.11g devices and NOT compatible with 40 MHz channel width in 802.11n. In order to utilize the Super-G feature you must have a QCA router capable of broadcasting 40 MHz wide channels which nearly all QCA routers support this feature, and a Super-G ready client. If you have a QCA router and Super-G ready client, ensure your wireless network mode is on Mixed, G-Only or "NG-Mixed" with Wide HT40 (40 MHz) as the channel width. The client should now connect at the theoretical max link rate of 108 Mbps, doubled that of standard 802.11g 54 Mbps. This feature reaches these speeds by channel bonding, a method that bonds two 20 MHz wide channels together similar to how 802.11n does. Max throughput with Super-G should be around 75 ~ 80 Mbps depending on distance, SNR, noise, & other wireless settings. Super-G has no presence or specific controls on the user interface, its automatically on or off & is a zero config feature.
[edit] Wireless Channel
Available Settings (2.4 GHz): Channels 1 ~ 14 depending on your regulatory domain & channel width
Available Settings (5 GHz): Channels 34 ~ 48 (U-NII-1), 52 ~ 64 (U-NII-2), 100 ~ 144 (U-NII-2e), 149 ~ 161 (U-NII-3), 165 (ISM) depending on your regulatory domain*
Available Settings (60 GHz): Channels 1 ~ 4 depending on your regulatory domain*
Default Setting: Auto NEVER USE AUTO- IT BREAKS OTHER SETTINGS!
Recommended Setting: For either 2.4ghz or 5ghz-Use the cleanest channel with the least noise, most stable throughput, & lowest latency jitter. For 5ghz try to stick to the following channels: 36-48 or 149-161. Read about DFS channels in the extensions section below and the links at the bottom to understand more why to never use the channels in the DFS subset and to only use the ones in the suggested range above.
Controls what channel or frequency your wireless LAN (WLAN) uses. If you have packet loss, abnormally slow throughput or drop outs switch to another channel for less interference. Use site survey & experiment with using different channels, its best to use a channel thats 4 or 5 channels away from the other in use channel for zero interference from other WLANs but since thats hard in this small spectrum even just 2 or 1 channel away makes a massive difference despite there still being a partial overlap, see the images & this link for more info. All routers default to either channels 1, 6, or 11 (for 2.4 GHz) when left on the "auto" setting, it is not recommended to use these channels as most users are inexperienced, and leave them at their defaults. Most of these channels are noisy but for any reason if there isn't many APs around you using these channels, use them.
- Available channels will vary greatly by region & there is no place on Earth where every channel is available legally. Only channels 149-165 allow high TX power up to 30 dBm in most of the world, only a few countries allow 30 dBm from channel 100+, using a foreign regulatory setting to bypass your local laws is not recommended & is at your own risk. As of 2014 the FCC has announced that the lower 5 GHz band (U-NII-1) will have it's "indoor only" requirement lifted, & max power output/EIRP increased to 24 dBm.
[edit] Extension Channel
Available Settings (40 MHz): Upper, lower
Available Settings (80 MHz): UU, LL, UL, LU
Available Settings (160 MHz): UUU, LLL, ULU, LUL, UUL, LLU
Available Settings (60 GHz): TODO
Default Setting: Auto
Recommended Setting: Any* (valid setting, observe below)
For the lists below, Builds >=42359, LU/UL & VHT160 ULU/LUL/UUL/LLU are now VALID in describing where the center frequency sits. Any build prior to 42359 will need to select the opposite of what the list below says; so, LU=UL and UL=LU in builds earlier than 42359. For WDS setups, even selecting the opposite UL/LU will still result in the wrong center frequency being used. Simply, you'll need to use a more recent build.
Also, builds prior to 42174 have bunked VHT80 & VHT160 modes where your channel selection and extension channel may not actually yield your selection. This was fixed after 42174
This setting is only valid when Wide HT40 (40 MHz), VHT80 (80 MHz), VHT160 (80+80 MHz) or VHT160 (160 MHz) is used for channel width. It controls the extension channel(s), which is the other channel(s) used to attain the 40 MHz width or in the case of 802.11ac, 80/160 MHz width the other 3 channels, are above &/or below the primary selected channel. Build r29974 & later have fixed the extension channel lower setting, use upper or lower depending which channel you want. Builds older than r29974 have problems with ext channel setting & channel selection list. Builds after r31277 have added full range of upper/lower & in between, options for channel widths above 40 MHz for 802.11ac.
[edit] Valid VHT80 channels are:
[edit] Valid VHT80+80 Channels:
[edit] Valid VHT160 channels are:
- DFS Channels are 52-144. This means that you might have clients that won't work on these channels because they have been hard coded not to. Your Mileage may vary.
*WARNING ABOUT USING DFS Channels: Using DFS can significantly increase 5 GHz association times because devices (STAs) can only passively scan for available APs. So instead of being able to send out a probe request and waiting for APs to reply, a STA using DFS channels must wait until an AP announces itself. You wouldn't think this would make much difference, but when switching from running 2.4 to 5 GHz tests, it took over a minute to find and associate to the router's 5 GHz SSID. IF YOU USE DFS CHANNELS MAKE SURE TO TURN OFF RADAR DETECTION TO AVOID THIS REQUIREMENT. DON'T BREAK ANY LAWS IF YOU LIVE NEAR A RADAR STATION!
See This Chart DFS Part 1 DFS Part 2 DFS Part 3
- Of course, All of this depends on the regulatory domain & client devices you select in the GUI.
[edit] TurboQAM (QAM256) support
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Enable
Only valid for 2.4 GHz & for routers with QCA99xx & newer radios, this setting enables support for QAM256, which is what 802.11ac uses for its more efficient higher link rates, even at the same channel width. Since this is only an option in 2.4 GHz, full (20 mHz) or HT40 widths can be used; HT40 will yield the best MCS speeds vs Full. If the signal is strong enough, higher QAM allows more efficient use of the same spectrum space; again, for devices that support this feature.
When using a VAP (virtual access point) with a TurboQAM enabled radio, there is a minor bug which the VAP will, by default, not have TurboQAM enabled. To fix this go to the Wireless Security tab, and enter, on a seperate line, "vendor_vht=1" under the VAP's custom config box. This only works on routers that have a TurboQAM option, in the first place, for the main interface in wireless settings.
[edit] Wireless Network Name (SSID)
Default Setting: ddwrt
This is where you can choose the name of your wireless network when its being broadcast to roaming clients. You can name this anything you want.
Best practice is to name both 2.4GHz and 5Ghz the same SSID and use the same password for both bands. This helps "improve coverage" because your client will switch over to 2.4GHz from 5Ghz faster than if you used a separate 5GHz SSID; you're already authenticated on both radios. Using the same SSID helps reduce overhead on the router too. That said, you need to set the beacon interval carefully if you use the same SSID. Whichever radio has the lower beacon interval will result in clients "seeing" that radio first. So if you want your client to prefer 5Ghz first, then set the beacon interval lower on the 5GHz radio. That said, this is not a foolproof "fix" and many clients may struggle staying or coming back to 5GHz when in range if they venture over to 2.4GHz. This is a well known issue on phone/tablet devices. Laptops have a setting in advanced driver settings to prefer one band over the other. Most newer builds of Android wont have this band preference feature anymore. So, if you must have 5GHz, or 2.4GHz, then name the SSID's differently but know that your device will take longer to fall back to 2.4GHz because it has to re-authenticate when the 5GHz signal gets too weak.
[edit] Wireless SSID Broadcast
Available Settings: Enable, disable
Default Setting: Enable
Recommended Setting: Enable
Dependent on the setting above, this controls if your SSID is being broadcast or not. When disable is selected many clients still pick up the beacon and display it as "Hidden" along with the AP's MAC address. Disabling is not recommended as it hardly does anything for security, a determined intruder can still access your network with different methods.
[edit] Advanced Settings
- Builds >=r14815 have a checkbox to show or hide advanced wireless settings.
[edit] Regulatory Domain
Available Settings: 115+ different countries (several countries share the same regulations)
Default Setting: Germany
This determines the channels available in the list for both bands (if you have a dual band router) and the maximum EIRP "legally" allowed by the telecom authorities in the chosen country. EIRP is TX power plus antenna gain, example:
- 20 dBm TX power with a 10 dBi gain antenna has an EIRP of 30 dBm.
- 24 dBm TX power with a 6 dBi gain antenna has an EIRP of 30 dBm.
Maximum EIRP varies by nation and your max TX power will be capped by the regulatory domain if you have a powerful radio. For example, Canada's max allowed EIRP is 36 dBm while its max allowed TX power is 30 dBm, with Canada selected and antenna gain at 0 dBi, the radios will never go above 30 dBm assuming they are capable of reaching that of course.
[edit] TX Power
Available Settings: 0 ~ 999
Default Setting: 16 ~ 30 dBm (varies by router)
Recommended Setting: Highest dBm your radios & local laws legally allow**
Read this post about TX Power First TABLE OF MAX TX RATE Vs. Country
Transmit (TX) power is the amount of "current" or "juice" going to the antennas, it is NOT the output power FROM the antennas, as that is EIRP. Usually more TX power is better as it allows clients further away to "hear" your AP (assuming the clients also have near equal TX power so the AP can "hear" them back). If TX power is increased too much on older radios, excess noise can develop and reduce throughput or even range; this is an issue with most Broadcom routers. But with Qualcomm Atheros this does not seem to be much of a problem as most QCA radios work very well at their max TX power. Maximum TX power is controlled by the radios (power control*), regulatory domain, wireless channel used, & wireless channel width. The default value for most routers currently is 20 dBm. If you want to run the highest TX power possible, enter 30 dBm & the radios will use as high as their lowest limiter allows (being regulatory domain, channel, or radio EEPROM cap), most can't do 30 dBm so what's displayed on the wireless status page is what's being used. Wifi-5 (previously 802.11ac) and Wifi-6 (previously 802.11ax) Routers are capable of doing 30 dBm (1W, 1000mW), currently the highest allowed TX power for any regulatory domain.
*Power control
An automatic zero config feature which controls the max TX power by the SNR & link speed. The higher the SNR, the lower the TX power will be (this action does not display on the wireless status GUI). See vendor specs/FCC documents for more info.
**Recommended Setting
Some people believe that "high" TX power (i.e., greater than 25 dBm), may be of concern to one's health. That is not the case but each to their own. So if that's you then 22 - 25 dBm should be sufficient; any lower & range starts to significantly drop (unless you want to of course & if you have an older router than only does something like 18 dBm, no need). In case you are wondering, every 3 dBm is doubled the power, so 13 dBm is twice as much as 10 dBm, & so on; but don't worry, 30 dBm is only 1 watt.
[edit] Antenna Gain
Available Settings: 0 ~ 999
Default Setting: 0 dBi
Recommended Setting: 0 dBi
Antenna gain is amount of "gain" or "boost" of signal that the antenna provides. Its a bit complicated but remember this, antennas are not amplifiers. They do not magnify the signal, but instead "focus" the signal in certain directions, yes even omni-directional antennas do it. The higher the gain the better as it increases EIRP which somewhat helps extend range and significantly helps sensitivity. With high sensitivity, the AP is able to hear "faint" clients, clients that may have a low TX power or are just simply very far away. Set this to 0 as its useless, it does not function anymore & always assumes a value of 0 within the wireless drivers.
Normally it would function as so: take gain into consideration when calculating EIRP, depending on regulatory setting an example of 25 dBm EIRP (20 dBm TX power + 5 dBi gain) may be too high when the limit is lets say 22 dBm EIRP, the TX power in this case will be forced down to 17 dBm. Antenna gain setting has no effect on performance of the WLAN directly (but a physical quality high gain aftermarket antenna does!).
[edit] U-APSD (Automatic Power Save)
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Does not currently matter
U-APSD is a power-save mechanism that is an optional part of the IEEE amendment 802.11e/QoS. U-APSD is also known as WMM Power Save. It is basically a feature mode that allows your mobile devices to save more battery while connected to your wifi network. By allowing your mobile devices to enter standby or sleep mode, it conserves battery. The APSD allows smooth transition in and out of sleep mode by allowing the mobile devices to signal the router of its status.
There are two types of APSD that goes under this type of battery power saving feature.
U-APSD (Unscheduled Automatic Power Save Delivery): Your client devices signal the router to transmit any buffered data.
S-APSD (scheduled Automatic Power Save Delivery): the Access Point will send buffered data based on a predetermined schedule known to the power-saving device without any signal from the station device.
This setting is currently forcefully disabled for unknown reasons in wireless drivers/firmware and has no functionality.
[edit] Spatial Multiplex Power Save
Available Settings: Off, Static
Default Setting: Off
Recommended Setting: Off*
The purpose of Spatial Multiplex Power Save (SM power save) is to allow a MIMO 802.11 device to power down all but one of its radios. For example, a 4×4 MIMO device with four radio chains would power down three of the four radios, thus conserving power.
SM power save defines two methods of operation:
Static, a MIMO client station powers down all the client's radios except for one single radio. Effectively, the MIMO client station is now the equivalent of a SISO radio that is capable of sending and receiving only one spatial stream. The client uses an SM power save action frame to inform the access point that the MIMO client is using only one radio and is capable of receiving only one spatial stream from the AP.
The SM power save action frame is also used to tell the AP that the client station has powered up all of its radios and now is capable of transmitting and receiving multiple spatial streams once again.
Dynamic, a MIMO client can also power down all but one of the client's radios but can power up the radios again much more rapidly. The client station disables all but one of the radios after a frame exchange. An access point can trigger the client to wake up the sleeping radios by sending a request-to-send (RTS) frame. The client station receives the RTS frame, powers up the sleeping radios, and sends a clear-to-send (CTS) frame back to the access point. The client can now once again transmit and receive multiple spatial streams. The client uses an SM power save action frame to inform the AP of the client's dynamic power save state.
- There are several stations, such as a WDS setup, where their TX rates will not return to MIMO rates when under load, thus limiting throughput, so start with this off and test to see if all devices work properly with this on. If dynamic is not in the selection, it means its not supported on the the current router at this time, sadly dynamic is the better of the two.
[edit] Noise Immunity
Available Settings: Enable, Disable
Default Setting: Enable
Recommended Setting: Disable*
Controls radio sensitivity in noisy environments by tuning driver parameters from info based on but not limited to, OFDM/CCK errors, beacon RSSI levels, OFDM weak detection, FIRPWR, FIRSTEP_LEVEL, CYCPWR_THR1. The goal of noise immunity is in the name, to help make the router more "immune" to noise, its generally recommended to leave this disabled, only enable if you are an advanced user, are diagnosing various wireless issues, or it fixes a specific issue you were having. Especially if you have multiple Qualcomm Atheros routers connected to each other in any way, its highly recommended to have noise immunity enabled, or disabled on all routers, but not mixed. There has been some reports over the years that disabling noise immunity has helped stabilize the WLAN in terms of throughput &/or reducing dropouts, disabling noise immunity could also result in great or unchanged close range performance, but horrible or no throughput whatsoever, at medium ~ far range, so experiment with this setting. There is also some cases where enabling noise immunity gives abnormally low TX/RX rates & throughput, or noise immunity is simply too aggressive even in low noise, in this case, disable the feature.
*Noise Immunity is a QCA feature meant for QCA clients, so Broadcom clients may not play nice if you enable this feature. If you have a lot of iOS devices in your environment, make sure to disable noise immunity.
[edit] QCA Q-Boost / TDMA support
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable
This setting is only available to routers with QCA99xx chipsets.
This is a completely experimental setting and has been found to significantly lower channel quality and add extra network overhead to perform TDMA. Your client must have the ability to take advantage of this feature. Right now, DON'T play with this unless you really know what you are doing; you will impact the wifi network and spectrum of other devices in the radius of the router using Q-boost. Initial testing shows this feature starts off fine, and then starts to impact wifi & spectrum in a negative fashion (Floods the network & spectrum with overhead noise). BS admits this is an experimental feature which may be removed at some point.
[edit] Protection Mode
Available Settings: None, CTS, RTS/CTS
Default Setting: None
Recommended Setting: RTS/CTS* or None for AP modes, & RTS/CTS for client modes
This setting controls whether the request to send/clear to send 802.11 optional protection mechanism is enabled or disabled. When enabled, an RTS/CTS handshake must be completed before data can be transmitted from clients. Helpful in noisy &/or busy environments, it ensures all clients take turns communicating with the AP, if disabled, packet collisions may occur which causes a drop in throughput & increase in latency due to retransmission overhead. RTS/CTS also helps negate the hidden node problem which occurs when 2 or more clients can each see the AP & vice versa, but the clients can't see eachother, this example is also good to say why RTS/CTS on an AP has no use, since from the AP's point of view, it can already see all connected clients, or they wouldn't be connected in the first place. CTS only is "CTS-to-self" which has less overhead, but is less effective in mitigating the hidden node issue, only other clients within range of the client using CTS only, will hear & honor it while RTS/CTS is the "full option" that gets passed through the AP to all clients, even if the AP has RTS/CTS disabled since RTS/CTS on the AP only applies to when the AP wants to transmit.
RTS/CTS is a setting to experiment with especially on the client mode interface of the router if you are connecting a router to another router, or if you have high error rate or high noise floor (-90 noise is good, -60 is bad) & all other options have failed. Most users should leave this set to the recommended setting above for max performance because the protection mechanism is only enabled automatically when needed, if its off when its needed, your wireless performance can plummet with errors, disconnects & low throughput, & if its no longer needed its turned off automatically on the fly.
If all that wasn't enough, protection modes also matter depending if you are using any kind of mixed modes such as mixed or NG-mixed, & if the older clients are connected or not. As well if you are using HT40 or VHT80 when there will be clients connected that don't support above HT20. In such case, you MAY want to have some protection mode, but usually with today's routers you are able to mix client types without penalty. If performance is good still without protection, continue to use none.
*Possible Tip-If you have a lot of iOS devices in your environment, make sure to enable RTS/CTS, enable RTS Threshold, and set RTS threshold value to 980.
[edit] RTS Threshold
Available Settings: Enable, Disable
Default Setting: Disable (Enabled- default is @ 500 & way too low)
Recommended Setting: Enable @ 784 (Again, default is too low at 500)(it was set at 500 to help with iOS devices)
Only valid if RTS/CTS or CTS is enabled. This setting sets the maximum packet size before the RTS/CTS protection is enabled, if you still have high packet collisions with RTS/CTS enabled and RTS Threshold is at 784, try lowering it by 10-50 at a time. Lowering it too much can further create overhead and reduce performance as RTS/CTS frames themselves also take up air time & aren't immune to collisions, a good limit is 784, going any lower than 600 - 800 & you'll probably spend more air time transmitting & exchanging these frames than the actual data frame themselves, nullifying any benefit it could of provided as a large amount of the client's communication frames to the AP are <500 ~ 600 bytes at a time. Setting this to 2346 theoretically disables the RTS feature and only leaves CTS enabled as most packets don't exceed 2346 bytes.
The 784 recommended value stems from the maximum MTU being 1500 bytes. This 1500 value is divided in half to yield 750. Then, an additional 34 bytes are added for the other necessary info that's carried in the packets to yield a total value of 784. If you feel you're having performance issues then you can try increasing this value to 980; but there has been little hard core evidence provided to show that 784 is a bad value. 500 is too aggressive and you will start to see throughput issues in maximum mbps when doing speed test and/or large file transfers.
[edit] Short Preamble
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Enable
If you have 802.11b clients in your network you can try enabling this, but if they have problems with performance or connecting, then leave it disabled. Preamble is at the head or front of the PLCP, which devices need in order to start transferring data. The long preamble ensures compatibility with legacy 802.11b devices but will slightly reduce throughput at higher data rates along with possibly introducing WLAN instability &/or overhead. Short preamble support, which is reducing the header's size by 50% down to 9 bytes, is optional for 802.11b. 802.11g & newer all support short preamble as its part of specification, so if you do not have 802.11b devices in your network, or any that you may have work fine with short preamble, leave this enabled at all times.
[edit] Short GI
Available Settings: Enable, Disable
Default Setting: Enable
Recommended Setting: Enable
The standard guard interval used in 802.11 OFDM is 0.8 μs, to increase data rate 802.11n added optional support for a shorter 0.4 μs guard interval which provides about a 10% increase in data rate. The shorter guard interval could (but usually doesn't) result in a higher packet error rate if timing synchronization between the transmitter and receiver is not precise. To reduce complexity, short guard interval is only implemented as a final rate adaptation step when the device is running at its highest data rate such as 72 Mbps, 144 Mbps, 300 Mbps etc, this is by design & not changeable.
Older routers & devices with Atheros AR92XX radios or older only support short GI on HT40 & not HT20, so max HT20 rates are 65 Mbps/130 Mbps/195 Mbps (1x1/2x2/3x3) instead of 72 Mbps/144 Mbps/217 Mbps respectively. Some modern devices such as the Playstation 4 do not like the lack of short GI, & have strange performance problems, sometimes completely crippling the entire network's performance. But the issue may also be related to hardware bugs in the AR92XX chipset, mileage may vary.
[edit] Single User Beamforming
Available Settings: Enable, Disable
Default Setting: Enable
Recommended Setting: Enable
Controls whether 802.11ac beamforming is enabled for single user, aka "regular MIMO" connected devices that support beamforming. For 2.4 GHz, beamforming is only supported & broadcasted in beacon info when TurboQAM is enabled.
[edit] Multi User Beamforming
Available Settings: Enable, Disable
Default Setting: Enable
Recommended Setting: Disable
Controls whether 802.11ac beamforming is enabled for multi user, "MU-MIMO" connected devices that support beamforming. Since MU-MIMO is a 802.11ac wave 2 feature, all wave 2 devices will support beamforming & MU-MIMO. For 2.4 GHz, beamforming is only supported & broadcasted in beacon info when TurboQAM is enabled and supported by QAM256 clients. MU-MIMO has been found to affect Broadcom clients and might limit them to only a 1x1:1 stream. Play with this at your own risk and check connection rates before and after enabling.
[edit] TX & RX Antenna Chains
Available Settings: 1, 1+2, 1+3, 1+2+3, 1+2+3+4 (varies by router)
Default Setting: Varies by router
Recommended Setting: Varies by router
This setting is critical for proper, smooth, fast Wi-Fi performance. 2x2:2 routers will either have TX/RX chains at 1+2/1+2, 1+3/1+3, 1+2/1+3, or 1+3/1+2. This can take some time to find the proper setting but its worth it, you can more easily find the correct setting by using a 802.11n client thats capable of 300 Mbps link. Note the TX/RX link rates on the wireless status page, when set incorrectly one or both of the rates will drop to a much lower speed such as 200, 170, 81 etc. This is best done with the client less than 10 feet from the AP with clear line of sight. Some routers with chains set incorrectly such as D-Link DIR-615 C1, will deny connections to clients, heavily reduce throughput, and other errors. Searching the FCC ID of your router will aid in setting the correct chain settings. Some popular routers such as the Netgear WNDR3700 v1/2/4 and D-Link DIR-825 B1/B2 require both chains set at 1+2 for proper Wi-Fi performance. Default is not always right!*
*With builds around r21061 or later, most units have the proper defaults preset & invalid options removed, such as 1+2+3 for TX/RX on WNDR3700 v1, v2, & v4 as the router only has 2 chains each therefor only has 1 & 1+2 available to be selected. While a TL-WDR4900 v1.3 & v2 have 1+2+3 as they are 3x3:3 units. An example 4x4:4 unit is the R7800.
[edit] AP Isolation
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable for private home Wi-Fi with trusted users, enable for public/guest Wi-Fi hotspot
AP Isolation allows clients connected to the same AP to communicate with each other or not, very much like Ad-Hoc mode. If you run a public Wi-Fi hotspot its recommended you enable this for privacy/security reasons & to help mitigate Wi-Fi snooping attacks that reveal login info such as this. If you want files to be shared from client to client in your home network, AP isolation must be disabled. This setting does not influence Wi-Fi throughput. If this setting is enabled it will break AdHoc based play on gaming devices such as Nintendo's DS system.
[edit] Beacon Interval
Available Settings: 15 ~ 65535
Default Setting: 100
Recommended Setting: 300 ~ 600 for 2.4 GHz & 300 ~ 600 for 5 GHz (Use 300 for the primary radio and 400 for the secondary and use DTIM=1 for these higher beacon intervals) READ THIS POST & SEE WHY (scroll up slightly when the new link opens)
Warning- Setting the beacon <100 might lead to issues if you use a virtual access point due to how the driver for ath10k is written. If you plan to ever use a VAP, do not set the beacon to <100.
A beacon frame, a time unit, is one of the management frames in IEEE 802.11 WLANs. It contains all the information about the network & has a close relationship to the setting below it, DTIM interval. Beacon frames are transmitted periodically by the AP in an infrastructure BSS to announce the presence of a WLAN. Reducing beacon interval may help WLAN performance in noisy environments &/or with problematic clients; but, will decrease battery life. 100 is a typical time unit used by many manufacturers. Increasing beacon interval will slightly reduce overhead & increase battery life. "Overhead," when referring to beacon interval, is airtime. Beacons themselves also take up airtime which means less availability for data. For 5 GHz some routers default to 200 beacon interval such as the DIR-825 B1 stock firmware, DD-WRT default is 100 for both bands. Remember to adjust DTIM interval too when you change the beacon interval. You don't want your beacon interval to exceed 1000 in total time, or you risk having your clients drop off wifi beacause your router cannot "locate" the client.
There is a belief, not-validated-but theory, that you should use Prime numbers for your beacon interval so that they never overlap with neighboring access points. Additionally, if you are using the same SSID for 2.4ghz and 5ghz, you need to carefully set the beacon interval. If you want clients to see, and use, 5ghz first, then set that beacon interval to something lower than the 2.4ghz beacon interval. If you want clients to see, and use, 2.4ghz first, then set that beacon interval to something lower than the 5ghz beacon. Ex: 5ghz to be seen first- set beacon to 449 and 2.4ghz beacon to 523.
Here is a quick list of prime numbers:101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601
If you stumbled on this and are using marvell hardware, please stick to using 100 as the B.I. (increments of 100 may also work, but not confirmed).
Again, YMMV using a prime number for the beacon interval. Some clients will only allow increments of 50 used, so stick with the above 300 or 400 values. If your client runs into issues, try 200 as your setting as some clients only like 200 with DTIM=1.
[edit] DTIM Interval
Available Settings: 1 ~ 255
Default Setting: 2
Recommended Setting: 2 ~ 5 (assuming default beacon interval of 100 is used)
Default being 2, the delivery traffic indication message (DTIM) is an element included in some beacon frames. It notifies the client stations that are currently in low-power mode that data buffered on the access point is awaiting pickup. The DTIM interval indicates how often clients serviced by the access point should check for buffered data, the buffered data is usually multicast/broadcast data. You specify DTIM in number of beacons. If you set this value to 2, clients check for buffered data on the AP on every other beacon. If you set this value to 10, clients check the access point on every 10th beacon, this is assuming beacon interval is at the default of 100. 100 beacon & 1 DTIM = every beacon that occurs every 0.1 seconds will have a DTIM with it, beacon of 50 with 2 DTIM also = every beacon that occurs every 0.1 seconds will have a DTIM with it, & so on. More beacons/DTIMs in a shorter period can help multicast performance but hurt battery, less beacons/DTIM in a longer period may harm multicast performance, but help battery. The defaults are a good medium & are commonly used by stock firmwares on cheap & expensive routers world wide, this setting will require extensive testing if you wish to alter it.
[edit] Airtime Fairness
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Enable
Airtime Fairness is a feature that boosts the overall network performance by sacrificing a little bit of network time on your slowest devices (A/B/G, even N when compared to AC). The slower Wi-Fi devices can be slow from either long physical distance, weak signal strength, or simply being a legacy device using an older standard. Example; Device A, functioning at 1 Mb/s and a faster device, B, that transmits at 5 Mb/s. If A needs to transmit 10 Mb of data, it will take 10 seconds. This means that for B to start data transmission after A, it may need to wait the full 10 seconds before A finishes it's transmission. Airtime fairness will give each device a fair amount of time. Instead of mostly or all air time to one device.
[edit] Frame Compression
Available Settings: Disabled, LZO, LZ4, LZMA
Default Setting: Disabled
Recommended Setting: Disabled (does not currently function regardless of setting)
Compresses Wi-Fi packets using any of the offered standard compression algorithms. Smaller frames over the air means less airtime which could result in more performance, but beware compression uses CPU time, weaker CPU + higher (AC+) rates will be taxing on the CPU and a CPU too slow will instead make performance &/or latency worse.
This setting is still currently broken and does not function.
[edit] WMM Support
Available Settings: Enable, Disable
Default Setting: Enable
Recommended Setting: Enable
Short for Wi-Fi MultiMedia, is a Wi-Fi Alliance interoperability certification that provides a basic QoS "best effort" like function to Wi-Fi as well as other functions such as power saving, its a requirement & part of the 802.11n (& AC & AX) specification. Disabling WMM will result in clients (ones that strictly obey specifications which is 90% of them) falling back to 802.11a/g LEGACY rates (54M), the same way as using TKIP with WPA2 yields LEGACY rates.
[edit] Radar Detection
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disabled for most users. Enabled to comply with regulations where applicable.
Radar detection (AKA DFS: Dynamic Frequency Selection), if enabled, will change the frequency only when it identifies a military or doppler weather radar nearby on the same frequency. Most users shouldn't have any interference issues even those living near such locations. This applies to 5 GHz a/n/ac only.
[edit] ScanList
Default Setting: default
The frequency range in MHz, to be used by wireless radio (superchannel use requires this as they are non standard channels) & when searching for nearby APs, seperated by a dash (ie: "2600-2700" without quotes). Specially useful when using SuperChannel feature. Leave this at the default value (empty) unless you know what it does.
[edit] Sensitivity Range (ACK Timing)
Available Settings: 0 (auto ACK- athk9k only) ~ 999999 (meters)
Default Setting: Was 2000 (which likely defaults to 2250), now it's set too low at 500 on Builds >=42516.
Recommended Setting: 900 or 1350* for both bands, greater than 2250 (Old Ath10k default) only when needed for long distance link. "0" uses auto ACK mode on ath9k chipsets, it dynamically changes to try and settle on what the driver thinks is best, which may become too high, and may cause bad Wi-Fi performance. Using auto ack for long distances is recommended. The ath10k chipset presently can't auto-tune the ack timing and will default to whatever is baked into the firmware by QCA: 450m. BS is still working on the code for ath10k to make it dynamically tune-able. Using "0" on ath10k chipsets will cause the GUI to show N/A under the wifi status window; but, in reality the chipset is using the value baked in to the firmware= 450m.
ACK timing too low, with clients further away, causes re-transmissions which create overhead,which lowers throughput. The AP sends a packet and all clients must wait for XXX time, where XXX is the ACK timing, the client then receives that packet and responds to the AP with an ACK(nowledgement), AP sees the client then finally everyone is free to transmit again.
From BS: "Setting a too high ACK value is never a problem and its unrelated to chipsets. All chipsets use ack timing mechanisms. Just not every chipset allows you to configure it; thus, it has no compatibility issues between QCA & Broadcom chipsets. If my AP sends a packet and the packet does not get a response, within the specified ack timing (ack timing is a round trip internally), it gets re-transmitted. So, if you set a too high ack timing, but you have very bad signal conditions, it will decrease the performance a little bit since it waits longer until a re-transmission occurs. However, if you set a too low setting (important at long range links) almost every packet gets re-transmitted which leads to massive packet loss. In most cases you cannot even authenticate with wpa."
Most users want to use 900, or 1800; the distance used is meters and needs to be double the distance of the furthest client from the AP (plus some headroom). Doubled because the signal travels to the client and back, thus ack timing = double the distance. In earlier builds with the older MADWIFI driver reducing ACK from default 2000 to 1500 gave a throughput increase of 0.5 Mbps - 1 Mbps. With the current ath9k builds, an ACK timing of 0 is now auto ACK mode, which you do not want to use for indoor/home use, use a fixed setting. But remember, ACK timing too low can cause issues such as cutting off a still active/in progress transmission, causing a re-transmission that's only half way to the destination, clashes with the returning ACK of the first transmission, when the device is beyond the current set ACK range. This usually only happens with hidden nodes &/or clients that are distanced very far away/beyond ACK timing's set range but not always.
Long distance links, such as 4 KM+ will need to increase this setting accordingly. 4000m for 2km, 6000m for 3km, and so on, its good practice to add a little more ~5% or so, than the exact needed value to account for any overhead (CTS etc).
- Current ath9k firmware only uses ACK timing in 450m intervals when using "0" (auto ACK),: so 450, 900, 1350, 1800, 2250 & so on. You can set any value you want, but the value may not stick depending on the chipset and ath9k will revert to a multiple of 450. For Ath10k, you can set any value you want, but if you use 0 then it will use the chipset firmware default of 450, so don't use 0 on ath10k. For most home/indoor use, 450m (225m one way/729ft one way) should be far enough. But, to be safe use a higher value like 900 or 1800. And last, setting it high at 3150 or 3600 has no discernible negative affect.
- 802.11g mode with a DWA-542 NIC got 21 Mbps with default 2250m on a TL-WDR4900 v1.3 with the latest build as of this posting (r27240), with ACK at 900m that rose to 22 Mbps & is mostly repeatable. Your results will vary depending on router, channel, clients & interference. Users in heavy interference areas may benefit from leaving ACK timing slightly higher (such as 900 or 1800 instead of 450 etc), since there will be an increased number of clashed packets & retransmissions.
[edit] Minimum Signal for authenticate
Available Settings: -128 ~ 0
Default Setting: -128
Recommended Setting: Default for having the feature disabled, or enter any minimum value if desired
This setting is for the minimum (weakest) signal allowed with a client device to be allowed to authenticate (security check) with the router. If the signal is below (EG: -60 is weaker than -45) the specified value, the client device will be denied.
[edit] Minimum Signal for connection
Available Settings: -128 ~ 0
Default Setting: -128
Recommended Setting: Default for having the feature disabled, or enter any minimum value if desired
Exactly the same function as minimum signal for authentication, but for allowing connection, after authentication.
[edit] Poll Time for signal lookup
Available Settings: 1 ~ 3600
Default Setting: 10
Recommended Setting: Whatever suits you
This is the interval in seconds, that the router checks client device signal & compares the result to the specified minimum allowed signal to decide if the device should be kicked from the network or not.
[edit] Amount of allowed low signals
Available Settings: 1 ~ 60
Default Setting: 3
Recommended Setting: Whatever suits you
This setting specifies how many times or "strikes" a device can get, before the specified minimum signal rules are enforced. EG: If defaults are used except minimum signal is -50 for both, if a device is detected having a signal lower than -50 X number of times over the specified value for this setting, the device will be disconnected from the router. Like a "X amount of strikes and you are out" rule.
[edit] Max Associated Clients
Available Settings: 1 ~ 256
Default Setting: 128 ~ 256 (varies by router)
Recommended Setting: What suits you
Determines the maximum number of clients that can be connected to the AP at any given time. Hotspot users will find this very handy. Using a shorter DHCP lease time such as 2 ~ 12 hours instead of default 24 will also help free up IPs if you are finding 256 users is not enough for a large public hotspot.
[edit] MTik Compatibility
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable
It activates a beta WDS compatibility with Mikrotik RouterOS. It's almost useless. Only use it when you're testing stuff from DD-WRT or using Mikrotik RouterOS.
[edit] Multicast To Unicast
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable
Request that the AP will do multicast-to-unicast conversion for ARP, IPv4, and IPv6 frames. If enabled, such frames are to be sent to each station separately, with the DA replaced by their own MAC address rather than the group address. Note that this may break certain expectations of the receiver, such as the ability to drop unicast IP packets received within multicast L2 frames, or the ability to not send ICMP destination unreachable messages for packets received in L2 multicast (which is required, but the receiver can't tell the difference if this new option is enabled). Enable only if you have issues detecting devices on the network that are connected over Wi-Fi, such as security camers, printers, and any type of "Smart" devices.
[edit] Network Configuration
Available Settings: Unbridged, Bridged
Default Setting: Bridged
Recommended Setting: Bridged
This setting controls if the wireless interface is "bridged" with the LAN ports. Bridged meaning a client on the wireless interface and a client on the Ethernet LAN interface are on the same network on the same subnet. Unbridged allows you to "separate" the WLAN (wireless LAN) by giving it its own subnet and even its own DHCP server. If you want a unbridged interface, you are better off creating a VAP instead of unbridging the main interface.
[edit] Wireless Security
[edit] 802.11r / Fast BSS Transition
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable*
In the early days of 802.11, handoff was a much simpler task for the mobile device. Only four messages were required for the device to establish a connection with a new access point (five if you count the optional "I'm leaving" message (deauthentication and disassociation packet) the client could send to the old access point). However, as additional features were added to the standard, including 802.11i with 802.1X authentication and 802.11e or WMM with admission control requests, the number of messages required went up dramatically. During the time these additional messages are being exchanged, the mobile device's traffic, including that from voice calls, cannot proceed, and the loss experienced by the user could amount to several seconds. Generally, the highest amount of delay or loss that the edge network should introduce into a voice call is 50 ms. This means that your wifi call would be dropped moving from AP to AP because the handshake to the new AP takes too long.
802.11r was launched to attempt to undo the added burden that security and quality of service added to the handoff process, and restore it to the original four-message exchange. In this way, handoff problems are not eliminated, but at least are returned to the status quo.
The primary application currently envisioned for the 802.11r standard is voice over IP (VOIP) via mobile phones designed to work with wireless Internet networks, instead of (or in addition to) standard cellular networks.
When you enable this feature the gui will load some new values to fill in: NAS Identifier & Mobility Domain.
[edit] NAS Identifier
The NAS ID is your router's wireless radio's MAC address without the ":";so 12:34:56:78:90:AA would be entered as 1234567890AA.
[edit] Mobility Domain
The Mobility domain is a 4 digit hex key you can make up. Just use 0013 for now. More research needs to go in to what these values really "should" be and why.
If the wifi is going to be on the same subnet &/or vlan, make sure to use the same mobility domain value for both radios; and, make sure the mobility domain is different from the other wifi vlan you might end up implementing.
[edit] 802.11w Frame Protection
Available Settings: Enable, Disable, Auto
Default Setting: Disable
Recommended Setting: Disable
If you use 802.11r, this feature is broken and won't work. Right now don't use this feature unless you know what you are doing.
[edit] Disable EAPOL Key Retries
Available Settings: Enable, Disable
Default Setting: Disable
Recommended Setting: Disable
An AP-side workaround for key reinstallation attacks (KRACK), this option can be used to mitigate KRACK on the station side (router), to help protect client devices that no longer receive updates, or receive updates very slowly. Since many devices out there will not receive an update anytime soon (if at all), it makes sense to include this workaround. Unfortunately this can cause interoperability issues and reduced robustness of key negotiation, hence the default setting of disabled. This workaround is NOT needed on current builds (newer than r33555) & if you know that your client devices are updated to patch KRACK on them already, or if the vulnerability doesn't bother you. KRACK is already fixed in DD-WRT "properly" in both AP mode, & station mode (client/client bridge/WDS).
Categories: Atheros | Wlan | Documentation | Tutorials


text:
NAMEContinuity::Mapper - Map a request onto a sessionDESCRIPTIONThis is the session dictionary and mapper. Given an HTTP request, mapper gives said request to the correct continuation. Mapper makes continuations as needed and stores them. Mapper may be subclassed to implement other strategies for associating requests with continuations. The default strategy is (in limbo but quite possibly) based on a cookie.METHODS$mapper = Continuity::Mapper->new( callback => sub { ... } )Create a new session mapper.Contuinity does the following by default: $server = Continuity->new( adapter => Continuity::Adapter::HttpDaemon->new, mapper => Continuity::Mapper->new( callback => \::main ) ); Continuity::Mapper fills in the following defaults: cookie_session => 'sid', ip_session => 0, path_session => 0, query_session => 0, assign_session_id => sub { join '', map int rand 10, 1..20 }, Only "cookie_session" or "query_session" should be set, but not both. "assign_session_id" specifies a call-back that generates a new session id value for when "cookie_session" is enabled and no cookie of the given name ("sid" in this example) is passed. "assign_session_id" likewise gets called when "query_session" is set but no GET/POST parameter of the specified name ("sid" in this example) is passed. If you use "query_session" to keep the user associated with their session, every link and form in the application must be written to include the session id. The currently assigned ID can be gotten at with "$request->session_id". For each incoming HTTP hit, Continuity must use some criteria for deciding which execution context to send that hit to. For each of these that are set true, that element of the request will be used as part of the key that maps requests to execution context (remembering that Continuity hopes to give each user one unique execution context). An "execution context" is just a unique call to the whichever function is specified or passed as the callback, where several such instances of the same function will be running at the same time, each being paused to wait for more data or unpaused when data comes in. In the simple case, each "user" gets their own execution context. By default, users are distinguished by their IP address, which is a very bad way to try to make this distinction. Corporate users behind NATs and AOL users (also behind a NAT) will all appear to be the same few users. "path_session" may be set true to use the pathname of the request, such as "foo" in "http://bar.com/foo?baz=quux", as part of the criteria for deciding which execution context to associate with that hit. This makes it possible to write applications that give one user more than one execution contexts. This is necessary to run server-push concurrently with push from the user back to the server (see the examples directory) or to have sub-applications running on the same port, each having its own state separate from the others. Cookies aren't issued or read by Continuity, but we plan to add support for reading them. I expect the name of the cookie to look for would be passed in, or perhaps a subroutine that validates the cookies and returns it (possibly stripped of a secure hash) back out. Other code (the main application, or another session handling module from CPAN, or whatnot) will have the work of picking session IDs. To get more sophisticated or specialized session ID computing logic, subclass this object, re-implement "get_session_id_from_hit()" to suit your needs, and then pass in an instance of your subclass to as the value for "mapper" in the call to "Continuity->new)". Here's an example of that sort of constructor call: $server = Continuity->new( mapper => Continuity::Mapper::StrongRandomSessionCookies->new( callback => \::main ) ); $mapper->get_session_id_from_hit($request)Uses the defined strategies (ip, path, cookie) to create a session identifier for the given request. This is what you'll most likely want to override, if anything.$request is generally an HTTP::Request, though technically may only have a subset of the functionality. $mapper->map($request)Send the given request to the correct session, creating it if necessary.This implementation uses the "get_session_id_from_hit()" method of this same class to get an identifying string from information in the request object. This is used as an index into "$self->{sessions}->{$session_id}", which holds a queue of pending requests for the session to process. So actually "map()" just drops the request into the correct session queue. $mapper->reap($age)Reap all sessions older than $age.Reaping is done through the 'immediate' execution request mechanism. A special request is sent to the session that the session executes instead of user code. The special request then called Coro::terminate to kill itself. $request_queue = $mapper->new_request_queue($session_id)Returns a brand new session request queue, and starts a session to pull requests out the other side.$mapper->enqueue($request, $request_queue|$session_id)Add the given request to the given request queue.This is a good spot to override for some tricky behaviour... mostly for pre-processing requests before they get to the session handler. This particular implementation will optionally print the HTTP headers for you. Currently "die"s if the session_id doesn't map to a correct request queue, but pass an invalid reference and it'll probably die anyway. $mapper->sessionsReturns a list of session IDs of active sessions, useful as arguments to Continuity::Mapper.$mapper->inspect($session_id, sub { ... } )Run code in another coroutine's execution context. The execution context includes the call stack, including all of the data returned by Carp::confess, Padwalker, caller, and so on.This creates an Continuity::Inspector instance and sends it over the request queue. It's just a bit of a shorthand for the same thing. Returns false if the session_id doesn't exist. my $server = Continuity->new(); my @sessions; while(! @sessions) { @sessions = Continuity->mapper->sessions or sleep 1; } $server->mapper->inspect( $sessions[0], sub { use Carp; Carp::confess; }, ); SEE ALSOContinuity, CoroAUTHORBrock Wilcox <email@example.com> - http://thelackthereof.org/ COPYRIGHTCopyright (c) 2004-2014 Brock Wilcox <firstname.lastname@example.com>. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |

subset: commoncrawl


text:
This article first appeared on Other Words on October 30, 2013.
On October 8, Tucson police officers pulled over a driver because the light above his license plate wasn't working. When he didn't present a license, a typical scenario unfolded: Under Arizona's infamous SB 1070 law, cops become de facto immigration enforcement agents.
Simply put, the state's "papers, please" measure obligates police to rely on "reasonable suspicion" to determine if someone possesses the proper documents to be in the United States.
But police officers don't actually make immigration-related arrests. Instead, they call the U.S. Border Patrol. The October 8 incident marked just one of 50,000 such referrals that happen yearly in Tucson. The same Arizona immigration bill that former Department of Homeland Security (DHS) head Janet Napolitano called "misguided," is enabled by her agency's collaboration with Arizona's local police forces.
And it's empowered by the government's systematic expulsion of 400,000 people from our country each year.
Efforts to overhaul the nation's border security and immigration policies are revving up again in Washington. That means a renewed push for enhanced border policing, such as the $46 billion in the reform bill the Senate passed in June.
That kind of spending would bring the Border Patrol's creeping militarized mission further into the interior of the United States.
The Border Patrol isn't just any agency. The Tucson police were calling in the largest U.S. federal law enforcement agency—by far—with a post 9/11 priority mission to stop terrorists and weapons of mass destruction from entering the United States. Yet its main tasks remain routine immigration enforcement and drug interdiction, creating an uneasy and often blurred mixture of missions.
Border Patrol is part of Customs and Border Protection, a DHS agency created in 2003. Its 60,000 agents make our border forces more than double the size of Ecuador's army.
The army metaphor isn't far-fetched: Customs and Border Protection has its own air and marine forces, a special operations branch, and a separate tactical unit. Its rapid-response teams have 500 agents ready to deploy anywhere within 48 hours. Its Predator B drones and Blackhawk helicopters are patrolling the desert southwest as if they were in an Afghanistan war zone. It has armored personnel carriers and uses forward operating bases like those in U.S. wars to secure positions in remote areas. Roughly 700 miles of walls have scarred the landscape of the Mexican borderlands, backed by increasingly sophisticated surveillance towers, cameras, and more than 12,000 motion sensors.
Since 9/11, the government has funneled $100 billion into these border weapon and surveillance systems. For what? The United States has friendly relationships with Canada and Mexico.
One salesperson who was trying to cash in on this border security gold rush (he was peddling his company's mobile surveillance camera) told me "we are bringing the battlefield to the border," now that U.S. intervention in Afghanistan and Iraq is winding down abroad.
The Senate's bill called for adding 19,000 Border Patrol agents to an agency that has already doubled its ranks since 2006. There's no way that this influx of agents and technology, with its enhanced national security mission, would be limited to the border, where the Homeland Security presence is becoming an occupying army. If this measure were to become law, the federal government would bring the battlefield to our neighborhoods.
Consider what happened in Tucson on that warm October night. Despite the government shutdown, a Border Patrol vehicle arrived on the scene, more than 70 miles away from the U.S.-Mexico border.
Border agents put Arthur Robles and Agustin Reyes into a small cage in the back of the truck. One hundred people showed up and formed a human wall around the Border Patrol vehicle to stop it from taking those two fathers of small children away. Their activism was met with violence as Border Patrol agents crashed through the crowd, making more arrests, and police shot rubber bullets and pepper spray.
Officials try to justify such actions by using words such as "criminal aliens" and "narcoterrorists" that float around the media like ghouls in Halloween. However, as the unprecedented numbers of deportations indicate, this militarized border is advancing into the interior of the country at a rapid rate. If you are—or just appear—foreign, watch out.
Todd Miller has researched and written about U.S.-Mexican border issues for more than 10 years. He has worked on both sides of the border for BorderLinks in Tucson, Arizona, and Witness for Peace in Oaxaca, Mexico. He now writes on border and immigration issues for NACLA Report on the Americas and its blog Border Wars, among other places.


text:
Dave DeWitt
About the Author
DAVE DeWITT is a food historian and one of the world's foremost experts on capsicums. He has authored more than forty books about food and horticulture, and is an adjunct associate professor in the College of Agricultural, Consumer, and Environmental Sciences at New Mexico State University. Dave and his wife live in Albuquerque, New Mexico.


text:
Vietnam signs $9-billion oil refinery deal
HANOI - Agence France-Presse
AP Photo
Vietnam on Sunday inked a deal with firms from Japan and Kuwait to build an oil refinery complex worth nearly $9 billion as part of efforts to meet its growing energy needs.The Nghi Son refinery, which is due to start operating by 2017 in Thanh Hoa province, about 200 kilometres (125 miles) south of Hanoi, will turn Kuwaiti oil into petrol and other petroleum products.
It will be able to process 10 million tonnes of crude oil a year, the government said.
State-owned PetroVietnam will own a 25.1-percent stake in the joint venture while Japan's Idemitsu Kosan and Kuwait Petroleum International will each hold 35.1 percent. Mitsui Chemicals of Japan will own the remaining 4.7 percent.
Speaking at the signing ceremony, Vietnamese Prime Minister Nguyen Tan Dung hailed the project as "very important" for the communist country's economic and social development, according to a government statement.
Vietnam has offshore oil reserves but still spends several billion dollars each year to import petroleum products to feed its growing economy.
A ground-breaking ceremony for the Nghi Son refinery was held in May 2008 but the project has suffered a number of delays.
It is still unclear when construction will start, an official from PetroVietnam told AFP, asking not to be named.
The country's first refinery Dung Quat -- which cost around $2.5 billion and has a capacity of 6.5 million tonnes of crude a year -- opened in central Vietnam in 2009 after lengthy delays.
PetroVietnam has said that it hopes the two refineries would satisfy 65 percent of the nation's oil and gas needs. It is also preparing for a third refinery project in southern Ba Ria-Vung Tau province.


text: As the December release date nears for Tom Hooper's highly anticipated big-screen adaptation of the Tony-winning musical Les Miserables, fans are getting more and more glimpses from the movie's European set. Les Miz buffs know that from the ABC Café to streets of Paris, some of the most exciting scenes in the musical surround the students' revolution led by Enjolras and Marius (played in the film by Broadway stars Aaron Tveit and Tony winner Eddie Redmayne). In this production shot from the September 2012 issue of the British film magazine Empire, we see Tveit and Redmayne ready to do battle on the streets on Paris. With preview photos like these, December 14 can't arrive soon enough! And if you haven't seen it yet, check out the first trailer for the film, which will hit theaters December 14.


text:
Gluten-free gluttony? Industry inspiring and pushing hard
Snack titan Frito-Lay has launched a gluten-free recipe section incorporating products from its own portfolio and organic bakery Rudi's has taken to the social media arena with a Facebook competition campaign to promote its new line of gluten-free tortillas.
A recent Mintel report into the US gluten-free market suggests that investing in social media and web information about gluten-free as well as providing recipe ideas will drive business, especially "as gluten-free food is a relatively new phenomenon, consumers do not seem to be excessively brand loyal. Consumers seem willing to experiment."
BakeryandSnacks.com recently reported on a Frost & Sullivan report that suggested the industry has room for innovation and education with investments in marketing activities to do this needed. (See HERE.)
Online investments and pushes
Danielle Dalheim, registered dietician and principle nutrition scientist at Frito-Lay North America, said: "We're offering fans a variety of gluten-free recipes and letting them know many of their favourite Frito-Lay snacks can still be a part of a gluten-free lifestyle."
"We know gluten-free eaters often feel their options are limited," Dalheim added.
The recipe section on the firm's corporate website has been developed in partnership with Recipe ReDux, a network of registered dieticians and healthy food bloggers.
Rudi's Facebook campaign is offering $2 reduction coupons for its new line of gluten-free tortilla when users 'Like' the Rudi's Gluten-Free page and also includes a competition to guess what gadget is hidden under pictures of the tortillas for a chance of winning it.
The Facebook page also includes a daily recipe using the new tortillas. Doug Radi, senior vice president of marketing and sales for Rudi's Organic Bakery, said: "Our new campaign is meant to inspire gluten-free fans with cheerful prizes and delectable tortilla recipes."
US gluten-free giant
The US represents the largest gluten-free market globally and Mintel data suggests that innovation and new product development (NPD) in the space is soaring in the market with the number of new gluten-free products increasing from 633 in 2007 to 1,559 as of December 2011.
With approximately 30m Americans either gluten intolerant/sensitive or celiac disease, there is a "bullish future for category sales", Mintel said.
Frost & Sullivan data shows that the US gluten-free market has grown threefold over the past five years alone.
The snapshot takeaway
Mintel data shows sales of gluten-free crisps, pretzels and snacks soared from $225m in 2009 to $388m in 2011 and gluten-free bread and baked goods more than doubled between 2009 and 2011, up from $56m to $119m.
Gluten-free cold cereal sales outsold traditional cereals and pulled in $178m in 2011, up $47m from 2009.


text:
DML 633 Technology and Diverse Learners
This course focuses on the use of computer technology for diverse learners in the United States. Students will explore issues surrounding the use of computers to enhance learning for all students. Through critical reading, the use of software, and hands-on activities, students will study the relationship between technology and equity, the way technology is changing culture, gender equity, inclusion, and educational computing as a social practice. The class is both theoretical and practical.