Wifi: Difference between revisions

From miki
Jump to navigation Jump to search
Line 2: Line 2:
* https://www.cyberciti.biz/tips/linux-find-out-wireless-network-speed-signal-strength.html
* https://www.cyberciti.biz/tips/linux-find-out-wireless-network-speed-signal-strength.html


== Commands ==
== Wifi tools ==
=== iw ===
* <tt>[[Linux Commands#iwconfig|iwconfig]]</tt>, get information or configure a wireless network interface
To be completed.

=== iwconfig ===
<code>[[Linux Commands#iwconfig|iwconfig]]</code>, get information or configure a wireless network interface
<source lang="bash">
<source lang="bash">
sudo iwconfig # Get information
# iwconfig is in /sbin. Either give full path or use sudo
sudo iwconfig wlan0 # Configure
/sbin/iwconfig # Get information
sudo iwconfig # Get information
</source>


Example of information returned by <code>iwconfig</code>:
<source lang="bash">
iwconfig
iwconfig
# enp0s31f6 no wireless extensions.
# # iwconfig
# lo no wireless extensions.
#
#
# wlp1s0 IEEE 802.11 ESSID:"ManticoreNet"
# eth0 no wireless extensions.
# Mode:Managed Frequency:5.18 GHz Access Point: 38:2C:4A:A3:62:37
#
# Bit Rate=240 Mb/s Tx-Power=22 dBm
# wlan0 IEEE 802.11abg ESSID:off/any
# Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm
# Retry short limit:7 RTS thr:off Fragment thr:off
# Retry long limit:7 RTS thr:off Fragment thr:off
# Encryption key:off
# Encryption key:off
# Power Management: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.
</source>


Note that the Link quality and signal level is also available in {{file|/proc/net/wireless}}:
iwconfig wlan0 # Limit to wlan0
<source lang="bash">
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
</source>
</source>


=== iwlist ===
* <tt>[[Linux Commands#iwlist|iwlist]]</tt>, get more detailed wireless information from a wireless interface
<code>[[Linux Commands#iwlist|iwlist]]</code>, get more detailed wireless information from a wireless interface
<source lang="bash">
<source lang="bash">
sudo iwlist scan
sudo iwlist scan
sudo iw dev wlan0 scan # wlan0 or wlp1s0 or ...
sudo iw dev wlan0 scan # wlan0 or wlp1s0 or ...
</source>
</source>

* <tt>[[Linux Commands#rfkill|rfkill]]</tt>, show state of RF SW/HW kill switch (WiFi / BT / ...)
=== nmcli ===
<code>[[Linux Commands#nmcli|nmcli]]</code> can set and query wifi devices and wifi connections.
<source lang="bash">
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 ▂▄▆_ --
</source>

=== rfkill ===
* <code>[[Linux Commands#rfkill|rfkill]]</code>, show state of RF SW/HW kill switch (WiFi / BT / ...)
<source lang="bash">rfkill list all</source>
<source lang="bash">rfkill list all</source>



Revision as of 20:04, 29 December 2019

References

Wifi tools

iw

To be completed.

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

Utilities

Wavemon

See Linux commands.

Wifi PEAP

Linux Access Point

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:

Troubleshoot wifi

# 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

# Check signal quality
sudo iwconfig wlp1s0|grep -i quality
# Link Quality=52/70  Signal level=-58 dBm  
nmcli dev wifi
# IN-USE  SSID           MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
#         testing        Infra  13    270 Mbit/s  70      ▂▄▆_  WPA2     
watch -n 1 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    182        0

# Get available WiFi connections
nmcli c[onnection]

# Get Wifi Status
nmcli r[adio]

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

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

NetworkManager
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 [1]:
  • About syslog wlan0: deauthenticated from 00:1d:7e:0c:24:5e (Reason: 14), see [2]:
    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.