The simplest command to get this information is to use the lspci command. This utility show information about PCI buses in the system and devices connected to them. The PCI configuration space is restricted to root user. [donotprint]
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | Yes |
Requirements | lspci |
Time | 1m |
You may need to run update-pciids command to get the current version of the pci.ids file from the Internet and install it to get accurate results.
Linux Find Wireless Wifi Driver Chipset Information
The syntax is as follows for the lspci command and grep command:
lspci lspci -k | more lspci | less lspci | grep -i intel lspci | grep -i broadcom lspci | grep -i wireless
Sample outputs:
0c:00.0 Network controller: Intel Corporation PRO/Wireless 5300 AGN [Shiloh] Network Connection
Note down 0c:00.0 and enter the following command:
lspci -vv -s 0c:00.0
Sample outputs:
0c:00.0 Network controller: Intel Corporation PRO/Wireless 5300 AGN [Shiloh] Network Connection Subsystem: Intel Corporation Device 1121 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: iwlagn Kernel modules: iwlagn
So I am using iwlagn driver. To get driver information type the following modinfo command:
$ modinfo iwlagn
Sample outputs:
filename: /lib/modules/2.6.32-23-generic-pae/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko alias: iwl4965 license: GPL author: Copyright(c) 2003-2009 Intel Corporation version: 1.3.27k description: Intel(R) Wireless WiFi Link AGN driver for Linux firmware: iwlwifi-4965-2.ucode firmware: iwlwifi-5150-2.ucode firmware: iwlwifi-5000-2.ucode firmware: iwlwifi-6050-4.ucode firmware: iwlwifi-6000-4.ucode srcversion: BB501FCC68D0C8213107D3B alias: pci:v00008086d00000084sv*sd*bc*sc*i* alias: pci:v00008086d00000083sv*sd*bc*sc*i* alias: pci:v00008086d00000089sv*sd*bc*sc*i* alias: pci:v00008086d00000088sv*sd*bc*sc*i* alias: pci:v00008086d00000087sv*sd*bc*sc*i* alias: pci:v00008086d00000086sv*sd*bc*sc*i* alias: pci:v00008086d00004239sv*sd*bc*sc*i* alias: pci:v00008086d00004238sv*sd*bc*sc*i* alias: pci:v00008086d0000422Csv*sd*bc*sc*i* alias: pci:v00008086d0000422Bsv*sd*bc*sc*i* alias: pci:v00008086d0000008Esv*sd*bc*sc*i* alias: pci:v00008086d0000008Dsv*sd*bc*sc*i* alias: pci:v00008086d0000423Dsv*sd*bc*sc*i* alias: pci:v00008086d0000423Csv*sd*bc*sc*i* alias: pci:v00008086d0000423Bsv*sd00001011bc*sc*i* alias: pci:v00008086d0000423Asv*sd00001021bc*sc*i* alias: pci:v00008086d0000423Asv*sd00001001bc*sc*i* alias: pci:v00008086d00004237sv*sd*bc*sc*i* alias: pci:v00008086d00004236sv*sd*bc*sc*i* alias: pci:v00008086d00004235sv*sd*bc*sc*i* alias: pci:v00008086d00004232sv*sd*bc*sc*i* alias: pci:v00008086d00004237sv*sd00001216bc*sc*i* alias: pci:v00008086d00004232sv*sd00001326bc*sc*i* alias: pci:v00008086d00004232sv*sd00001306bc*sc*i* alias: pci:v00008086d00004232sv*sd00001206bc*sc*i* alias: pci:v00008086d00004232sv*sd00001305bc*sc*i* alias: pci:v00008086d00004232sv*sd00001205bc*sc*i* alias: pci:v00008086d00004230sv*sd*bc*sc*i* alias: pci:v00008086d00004229sv*sd*bc*sc*i* depends: iwlcore,mac80211,cfg80211 vermagic: 2.6.32-23-generic-pae SMP mod_unload modversions 586TSC parm: swcrypto50:using software crypto engine (default 0 [hardware]) (bool) parm: queues_num50:number of hw queues in 50xx series (int) parm: 11n_disable50:disable 50XX 11n functionality (int) parm: amsdu_size_8K50:enable 8K amsdu size in 50XX series (int) parm: fw_restart50:restart firmware in case of error (int) parm: antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int) parm: swcrypto:using crypto in software (default 0 [hardware]) (int) parm: disable_hw_scan:disable hardware scanning (default 0) (int) parm: queues_num:number of hw queues. (int) parm: 11n_disable:disable 11n functionality (int) parm: amsdu_size_8K:enable 8K amsdu size (int) parm: fw_restart4965:restart firmware in case of error (int)
Finally, you can run the following to get info about vendor & product code:
lspci -n -s 0c:00.0
Sample outputs:
0c:00.0 0280: 8086:4235
Where,
- 0280 – Network controller:
- 8086:4235 – Intel Corporation Ultimate N WiFi Link 5300
Or the all in one following option:
$ lspci -nn -s 0c:00.0
Sample outputs:
0c:00.0 Network controller [0280]: Intel Corporation Ultimate N WiFi Link 5300 [8086:4235]
Tip: Update pci database on Linux to get accurate infomation about the wireless / wifi chipset
Type the following update-pciids command to download new version of the PCI ID list to get accurate info from lspci:
sudo update-pciids lspci | more lspci | egrep -i 'wifi|wireless|intel|broadcom|realtek'
Sample outputs:
Fig.01: Running update-pciids and lspci commands on a Linux
$ lspci -k
Sample outputs:
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09) Subsystem: Lenovo 3rd Gen Core processor DRAM Controller Kernel driver in use: ivb_uncore 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) Subsystem: Lenovo 3rd Gen Core processor Graphics Controller Kernel driver in use: i915 Kernel modules: i915 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) Subsystem: Lenovo 7 Series/C210 Series Chipset Family USB xHCI Host Controller Kernel driver in use: xhci_hcd 00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04) Subsystem: Lenovo 7 Series/C216 Chipset Family MEI Controller Kernel driver in use: mei_me Kernel modules: mei_me 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04) Subsystem: Lenovo 82579LM Gigabit Network Connection (Lewisville) Kernel driver in use: e1000e Kernel modules: e1000e 00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04) Subsystem: Lenovo 7 Series/C216 Chipset Family USB Enhanced Host Controller Kernel driver in use: ehci-pci 00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04) Subsystem: Lenovo 7 Series/C216 Chipset Family High Definition Audio Controller Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel 00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4) Kernel driver in use: pcieport Kernel modules: shpchp 00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4) Kernel driver in use: pcieport Kernel modules: shpchp 00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4) Kernel driver in use: pcieport Kernel modules: shpchp 00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04) Subsystem: Lenovo 7 Series/C216 Chipset Family USB Enhanced Host Controller Kernel driver in use: ehci-pci 00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04) Subsystem: Lenovo QM77 Express Chipset LPC Controller Kernel driver in use: lpc_ich Kernel modules: lpc_ich 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04) Subsystem: Lenovo 7 Series Chipset Family 6-port SATA Controller [AHCI mode] Kernel driver in use: ahci Kernel modules: ahci 00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04) Subsystem: Lenovo 7 Series/C216 Chipset Family SMBus Controller Kernel modules: i2c_i801 02:00.0 System peripheral: Ricoh Co Ltd MMC/SD Host Controller (rev 07) Subsystem: Lenovo MMC/SD Host Controller Kernel driver in use: sdhci-pci Kernel modules: sdhci_pci 03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34) Subsystem: Intel Corporation Centrino Advanced-N 6205 AGN Kernel driver in use: iwlwifi Kernel modules: iwlwifi
Using lshw command
One can use the lshw command as follows
$ lshw -C network
$ lshw -C network | more
Look for “Wireless interface”. Here is a sample outputs:
Fig.02: Finding WiFi chipset and driver information on Linux
$ lshw -C network | grep -B 1 -A 12 'Wireless interface'
A note about USB WiFi device
You need to use the lsusb command:
$ lsusb
Try to look a wireless or network device in the list.
A note about lsmod command
To see the status or list of all drivers (modules) loaded in the Linux Kernel, run the lsmod command:
$ lsmod
$ lsmod | more
OR use the grep command/egrep command to filter outputs:
$ lsmod | grep -i wifi
Sample outputs:
iwlwifi 249856 1 iwldvm cfg80211 610304 3 iwlwifi,mac80211,iwldvm
Look like I am using iwlwifi. Verify it with the following modinfo command:
$ modinfo iwlwifi
See the following tutorials for more info on Linux wifi drivers and commands:
- http://8 Linux Commands: To Find Out Wireless Network Speed, Signal Strength And Other Information
- Linux Command To Find the System Configuration And Hardware Information
Conclusion
You just learned how to find Wifi driver and chipset information on Linux based systems. I suggest you visit the main source of Documentation for the Linux wireless (IEEE-802.11) subsystem here. It features information for end-users, developers and vendors. Also read the man pages for the following command using the man command:
$ man lspci
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 10 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Neat, useful, clear.
Thanks Vivek.
May the last item should have been [-nn] instead of [-n]
lspci -nn -s 0c:00.0
which gives both PCI IDs and description.
Ah, yes it take out all guess work. Thanks for pointing it out :)
Amazing help, I really appreciate it.
Amazing!
very detailed approach, helped alot
very usefull for new/beginers
Thanks!
the output is below,can anyone tell me my chipset information,
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)
when I ran the command ” lspci | grep -i wireless ” I got nothing. what exactly that means? What shall I do?
And what about the same information for wireless USB interfaces??
lsusb
I am trying to find the ip address and other netstats to put onto a Raspberry Pi so it can read my wifi. I am trying to get the info by using the terminal in linux Mint. However all the code I have been given to do this (ifconfig netstats -nr) doesn’t work. I have searched the web and nothing seems to give me simple stats like ip address, subnet, router address, broadcast address and gateway. The above I have entered but I do not get what I seek. Also I do not understand the bar sign ‘I’ (eg lscpi ‘I’ less)that you place between codes. Could you please help. Mike
The bar, often called pipe, is how you pipe the output of the lspci command into the input of the command called less. What less does is to show you only a page of information at a time. It also lets you search through all of that information and do many other things with it.
You can explore the other things by looking up the less command on the Internet.