Chrome Spinners: An Update to ChromeOS Wi-Fi Troubleshooting a Decade in the Making
- 2 hours ago
- 4 min read
Once upon a time in 2016, Jim Vajda wrote a great article on troubleshooting Chromebooks. This was the ONLY comprehensive resource I found while struggle-bussing trying to evaluate roaming problems at schools. So I thought "Gee it has been 10 years, shouldn't someone do an update?" Well have I got updates for you and they're all listed here.

How it Started
I dragged my cursor to Amazon and found a fairly reasonable Chromebook capable of running Linux alone. That's important because some tools you cannot access outside the Linux shell container within crosh. If none of that made sense, please read Jim's article. He explains the basics of ChromeOS quite well. Apparently, not all models support Linux installs. I bought and had to return the first Chromebook I got due to this. Here's the exact model I used:
""Acer Chromebook 315 Laptop | Intel Celeron N4500 | 15.6" Full HD IPS Display | Intel UHD Graphics | 4GB LPDDR4X | 64GB eMMC | Intel Wi-Fi 6 | DTS Audio | USB Type-C | Chrome OS | CB315-4H-C8XU,Silver"
Model Name | CB315-4H-C8XU |
Model Year | 2022 |
Model Number | NX.AZ0AA.001 |
Once I got the Chromebook updated and configured, that's when the real fun began.
Command Changes
After reviewing Jim's guide, here's what still works ten years later:
ping
route
tracepath
connectivity show devices
connectivity show services
dmesg
Chrome browser commands
chrome://system
chrome://device-log
These commands did not work when I tried them:
network_diag --wifi
network_logging wifi
chrome://net-internals/#chromeos
This was deprecated and moved to chrome://network
Fortunately, you can view the information in network_diag --wifi in chrome://system
Developer Mode
A few commands require placing the Chromebook into developer mode, which by the way, factory resets the whole Chromebook. After configuring developer mode, I got this five minute count down and once the count down expired, I could boot regularly.

From here, you can type "shell" to enter the linux shell if needed.
Developer Mode Commands that still work:
(In crosh) packet_capture --frequency <frequency in MHz>
Remember to turn your Wi-Fi NIC off so it can use monitor mode
I got an error that "It is likely that none of your wireless devices are capable of monitor mode, so your mileage may vary.
tail -f /var/log/net.log
Some commands worked but I had to enter the Developer Console This bypasses the Chrome sandbox. To enter Developer Console, press Ctrl + Alt + F2 (the "Forward" or "Refresh" key on your top row).

These commands only worked in the Developer Console:
sudo lspci -nnk | grep -A2 0280
These commands did not work no matter what.
sudo ethtool -i wlan0
sudo tcpdump -i wlan0 -w ~/Downloads/capture.pcap
For both commands here, I received an error that I had to install the developer tools with "sudo dev_install" first, but the package wouldn't install without errors, so I moved on.
I found two additional commands that may be helpful, but these only work in the Developer Console as well:
sudo dmesg | grep -i wifi -To see kernel-level driver events
sudo tail -f /var/log/messages -Contains more verbose connectivity logs than net.log in newer ChromeOS versions
Interestingly while I could not use tcpdump, I was able to bring the wlan0 interface up and down, set it to monitor mode, and freely change the channels in the Developer Console
Bring the interface down: sudo ifconfig wlan0 down
Set to Monitor Mode: sudo iw dev wlan0 set type monitor
Bring it back up: sudo ifconfig wlan0 up
Set your channel: sudo iw dev wlan0 set channel 36 80MHz
When you're done, be sure to bring the interface down and set it back to a client:
Bring the interface down: sudo ifconfig wlan0 down
Set to Managed Mode: sudo iw dev wlan0 set type managed
Bring it back up: sudo ifconfig wlan0 up
While there's still many tools at your disposal in ChromeOS, I had a difficult time figuring out how to quickly and easily make use of this info for troubleshooting. Honestly, the most useful info you can find in chrome://system and chrome://device-log still. That brings me to my next endeavor.
The Future
I really was spinning my wheels on how exactly to make Chromebook troubleshooting less painful. ChromeOS almost provides too much information and trying to assess what's wrong by looking at 10,000 lines of driver logs didn't work for me.
So naturally, I built a tool to help. Thanks to advents in vibe coding, you too can make tools.
After consuming tokens like I was the vacuum from the Teletubbies, I had a working application!

I present the ChromeOS Wi-Fi Troubleshooter.

The purpose? Understand Wi-Fi connectivity from the Chromebook's perspective. It mostly parses chrome://system and chrome://device-log by saving each page as a HTML file.
Two tabs give areas to upload each log: System Info and Network Timeline


This app is still in the testing phase. I need to gather larger data sets for wireless issues and test them. You can try it here at your own risk. Or, if you want to get it from GitHub and customize it, the repo is here. Next, I'd like to add roaming analysis features among other things. Hope someone out there finds it useful.
