I was using Manjaro 18.0 OS in my primary Laptop for my daily activity and most of the time I use CLI for most of the my activity so, I would like to check wifi details through command line.
I did a small google search and found few things about it.I explored so many things based on that. Now, i’m going to write a detailed article about that to help others.
First you have to identify the interface name. Once you found the interface name then you can use one of the below utility to get the detailed information about it.
Most of the utility allows you to monitor and view wireless networks noise levels, bit rate, signal quality, signal strength, packet statistics, device configuration and network parameters etc.
Following utilities are available in Linux to check Wireless Network Card information
lspci
: lspci is a utility for displaying information about PCI buses in the system and devices connected to them.ip
: It show / manipulate routing, network devices, interfaces and tunnels information.nmcli
: nmcli is a command-line tool for controlling Network Manager and reporting network status.ethtool
: ethtool is used to query and control network device driver and hardware settings, particularly for wired Ethernet devices.iwconfig
: Iwconfig is similar to ifconfig, but is dedicated to the wireless interfaces.iwlist
: Iwlist is used to display some additional information from a wireless network interface that is not displayed by iwconfig.procfs
: The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information.wavemon
: wavemon is a ncurses-based monitoring application for wireless network devices.GNOME NetworkManager
: The GNOME NetworkManager daemon attempts to make networking configuration for network interfaces, like Ethernet, WiFi, and Mobile Broadband devices.
Check Wireless network card name using lspci command?
lspci is a utility to display information about PCI buses in the system and devices connected to them.
By default, it shows a brief list of devices. Use the options described below to request either a more verbose output or output intended for parsing by other programs.
Run the following command to identify your wireless network card name.
$ lspci | grep -i wireless 08:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
Use the following command to get more details about wireless card information.
$ lspci -vv -s 08:00.0
08:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
Subsystem: Intel Corporation Dual Band Wireless-AC 8260
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
Check wireless interface name using ip command?
It show / manipulate routing, network devices, interfaces and tunnels information.
Run the following command to check whether the wireless network interface is active or not. Yes, it’s active and working fine.
Make a note, wireless interface name would start with w
and wired interface would start with e
.
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp9s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether c8:5b:76:4d:d4:5c brd ff:ff:ff:ff:ff:ff 3: wlp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether e4:a7:a0:32:fc:e9 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp8s0 valid_lft 83000sec preferred_lft 83000sec inet6 fe80::ad00:2f7e:d882:5add/64 scope link noprefixroute valid_lft forever preferred_lft forever
Check wireless access point information using nmcli command?
nmcli is a command-line tool for controlling NetworkManager and reporting network status. It can be utilized as a replacement for nm-applet or other graphical clients. nmcli is used to create, display, edit, delete, activate, and deactivate network connections, as well as control and display network device status.
Run the following command to view available wifi access points for you. It will show which wifi is currently connected on your system and also shows you which wireless interface is binded on it.
$ nmcli connection show NAME UUID TYPE DEVICE 2g 3a0097de-5574-4df9-b43b-2eaaec4abb62 wifi wlp8s0 Redmi 156a7844-7135-4246-8576-17a97dd4f197 wifi -- Wired connection 1 4e26e12c-0146-35f4-85ff-a1f6c387d370 ethernet --
To view access point speed, signal strength and security informations.
$ nmcli dev wifi IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY * 2g Infra 2 54 Mbit/s 100 ▂▄▆█ WPA2 DIRECT-EK Infra 11 130 Mbit/s 55 ▂▄__ WPA2
Run the following command to see the details of “2g” wifi access point.
$ nmcli connection show 2g connection.id: 2g connection.uuid: 3a0097de-5574-4df9-b43b-2eaaec4abb62 connection.stable-id: -- connection.type: 802-11-wireless connection.interface-name: -- connection.autoconnect: yes connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1544408252 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) 802-11-wireless.ssid: 2g 802-11-wireless.mode: infrastructure . . DHCP4.OPTION[14]: requested_ntp_servers = 1 DHCP4.OPTION[15]: requested_rfc3442_classless_static_routes = 1 DHCP4.OPTION[16]: requested_root_path = 1 DHCP4.OPTION[17]: requested_routers = 1 DHCP4.OPTION[18]: requested_static_routes = 1 DHCP4.OPTION[19]: requested_subnet_mask = 1 DHCP4.OPTION[20]: requested_time_offset = 1 DHCP4.OPTION[21]: requested_wpad = 1 DHCP4.OPTION[22]: routers = 192.168.1.1 DHCP4.OPTION[23]: subnet_mask = 255.255.255.0 IP6.ADDRESS[1]: fe80::ad00:2f7e:d882:5add/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 600 IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
Run the following command to view the “wlp8s0” wifi interface details.
$ nmcli -f GENERAL,WIFI-PROPERTIES dev show wlp8s0 GENERAL.DEVICE: wlp8s0 GENERAL.TYPE: wifi GENERAL.NM-TYPE: NMDeviceWifi GENERAL.VENDOR: Intel Corporation GENERAL.PRODUCT: Wireless 8260 (Dual Band Wireless-AC 8260) GENERAL.DRIVER: iwlwifi GENERAL.DRIVER-VERSION: 4.19.6-1-MANJARO GENERAL.FIRMWARE-VERSION: 36.7596afd4.0 GENERAL.HWADDR: E4:A7:A0:32:FC:E9 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.REASON: 0 (No reason given) GENERAL.UDI: /sys/devices/pci0000:00/0000:00:1c.2/0000:08:00.0/net/wlp8s0 GENERAL.IP-IFACE: wlp8s0 GENERAL.IS-SOFTWARE: no GENERAL.NM-MANAGED: yes GENERAL.AUTOCONNECT: yes GENERAL.FIRMWARE-MISSING: no GENERAL.NM-PLUGIN-MISSING: no GENERAL.PHYS-PORT-ID: -- GENERAL.CONNECTION: 2g GENERAL.CON-UUID: 3a0097de-5574-4df9-b43b-2eaaec4abb62 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 GENERAL.METERED: no (guessed) WIFI-PROPERTIES.WEP: yes WIFI-PROPERTIES.WPA: yes WIFI-PROPERTIES.WPA2: yes WIFI-PROPERTIES.TKIP: yes WIFI-PROPERTIES.CCMP: yes WIFI-PROPERTIES.AP: yes WIFI-PROPERTIES.ADHOC: yes WIFI-PROPERTIES.2GHZ: yes WIFI-PROPERTIES.5GHZ: yes
Check Wireless interface Driver & Firmware information using ethtool command?
ethtool is used to query and control network device driver and hardware settings, particularly for wired Ethernet devices.
Run the following commands to know about wifi kernel driver, firmware version and bus info.
$ ethtool -i wlp8s0 driver: iwlwifi version: 4.19.6-1-MANJARO firmware-version: 36.7596afd4.0 expansion-rom-version: bus-info: 0000:08:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no
Check WiFi signal strength, Bit Rate & Link Quality information using iwconfig command?
Iwconfig is similar to ifconfig, but is dedicated to the wireless interfaces. It is used to set the parameters of the network interface which are specific to the wireless operation.
Iwconfig may also be used to display those parameters, and the wireless statistics (extracted from /proc/net/wireless).
All these parameters and statistics are device dependent. Each driver will provide only some of them depending on hardware support, and the range of values may change. Please refer to the man page of each device for details.
$ iwconfig wlp8s0 wlp8s0 IEEE 802.11 ESSID:"2g" Mode:Managed Frequency:2.437 GHz Access Point: DC:MA:90:51:E2:96 Bit Rate=54 Mb/s Tx-Power=22 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=69/70 Signal level=-41 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:85 Missed beacon:0
Check detailed wireless interface information using iwlist command?
Iwlist is used to display some additional information from a wireless network interface that is not displayed by iwconfig.
$ iwlist wlp8s0 scan wlp8s0 Scan completed : Cell 01 - Address: DC:MA:90:51:E2:96 Channel:6 Frequency:2.437 GHz (Channel 6) Quality=70/70 Signal level=-32 dBm Encryption key:on ESSID:"2g" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s 18 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s Mode:Master Extra:tsf=00000011762b2d86 Extra: Last beacon: 13647ms ago IE: Unknown: 00023267 IE: Unknown: 010882848B961224486C IE: Unknown: 030106 IE: Unknown: 2A0100 IE: Unknown: 32040C183060 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00 IE: Unknown: 0B05010005127A IE: Unknown: DD07000C4304000000 IE: Unknown: DDA90050F204104A0001101044000102103B00010310470010388330923092188382D5DCEF0915D2581021000D4E4554474541522C20496E632E1023001D4E45544745415220576972656C6573732041636365737320506F696E74102400074E4554474541521042000831323334353637381054000800060050F204000110110014574E523631342028576972656C6573732041502910080002210C103C0001011049000600372A000120
Check Wireless Interface information using procfs file?
The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information.
It’s sometimes referred to as a process information pseudo-file system. It doesn’t contain ‘real’ files but runtime system information (e.g. system memory, devices mounted, hardware configuration, etc).
$ cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlp8s0: 0000 64. -46. -256 0 0 0 0 6 0
Check wireless interface & Access point information using wavemon command?
wavemon is a ncurses-based monitoring application for wireless network devices. It plots levels in real-time as well as showing wireless and network related device information.
The wavemon interface splits into different “screens”. Each screen presents information in a specific manner. For example, the “info” screen shows current levels as bargraphs, whereas the “level” screen represents the same levels as a moving histogram.
$ wavemon ┌─Interface───────────────────────────────────────────────────────────────────────────────┐ │wlp8s0 (IEEE 802.11), phy 0, reg: n/a, SSID: 2g │ ├─Levels──────────────────────────────────────────────────────────────────────────────────┤ │ │ │link quality: 99% (69/70) │ │======================================================================================= │ │ │ │ │ │signal level: -41 dBm (0.08 uW) │ │============================================================= │ │ │ ├─Statistics──────────────────────────────────────────────────────────────────────────────┤ │RX: 60,276 (47.39 MiB), drop: 150 (0.2%) │ │TX: 44,938 (8.66 MiB), retries: 2,630 (5.9%) │ ├─Info────────────────────────────────────────────────────────────────────────────────────┤ │mode: Managed, connected to: DC:MA:90:51:E2:96, time: 49:27m, inactive: 0.0s │ │freq: 2437 MHz, channel: 6 (width: 20 MHz (no HT)) │ │rx rate: 54.0 Mbit/s, tx rate: 54.0 Mbit/s │ │station flags: WME, preamble: short, slot: short │ │power mgt: off, tx-power: 22 dBm (158.49 mW) │ │retry: short limit 7, rts/cts: off, frag: off │ ├─Network─────────────────────────────────────────────────────────────────────────────────┤ │wlp8s0 (UP RUNNING BROADCAST MULTICAST) │ │mac: E4:A7:A0:32:FC:E9, qlen: 1000 │ │ip: 192.168.1.4/24 │ └─────────────────────────────────────────────────────────────────────────────────────────┘ F1info F2lhist F3scan F4 F5 F6 F7prefs F8help F9about F10quit
This screen allows you to change all program options such as interface and level scale parameters, and to save the new settings to the configuration file.
┌─Preferences─────────────────────────────────────────────────────────────────────────────┐ │ - Interface - │ │ Interface wlp8s0 │ │ Cisco-style MAC addresses Off │ │ Scan sort type Chan/Sig │ │ Scan sort in ascending order Off │ │ Statistics updates 100 ms │ │ Histogram update cycles 4 │ │ Level meter smoothness 0 % │ │ Dynamic info updates 10 s │ │ │ │ - Level scales - │ │ Override scale autodetect Off │ │ Low threshold action Disabled │ │ High threshold action Disabled │ │ │ │ - Startup - │ │ Startup screen Info screen │ │ │ │ Save configuration │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────┘ F1info F2lhist F3scan F4 F5 F6 F7prefs F8help F9about F10quit
This is a full-screen histogram plot showing the evolution of levels with time.
┌─Level histogram─────────────────────────────────────────────────────────────────────────┐ │ -10│ │ │ │ │ │---------------------------------------------------------------------------------------20│ │ │ │ │ │ │ │ │ │---------------------------------------------------------------------------------------37│ │ │ │⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽│ │ │ │ │ │---------------------------------------------------------------------------------------53│ │ │ │ │ │ │ │ │ │---------------------------------------------------------------------------------------70│ │ │ │ │ │ │ │ │ │---------------------------------------------------------------------------------------87│ │ │ │ │ │ │ │ -100│ ├─Key─────────────────────────────────────────────────────────────────────────────────────┤ │[─] sig lvl (-45..-43 dBm) [─] ns lvl (unknown) [ ] S-N ratio (unknown) │ └─────────────────────────────────────────────────────────────────────────────────────────┘ F1info F2lhist F3scan F4 F5 F6 F7prefs F8help F9about F10quit
Check Wifi information using GNOME NetworkManager command?
The NetworkManager daemon attempts to make networking configuration and operation as painless and automatic as possible by managing the primary network connection and other network interfaces, like Ethernet, WiFi, and Mobile Broadband devices.
NetworkManager will connect any network device when a connection for that device becomes available, unless that behavior is disabled. Information about networking is exported via a D-Bus interface to any interested application, providing a rich API with which to inspect and control network settings and operation.