Wifi

From miki
Jump to navigation Jump to search

References

Wifi tools

iw

To be completed.

iw list       # View wlan device capabilities

iwconfig

iwconfig, get information or configure a wireless network interface

# iwconfig is in /sbin. Either give full path or use sudo
/sbin/iwconfig           # Get information
sudo iwconfig            # Get information

Example of information returned by iwconfig:

iwconfig
# enp0s31f6  no wireless extensions.
# 
# wlp1s0    IEEE 802.11  ESSID:"ManticoreNet"  
#           Mode:Managed  Frequency:5.18 GHz  Access Point: 38:2C:4A:A3:62:37   
#           Bit Rate=240 Mb/s   Tx-Power=22 dBm   
#           Retry short limit:7   RTS thr:off   Fragment thr:off
#           Encryption key:off
#           Power Management:on
#           Link Quality=49/70  Signal level=-61 dBm  
#           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
#           Tx excessive retries:0  Invalid misc:56   Missed beacon:0
# 
# lo        no wireless extensions.

Note that the Link quality and signal level is also available in /proc/net/wireless:

cat /proc/net/wireless
# Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
#  face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
# wlp1s0: 0000   49.  -61.  -256        0      0      0      0     58        0

iwlist

iwlist, get more detailed wireless information from a wireless interface

sudo iwlist scan
sudo iw dev wlan0 scan   # wlan0 or wlp1s0 or ...

nmcli

nmcli can set and query wifi devices and wifi connections.

nmcli d wifi
# IN-USE  SSID           MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
#         ManticoreNet   Infra  1     270 Mbit/s  72      ▂▄▆_  WPA2     
# *       ManticoreNet   Infra  36    405 Mbit/s  62      ▂▄▆_  WPA2     
#         WiFi-5.0-C1C3  Infra  108   540 Mbit/s  60      ▂▄▆_  WPA2     
#         WiFi-2.4-C1C3  Infra  6     54 Mbit/s   57      ▂▄▆_  --

rfkill

  • rfkill, show state of RF SW/HW kill switch (WiFi / BT / ...)
rfkill list all

If using Network Manager:

nmcli connection show
# NAME                UUID                                  TYPE      DEVICE    
# testing             1eba2547-2cc2-4785-9288-f205aa6f533d  wifi      wlp1s0 
nmcli connection show "testing"
nmcli -f GENERAL,WIFI-PROPERTIES dev show wlp1s0

/proc/net/wireless

This file contains some information regarding the status of the wifi connections:

cat /proc/net/wireless
# Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
#  face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
# wlp1s0: 0000   52.  -58.  -256        0      0      0      0     58        0

Utilities

Wavemon

See Linux commands.

Wifi PEAP

Setup a Linux Access Point / Wifi Hotspot

In Gnome Debian Buster

Use Gnome Settings -> WiFi -> ... -> Turn on Wi-Fi hotspot [1]

Using Network Manager

From debian.org:

nmcli dev wifi hotspot ifname wlp4s0 ssid test password "test1234"

old stuff

You can turn your laptop into a WiFi access point, provided of course that your WiFi card supports that feature:

sudo service network-manager stop
sudo iwconfig wlan0 mode master

If you get the following error then most probably it is not supported:

Error for wireless request "Set Mode" (8B06) : 
    SET failed on device wlan0 ; Invalid argument.

Turn NetworkManager back on:

sudo service network-manager start

Some links:

Tips

Get Wifi device

Using nmcli:

nmcli dev|awk '$2 == "wifi" {print $1}'
# wlp1s0

Scan free channels / frequency

We can use these tools to list the currently used channels [2]:

  • One liner
# Interface doesn't support scanning: Change itf name as necessary
sudo iwlist wlp0s20f3 scan | grep Frequency | sort | uniq -c | sort -n
  • GUI app linssid
sudo apt install linssid

Troubleshoot wifi

Connection issues

# Check device
lsusb                # if wifi usb device
lspci                # if wifi pci device
lspci | egrep -i 'wifi|wlan|wireless'

# Check if device has an interface
iwconfig

# Check status interfaces
ifconfig

# Get available WiFi connections
nmcli c[onnection]

# Get Wifi Status
nmcli r[adio]

# If Wifi is down, turn it on:
nmcli r wifi on

Signal quality

iwconfig returns information on the link quality and signal level:

# Check signal quality
sudo iwconfig wlp1s0|grep -i quality
# Link Quality=52/70  Signal level=-58 dBm

The same information is available from /proc/net/wireless:

cat /proc/net/wireless
# Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
#  face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
# wlp1s0: 0000   52.  -58.  -256        0      0      0      0     58        0

nmcli also returns signal information, but more human-friendly:

nmcli dev wifi
# IN-USE  SSID           MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
#         testing        Infra  13    270 Mbit/s  70      ▂▄▆_  WPA2

NetworkManager

Wifi is either controlled by NetworkManager or via the command line (nmcli).

Command file
  • See file /etc/network/interfaces. See man page man interfaces
  • For WPA, see file /etc/wpa_supplicant/wpa_supplicant.conf.

Miscellaneous

  • Wireless deauthentication code from [3]:
  • About syslog wlan0: deauthenticated from 00:1d:7e:0c:24:5e (Reason: 14), see [4]:
    That means that the WPA encryption code is failing and the packet is corrupt. I would worry about that corrupt beacon from the AP.
  • Troubleshooting WiFi (opensuse post)
  • Getting info on WiFi (opensuse post)
3 Deauthenticated because sending station is leaving (or has left) IBSS or ESS.
14 MIC failure.