How to tell if a driver is working

msfox99

New Member
Joined
Sep 27, 2020
Messages
9
Reaction score
4
Credits
87
Hi all. I installed the Peppermint OS distro on a friend's old Netbook a few years ago. All has been working very well with the limited resources that the Netbook has, including the built in wifi adapter. Recently it appears that the adapter stopped working. I tried an external USB wifi dongle, which works fine. I assume the built in adapter died, but I am also wondering if somehow the driver for that adapter somehow got corrupted or something. (I assume that this isn't typical on Linux.) I am not that familiar with driver operation on Linux, so after some Googling, I issued a bunch of commands such as
iwconfig,
iwlist scan
lshw -C network
lspci -vnn | grep -i net
modinfo iwlwifi

But I am not sure how to tell if the built in wifi adapter is responding to these queries, or it its driver is working. Any suggestions? What should I be looking for?

Thanks.
 


Could you post the output to the command to:
Code:
lsusb -t
This would show any external usb wifi adapters.
 
Thanks for the reply. See below. Just to clarify, the USB dongle is working fine. I am trying to learn how to debug the driver for the internal Wifi adapter. My friend could just buy a dongle to continue to use the Netbook, but I am trying to use this as a learning exercise for myself.

The attached photo shows the active network connection with the dongle.
20200927_134056.jpg


I think that the USB adapter is Port 2, Dev 4:


Code:
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
    |__ Port 2: Dev 4, If 0, Class=Vendor Specific Class, Driver=r8712u, 480M
    |__ Port 4: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 4: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
 
Last edited:
Recently it appears that the adapter stopped working. I tried an external USB wifi dongle, which works fine. I assume the built in adapter died, but I am also wondering if somehow the driver for that adapter somehow got corrupted or something.
Question: can you find out if the machine had recently (or whenever the built in adapter stopped working) installed updates? Especially interested in kernel updates.

There seems to be an issue with kernel updates causing this on some machines.

It may be worth trying a previous or older kernel.
 
Very good question. She hadn't done any updates in the last few years, so I did all of the available app updates. There were over 150 or so. But I think the kernel is done separately and I was hesitant to do that, since the machine only has 1 GB of RAM. The current kernel is on the machine is: 4.4.0-189. If you think it would be save to update it, I can give it a try. But I don't think that would explain this issue since it hasn't been updated in a very long time.

Thanks.
 
so I did all of the available app updates.
it hasn't been updated in a very long time.
Those two sentences seem to be contradictory.
Unless Peppermint does things very differently - kernel updates are often listed along with application and hardware drivers updates.
I am not recommending updating the kernel.
I am advising that it would be useful to know if the kernel was updated and the on-board wifi nic stopped working after such.

Try running this in Terminal - it may reveal something useful;
Code:
inxi -Nx
 
Vrai - sorry for the confusion. I am pretty sure that nothing was updated before the problem started. I got the machine back and started trying to figure out what was going on. That is when I did the app updates, but not the kernel. (It wasn't listed in the list of updates.) Current version of PeppermentOS on the machine is 7, latest is 10. I didn't see a way (from the PeppermentOS site to update to 10 without reinstalling, but I would guess that there is.

Here is the info that you requested, thanks for continuing to help me.

The Centrino Wireless-N is the one that is not working.
The Realtek is the USB dongle which is working.

inx -Nx:

Code:
Network:   Card-1: Qualcomm Atheros AR8152 v1.1 Fast Ethernet
           driver: atl1c v: 1.0.1.1-NAPI port: 5000 bus-ID: 01:00.0
           Card-2: Intel Centrino Wireless-N 1000 [Condor Peak] driver: iwlwifi bus-ID: 02:00.0
           Card-3: Realtek RTL8191SU 802.11n WLAN Adapter driver: r8712u usb-ID: 001-004

inx -Fnx:

Code:
System:    Host: mady-AOD255 Kernel: 4.4.0-189-generic x86_64 (64 bit gcc: 5.4.0) Desktop: N/A
           Distro: Peppermint Seven
Machine:   System: Acer (portable) product: AOD255 v: V3.05(DDR2)
           Mobo: Acer model: AOD255 v: V3.05(DDR2) Bios: Acer v: V3.05(DDR2) date: 08/12/2010
CPU:       Single core Intel Atom N450 (-HT-) cache: 512 KB
           flags: (lm nx sse sse2 sse3 ssse3) bmips: 3325
           clock speeds: max: 1666 MHz 1: 1666 MHz 2: 1333 MHz
Graphics:  Card: Intel Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
           bus-ID: 00:02.0
           Display Server: X.Org 1.18.4 drivers: intel (unloaded: fbdev,vesa)
           Resolution: [email protected]
           GLX Renderer: Mesa DRI Intel Pineview M GLX Version: 1.4 Mesa 18.0.5 Direct Rendering: Yes
Audio:     Card Intel NM10/ICH7 Family High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0
           Sound: Advanced Linux Sound Architecture v: k4.4.0-189-generic
Network:   Card-1: Qualcomm Atheros AR8152 v1.1 Fast Ethernet
           driver: atl1c v: 1.0.1.1-NAPI port: 5000 bus-ID: 01:00.0
           IF: enp1s0 state: down mac: <filter>
           Card-2: Intel Centrino Wireless-N 1000 [Condor Peak] driver: iwlwifi bus-ID: 02:00.0
           IF: wlp2s0 state: down mac: <filter>
           Card-3: Realtek RTL8191SU 802.11n WLAN Adapter driver: r8712u usb-ID: 001-004
           IF: wlx00212f399781 state: N/A mac: N/A
Drives:    HDD Total Size: 160.0GB (4.8% used) ID-1: /dev/sda model: WDC_WD1600BEVT size: 160.0GB
Partition: ID-1: / size: 146G used: 6.2G (5%) fs: ext4 dev: /dev/sda1
           ID-2: swap-1 size: 1.06GB used: 0.00GB (0%) fs: swap dev: /dev/sda5
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 59.0C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 149 Uptime: 2:37 Memory: 292.9/981.2MB Init: systemd runlevel: 5 Gcc sys: N/A
           Client: Shell (bash 4.3.481) inxi: 2.2.35
 
I would have thought that if the internal WiFi card is showing recognised then it's not dead.
 
Good point captain-sensible. That is why I am trying to determine if the something happened with the driver. I would add that there is the possibility in general that the logic side of the adapter could still be working and the radio circuitry might have died.
 
It would be useful to see the current version of iwlwifi with:
Code:
dpkg -l iwl*

And then see if there may be an update:
Code:
apt policy iwlwifi
 
I hate to bring this up because it is like stating the obvious... but... is there an actual hardware switch on that machine to turn the wireless radio on and off? Or, more likely, a 'Function' (Fn) key combination which turns the wireless on and off?
 
I am pretty sure that nothing was updated before the problem started.
Might be worth taking a peek at the log files so we may perhaps be very sure. ¯\_(ツ)_/¯
 
It would be useful to see the current version of iwlwifi with:
Code:
dpkg -l iwl*

And then see if there may be an update:
Code:
apt policy iwlwifi

jglen490 - I tried that and the iwlwifi driver isn't on the system. I also tried to install it and it couldn't be found. After searching for a while, it appears that Intel has some modules that I can download, but it is late here and I can look into it more tomorrow. Thanks.
 
I hate to bring this up because it is like stating the obvious... but... is there an actual hardware switch on that machine to turn the wireless radio on and off? Or, more likely, a 'Function' (Fn) key combination which turns the wireless on and off?

Vrai - no worries - yes, I tried turning the Wifi on and off via the function key, and it behaves consistently with that, i.e. when I turn it off the Wifi and then look at the network setting at the bottom right of the window, it says WIfi not available. When I turn it on, it shows the settings but when I connect, it fails. I am certain I am entering the correct Wifi password.

Getting late here, so I will see if I can find the log files tomorrow. Thanks again for your help Vrai. :)
 
my approach i.e a "slackers" might not be appropriate for another OS but ..:

hardware:

find out vendor and ID:
we need "definitive" vendor Id and definitive Device ID , number 5) will give the ID's needed. eg mine : [Stone Peak] [8086:2110]
Kernel driver in use: iwlwifi


then can look up in database for what should be needed

see if "driver" i call them modules are loaded

later look into ucode firmaware element

i can see inx which i think is a "compendium" result how about :
1) # lsmod | grep "iwlwifi"
// # i am root you might have to do sudo for all #
eg on my laptop

2) $ lsmod | grep "iwlwifi"
iwlwifi 270336 1 iwlmvm
cfg80211 815104 3 iwlmvm,iwlwifi,mac80211


3) # modprobe iwlwifi
4) # dmesg | grep iwl

5) # lspci -nnk | grep -iA2 net

can you give output for 1-5 and see if it comes up with anything new ?
 
Last edited:
Thanks again captain-sensible. Here are is the output:

(I ran these commands without the USB Wifi dongle inserted. The internal Wifi is the Intel Centrino.)

1: # lsmod | grep "iwlwifi"
Code:
iwlwifi               200704  1 iwldvm
cfg80211              565248  3 iwlwifi,mac80211,iwldvm

2 was the same as 1.

3 had not output.
# modprobe iwlwifi

4: # dmesg | grep iwl

Code:
[   20.244634] iwlwifi 0000:02:00.0: loaded firmware version 39.31.5.1 build 35138 op_mode iwldvm
[   20.938304] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled
[   20.938319] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[   20.938328] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[   20.938338] iwlwifi 0000:02:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
[   20.938465] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[   21.037020] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[   21.993690] iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0
[   43.638681] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[   43.646848] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[   43.646973] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[   43.684863] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[   43.692222] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[   43.692333] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 1748.566670] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 1755.050453] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 1755.059122] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1755.071732] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1755.071861] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 1755.109210] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1755.116650] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1755.116766] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 1788.700806] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 1798.183401] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 1798.184621] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1798.192491] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1798.192619] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 1798.230192] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1798.237634] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 1798.237749] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 7262.737016] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 7262.753304] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 7262.753438] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3
[ 7262.790204] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 7262.808223] iwlwifi 0000:02:00.0: L1 Disabled - LTR Disabled
[ 7262.808346] iwlwifi 0000:02:00.0: Radio type=0x0-0x0-0x3

5: # lspci -nnk | grep -iA2 net

Code:
01:00.0 Ethernet controller [0200]: Qualcomm Atheros AR8152 v1.1 Fast Ethernet [1969:2060] (rev c1)
    Subsystem: Acer Incorporated [ALI] AR8152 v1.1 Fast Ethernet [1025:0349]
    Kernel driver in use: atl1c
    Kernel modules: atl1c
02:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1000 [Condor Peak] [8086:0083]
    Subsystem: Intel Corporation Centrino Wireless-N 1000 BGN [8086:1305]
    Kernel driver in use: iwlwifi
 
On phone walking up having a cup of tea.well look into a bit more later.output shows that a kernel module was successfully loaded for the centrino card.
 
im half awake this is your wifi card and OS that it works with : https://linux-hardware.org/index.php?id=pci:8086-0885-8086-1305

which peppermint do you have 9 or older ?


you could try maybe :
$ sudo apt-get install intel-microcode

maybe also look :

sudo apt-cache pkgnames linux-firmware



Another thing you can do is take out that usb wifi ; boot a couple of other OS from usb stick and see if they can use wifi card. Thats the approach i took when an older version of Slackware couldn't use my wifi card. I put i newer version onto usb; it could use it ,so i upgraded to that version

what do you think Debian derivative users @Condobloke , @70 Tango Charlie any other users ?
 
Last edited:
Quick way to see if driver is loaded.

nmcli dev show


Quick way to test signal strength of wifi connection

nmcli dev wifi list

If you are on a WPA type wifi connection you can try this..

systemctl status -l wpa_supplicant

this may show you some errors
Finally, if all that looks OK, try running netstat

[root@myhost ~]# netstat -i 5
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno1 1500 6961430 0 0 0 5433466 0 0 0 BMRU
lo 65536 12646 0 0 0 12646 0 0 0 LRU
wlp58s0 1500 574 0 0 0 1098 0 0 0 BMRU

In my case, wlp58s0 is my wifi interface. (They almost always start with wlp)
Look under TX-ERR and TX-DRP (Errors and Drops)
zero's are good. I wouldn't worry about very low numbers (less than 1%)
In my case I've only sent 574 packets through this interface. But you might send
hundreds of thousands. (kind of like on my eno1 interface).

If all this looks good, we can do a few more things.
 
Driver loaded #5
# lsmod | grep "iwlwifi"



Kernel driver in use: iwlwifi

@dos2unix do you think ucode has any baring or not ?

# dmesg | grep firmaware
 
Last edited:

Members online


Top