Getting detailed information about the wifi adapter on a linux system is not straight forward using gui tools.
However there are simple commands that can do the trick.
In this article we shall take a look at commands like iwconfig, iwlist, iw and nmcli which can be used to probe details about the wifi adapter and connection.
1. iwconfig
The iwconfig command is quite similar to the old ifconfig command, but works for wireless connections. Simply running the command without any arguments would show the details of the current wifi connections on the system.
Whether its your system wifi on a laptop or a usb wifi adapter, this command will list them all.
The following is the output on a desktop machine using a usb wifi adapter.
The details include the transfer bit rate, frequency, access point mac address and some other details.
$ iwconfig lo no wireless extensions. enp1s0 no wireless extensions. wlxc025e9177832 IEEE 802.11bgn ESSID:"BsnlDeck" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.412 GHz Access Point: 80:26:89:C3:6A:CA Bit Rate:150 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=68/100 Signal level=52/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Note down the interface name. here it is wlxc025e9177832
The ESSID field tells us the name of the wifi network (here its BsnlDeck) to which the adapter is connected.
Now you can configure the wireless radio transmission power using the iwconfig command like shown below:
$ iwconfig wlxc025e9177832 txpower 30
Here is the output from my Acer Swift 3 laptop showing wifi connection details:
$ iwconfig lo no wireless extensions. wlp0s20f3 IEEE 802.11 ESSID:"AirtelFiber_5GHz" Mode:Managed Frequency:5.745 GHz Access Point: 98:35:ED:D4:E1:4C Bit Rate=390 Mb/s Tx-Power=19 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=52/70 Signal level=-58 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:10 Missed beacon:0 $
2. iwlist
The next command is iwlist. It lists various supported parameter values by the wifi adapter. For example supported bit rates and supported transmission powers.
Check supported bitrates - This will show the data transfer bitrates supported by the wifi adapter.
$ iwlist wlxc025e9177832 bitrate wlxc025e9177832 4 available bit-rates : 1 Mb/s 2 Mb/s 5.5 Mb/s 11 Mb/s Current Bit Rate:150 Mb/s
3. nmcli
Check status of all network devices - nmcli device status or nmcli dev
$ nmcli device status DEVICE TYPE STATE CONNECTION wlxc025e9177832 wifi connected BsnlDeck enp1s0 ethernet disconnected -- lo loopback unmanaged --
Check details of available wifi networks that can be joined.
$ nmcli dev wifi IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 98:35:ED:D4:E1:48 AirtelFiber Infra 5 130 Mbit/s 75 ▂▄▆_ WPA1 WPA2 * 98:35:ED:D4:E1:4C AirtelFiber_5GHz Infra 149 270 Mbit/s 63 ▂▄▆_ WPA1 WPA2 60:63:4C:84:15:AA dlink-15A3 Infra 4 270 Mbit/s 47 ▂▄__ WPA1 WPA2 0C:80:63:76:5F:90 Krishna Infra 9 405 Mbit/s 40 ▂▄__ WPA2 14:CC:20:A5:70:48 Camp Nou Infra 9 54 Mbit/s 35 ▂▄__ WPA2 84:D8:1B:00:7A:7C subash Infra 10 270 Mbit/s 35 ▂▄__ WPA2 AC:84:C6:F4:60:18 TP-Link_6018 Infra 11 270 Mbit/s 34 ▂▄__ WPA2 18:A6:F7:3C:F8:1C Risha Infra 6 135 Mbit/s 27 ▂___ WPA2 34:0A:33:68:5C:E6 neymarjr Infra 13 270 Mbit/s 15 ▂___ WPA2 $
Other examples
1. Check transmission power of wifi adapter
Use the iwlist command to check the transmission power of the wifi adapter. It will display the power in decibels-milliwatts and milliwatts as well.
$ sudo iwlist wlp0s20f3 txpower
$ sudo iwlist wlp0s20f3 txpower wlp0s20f3 unknown transmit-power information. Current Tx-Power=21 dBm (125 mW) $
$ iwlist wlx74da38e88bd7 txpower wlx74da38e88bd7 unknown transmit-power information. Current Tx-Power=20 dBm (100 mW)
2. Change transmission power of wifi adapter
Now use the iwconfig command to change the radio transmission power
$ sudo iwconfig wlx74da38e88bd7 txpower 10 enlightened@desktop:~$ iwlist wlx74da38e88bd7 txpower wlx74da38e88bd7 unknown transmit-power information. Current Tx-Power=10 dBm (10 mW) $
Here is another example
$ sudo iwconfig wlx74da38e88bd7 txpower 3 $ iwlist wlx74da38e88bd7 txpower wlx74da38e88bd7 unknown transmit-power information. Current Tx-Power=3 dBm (1 mW)
The above command works for a variety of wifi chipsets including onboard intel wifi chipsets in laptops as well as chipsets in usb wifi adapters.
3. Get details of usb wifi adapter
The lsusb command will show all usb devices including the wifi adapter
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0 Bus 001 Device 003: ID 22b8:2e82 Motorola PCS Bus 001 Device 002: ID 413c:2107 Dell Computer Corp. Bus 001 Device 006: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
In the above output the line "Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]" is the usb wifi adapter.
4. Check the loaded driver modules
To check what drivers are currently loaded to operate the wifi driver, use the lsmod command and grep for wifi.
$ lsmod | grep -i wifi rtlwifi 77824 3 rtl8192c_common,rtl_usb,rtl8192cu mac80211 778240 4 rtl_usb,rtl8192cu,rtlwifi,rtl8xxxu cfg80211 622592 2 rtlwifi,mac80211
5. Get lots of detail about wifi adapter
The iw list command shows a huge amount of hardware information about the wifi adapter.
$ iw list