Wifi not working on lenovo thinkpad using centos-7


New Member
Jun 30, 2023
Reaction score
I installed centos - 7 alongside ubnuntu-20.04. But Wifi adopter is not shown at all (blank) in centos -7 OS. However same hardware with ubuntu-20 (in dual boot mode) is working fine. Laptop is Lenovo's Thinkpad series.

it might help to know what wifi adapter you are using. if you open a terminal (or are in a tty) and run the command

lspci -knn | grep -iA3 net

that should show some info about the adapter including whether or not it has a "Kernel driver in use". if it does, you could check

rfkill list

to see if wifi is blocked and

nmcli radio wifi

to see if it is enabled. if you have a driver, wifi is enabled and not blocked you could try checking

ip a

to see if you have an ip address (or addresses including ipv6) and if the interface is shown to be UP.
Thanks Brikwizard for suggestion. Here are report of commands you suggested.
1. "lspci -knn | grep -iA3 net" return following :-

09:00.0 Network controller [0280]: Intel Corporation Device [8086:2725] (rev 1a)
Subsystem: Intel Corporation Device [8086:0020]
Kernel modules: iwlwifi
0a:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01)
0b:00.0 Ethernet controller [0200]: Intel Corporation Intel(R) Ethernet Controller I225-V [8086:15f3] (rev 03)
Subsystem: Lenovo Device [17aa:22d8]
Kernel driver in use: igc
Kernel modules: igc

2. "rfkill list" return following:

0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no

3. "nmcli radio wifi" return following:


4. "ip a" return following:-

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 xxx.0.0.x/x scope host lo
valid_lft forever preferred_lft forever
inet6 ::x/xxx scope host
valid_lft forever preferred_lft forever
2: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd xx.xx.xx.xx
inet xx.xx.xx.xx/xx brd xx.xx.xx.xx scope global noprefixroute dynamic enp11s0
valid_lft 3559sec preferred_lft 3559sec
inet6 xx:xx:xx:xx:xx/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:cd:b7:22 brd ff:ff:ff:ff:ff:ff
inet xx:xx:xx:xx:xx/xx brd xx:xx:xx:xx:xx scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd xx.xx.xx.xx

Please note instead of wifi it is showing bluetooth enable/disable option.

I tried threads available on following link:-
But not sure, if I should install network manager for wifi. More clarity on this issue will help.
this is a page from the linux hardware database that has some info about your wifi adapter: https://linux-hardware.org/?id=pci:8086-2725-8086-0020

you can see in the Kernel Drivers section where it says you would need a 5.12 kernel or newer to have that device be supported. i created a centos-7 virtual machine to test out the above commands. it has a 3.10 kernel.

you can check your kernel version with the command

uname -r

you can see your ethernet adapter has this line:
Kernel driver in use: igc
whereas your wifi adapter does not. as @Brickwizard mentioned, i don't know if you will get that adapter to work with such an old kernel.

dmesg has lots of boot as well as other kernel messages. you could try looking through those to see if there might be some other problem with a command like

dmesg | grep -iE 'iwlwifi|09:00.0'

which searches for messages about the driver (iwlwifi) or the pci bus (09:00.0).

the virtual machine also has the command


which may update the list of pci ids (if there is a newer list than the one you already have) that are used to identify pci devices. i believe you will need root authentication to be able to run that command so you would need to su to root or use sudo if you have that set up.

Members online

Latest posts