User Tools

Site Tools


doc:faq:faq.wireless

OpenWrt Wireless FAQ

Note: By default the wireless is OFF. Turn it on in /etc/config/wireless by changing disabled 1disabled 0

How do I learn more about the Linux wireless subsystem?

How do I configure wireless settings?

Which wireless drivers are the best?

Which router should I buy?

What can I do with my wireless?

Wireless throughput

Whereas throughput on Ethernet-connection could depend on limited CPU power alone, the throughput on a 802.11-connection depends on many more parameters.

  1. first of all there is the theoretical maximum throughput under optimal conditions, and the values the Ferengi advertise their merchandise is the TMT…
    1. e.g. the TMT is 100MBit/s for Fast Ethernet
    2. e.g. the TMT is 54MBit/s or 300MBit/s or even 450MBit/s for 802.11-hardware
  2. then there is the payload throughput
    1. e.g. 97,28% the TMT for Fast Ethernet (cf. →Protocol Efficiency)
    2. e.g. FIXME % the TMT for 802.11, without techniques such as frame aggregation (search for "IEEE 802.11 MAC Frames")
  3. then there are a whole bunch of interference factors, who all lessen this value considerably.

Please read datagram.structures to make sure, we all talk about the same things. Thank you ;-)

When you measure the throughput of an action (the copy of a file), what exactly are you measuring? The throughput of the payload, or the throughput of payload + overhead? For Ethernet the difference can be small, but for DSL-PPPoE or 802.11 the difference is bigger. So it's always good to know, what actually you are measuring. A good manual will tell you what a software is precisely doing.

:!: Whether an OEM firmware gives you better throughput then OpenWrt is a matter of SOFTWARE (since both run on the same hardware…). So ask yourself, what Operating System is used for the OEM firmware. Probably some sort of GNU/Linux. In Linux, drivers are part of Kernel. In OpenWrt we use quite new Kernel with even newer wireless drivers. So it IS possible, that OEM firmware gives you better throughput, but since both, OEM and OpenWrt, use Linux kernel and Linux drivers, well, …

  • Remember the Rule of Acquisition No. 239: "Never bis afraid to mislabel a product"

I am not reaching theoretical throughput ?

The device overview shows that my devices are not connecting at full speeds. 802.11n throughput depends heavily on 40MHz Channel Width and additional antennas.

  • iPad 1 : 802.11n certified but 1 Antenna, 20MHz only : max. theoretical throughput: 65Mbit/s
  • 1 Antenna, 40MHz : 150Mbit
  • Netgear WNDA3200 USB Stick: 802.11n , 2 Antenna, 40MHz : max. theoretical throughput: 300Mbit/s
  • 3 Antenna , 20MHz: 195Mbit
  • 3 Antenna , 40MHz: 450Mbit

The iPad 1 is in compliance with 802.11n but delivers only slightly better performance than previous 802.11g.

40MHz in 2.4Ghz bands is often deactivated because of interference with other channels. There are only 3 20MHz channels without overlapping available in the 2.4.GHz band.

Howto maximize the wireless throughput?

Can I adjust the transmit power?

Yes, but cranking the power to the maximum won't help you any. You might transmit farther but the noise level will be higher (and will probably bleed into the neighbouring channels; that looks like this then) and your recieve sensitivity won't be improved any, limiting your distance. If you want better range go buy better antennae.

"With regard to ath9k development, last year is ancient (as of 2011-08-20). Additionally OpenWrt contains a number of ath9k patches which are not yet mainlined, so its usually a bit ahead."

How can I debug my wireless?

How can I setup a captive portal or a hotspot?

Regulation in law

CRDA (Central Regulatory Domain Agent) takes care of everything!
To not cause havoc in your neighborhood, and also to not break the law and pay a fine!, your IEEE 802.11 setup needs to obey the regulations for your current location. But you do NOT need to bother with all of this, because the CRDA takes care of this for you.
Any country has some kind of regulatory authority in charge of regulating the radio frequency spectrum as these differ from country to country. In case you want to inform/convince yourself of the current regulations, there probably is an official web page on the Internet with this information. For Germany, this is the ⇒"Bundesnetzagentur". AllgemeinZuteilungen is current valid law as pdf, concerning frequencies and the allowed maximum transmit power.

How Do I enable channels 12 and 13?

Ticket 9678: ar71xx: DE locate, but channel 12 and 13 are disabled wontfix This problem cannot be fixed in OpenWrt due to various obligations and agreements with vendors.
Wikipedia says "Most countries in world" allow channels 12 and 13
Workaound Solution: http://luci.subsignal.org/~jow/reghack/ + set your country in /etc/config/wireless
OpenWrt Forum discussion to enable channels 12 and 13
Note: due to r31954 tweaking crda isn't longer an option.

Why can't I use HT40+ with channel 11?

What wireless modes of operation are there?

What wireless modes of operation does driver x on hardware y support?

What limitations are there when combining multiple wireless modes of operation?

Limitations when combining multiple wireless modes of operation at the same time do exist.

How to scan for wireless networks?

wireless.utilities

ifconfig wlan0 down
iw phy phy0 interface add scan0 type station
ifconfig scan0 up
iwlist scan0 scan
iw dev scan0 del
ifconfig wlan0 up
killall -HUP hostapd

opkg update
opkg install iwinfo
iwinfo wlan0 scan

wireless.tools.and.applications.available.in.the.openwrt.repository

How to get a list of connected clients?

wireless.utilities

# Proprietary Broadcom (wl)
wl -i wl0 assoclist
 
# Proprietary Atheros (madwifi)
wlanconfig ath0 list sta
 
# MAC80211
iw dev wlan0 station dump
 
# Universal
iwinfo wlan0/wl0/ath0 assoclist

A script that uses the above to display MAC address, and DHCP lease information (IP address, hostname):

cat > /etc/config/show_wifi_clients.sh << "EOF_DOCUMENT"
#!/bin/sh
 
# /etc/config/show_wifi_clients.sh
# Shows MAC, IP address and any hostname info for all connected wifi devices
# written for openwrt 12.09 Attitude Adjustment
 
echo    "# All connected wifi devices, with IP address,"
echo    "# hostname (if available), and MAC address."
echo -e "# IP address\tname\tMAC address"
# list all wireless network interfaces 
# (for MAC80211 driver; see wiki article for alternative commands)
for interface in `iw dev | grep Interface | cut -f 2 -s -d" "`
do
  # for each interface, get mac addresses of connected stations/clients
  maclist=`iw dev $interface station dump | grep Station | cut -f 2 -s -d" "`
  # for each mac address in that list...
  for mac in $maclist
  do
    # If a DHCP lease has been given out by dnsmasq,
    # save it.
    ip="UNKN"
    host=""
    ip=`cat /tmp/dhcp.leases | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 2 -s -d" "`
    host=`cat /tmp/dhcp.leases | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 3 -s -d" "`
    # ... show the mac address:
    echo -e "$ip\t$host\t$mac"
  done
done
EOF_DOCUMENT
Make it executable:
chmod ugo+rx /etc/config/show_wifi_clients.sh

Now run it:

/etc/config/show_wifi_clients.sh

Signal Strength

What does DFS mean?

How do I reset Wifi interface

wifi down && sleep 5 && wifi

iwconfig <device> mode master error

That's right.

Typically you will see something like this:

root@OpenWrt:~# iwconfig wlan0 mode master
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

It's documented here.

doc/faq/faq.wireless.txt · Last modified: 2014/03/20 00:04 by valentt