Description
My WiFi controller is dead. I am fairly confident that this is so:
jeffs@frmwrk16:~/nbmdt$ ip --stats link show dev wlp1s0 3: wlp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000 link/ether fc:b0:de:18:10:61 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped missed mcast 0 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0 jeffs@frmwrk16:~/nbmdt$
Framework customer suggested I run the WiFi diagnostic tool to see what happens. Why not? Nothing else I've tried has fixed or even identified the problem. So I ran it.
Integrated Wi-Fi Diagnostic Script
Starting Wi-Fi Diagnostics...
Performing ping test to 8.8.8.8...
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=71.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=70.4 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=70.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=55 time=70.2 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 70.224/70.575/71.068/0.309 ms
System Information:
Operating System: Ubuntu 24.04.1 LTS
Kernel Version: 6.8.0-44-generic
CPU: AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
Total RAM: 30Gi
Last System Update: Oct 1 00:00
Wi-Fi Card installed: 01:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
Wi-Fi Interface Information:
Interface: wlp1s0
Interface wlp1s0
ifindex 3
wdev 0x1
addr fc:b0:de:18:10:61
type managed
wiphy 0
txpower 3.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Not connected.
Power save: on
VPN (tun0) detected: Active (OpenVPN)
Network Speed Test:
Running speed test, please wait... (Note: The test may appear to hang at 98% for a few minutes. This is normal - wait patiently.)
[================================================= ] 98%
Ping: 87.201 ms
Download: 73.97 Mbit/s
Upload: 65.07 Mbit/s
Checking network status with nmcli...
DEVICE TYPE STATE CONNECTION
enx00e04c160379 ethernet connected Wired connection 1
lo loopback connected (externally) lo
tun0 tun connected (externally) tun0
wlp1s0 wifi disconnected --
p2p-dev-wlp1s0 wifi-p2p disconnected --
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
No active Wi-Fi connection detected or speed not available.
Monitoring Wi-Fi signal and quality with nmcli...
No active Wi-Fi connection found.
Wi-Fi Diagnostic Summary
========================
Wi-Fi Interface:
- wlp1s0
Speed Test Results:
- Ping: 87.201 ms
- Download: 73.97 Mbps
- Upload: 65.07 Mbps
Network Environment
====================
- SSID:
- Signal Strength: dBm
- Signal level: N/A%
- Frequency: MHz
- Power save: on
- VPN Active: Yes
- VPN Type: OpenVPN (tun0)
INSIGHTS
========
System Information:
- Your system specifications are important for Wi-Fi performance. A recent kernel version often includes the latest Wi-Fi drivers and features.
Wi-Fi Interface:
- Connected to network:
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 401: [: : integer expression expected
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 403: [: : integer expression expected
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 405: [: : integer expression expected
- Unknown frequency band. Characteristics are unknown.
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 412: [: : integer expression expected
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 414: [: : integer expression expected
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 416: [: : integer expression expected
- Poor signal strength. Consider moving closer to your router or checking for obstacles.
(standard_in) 1: syntax error
Wifi-Diagnostic.sh: line 423: [: : integer expression expected
- Lower transmission rate. You might experience slowdowns with high-bandwidth activities.
Speed Test:
- Higher ping time. You might experience lag in real-time applications.
- Good download speed. Suitable for most online activities and HD streaming. Note: Speed test results should be compared to other services such as Fast.com and Google Speed Test if the results feel wrong.
- Good upload speed. Suitable for video calls, uploading large files, and online backups.
Network Environment:
- Power save mode is on. This may improve battery life but could potentially impact Wi-Fi performance.
VPN Status:
- A VPN (OpenVPN) is active on interface tun0. This may impact your internet speed and latency, but provides increased privacy and security.
- OpenVPN is known for its strong security features but may have slightly higher overhead compared to WireGuard.
Wi-Fi Diagnostics completed. For a full diagnostic report, check the log file at /home/jeffs/wifi_diagnosis.log
jeffs@frmwrk16:~/nbmdt$
```
I thought that maybe the pings and other things were going in and out the ethernet. Since my WiFi is dead, I have a kludged an Ethernet connection. So I pulled the plug on the USB and tried again.
jeffs@frmwrk16:~/nbmdt$ bash Wifi-Diagnostic.sh
Integrated Wi-Fi Diagnostic Script
Starting Wi-Fi Diagnostics...
Performing ping test to 8.8.8.8...
ping: connect: Network is unreachable
No network detected. Exiting.
rfkill Status:
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
Final Recommendations
rfkill status explanation:
- Wi-Fi is not blocked by rfkill. The issue might be related to drivers or hardware.
- After addressing these issues, rerun the script to perform a full diagnosis.
jeffs@frmwrk16:~/nbmdt$
Please do not feel bad about this. I am working on a network boot monitor and diagnostic tool (https://github.com/jeffsilverm/nbmdt) (except I haven't made a commit in 5 years) and it would have the same flaw that your scripts have. So this has been a teachable moment for me. Thank you from the bottom of my heart.
The solution for the ping command is to use the -I option to the ping command. For the other tests, verify that the WiFi interface is working, and then and only then disable the other interface(s). Use the trap bash command to catch any errors and enable the other interface(s).