Goal: Examine wireless in system: device, driver, and interface.
I suddenly found out that I do not have good understanding,
about relationship configuration,
between device, driver and interface.
I think it is time to grow up.
Table of Content
An Issue Behind This Article
Start from Working Machine as an Example
First December is my first day on my new office.
I should work with a new notebook owned by this good company.
I have an issue I cannot solve
while setting up wifi in my notebook.
So I decide to examine
a working wifi in my system.
So that I can use my own scattered notes,
to solve my notebook issue later on.
I never have any experience with third party device.
I mean driver not directly supported by kernel.
Even when I’m using
Gentoo for years,
my hardware is so common,
that I don’t really need to tweak.
My working system is Mini PC using Artix.
While my notebook is Lenovo.
I might write another article,
if could solve my notebook issue.
Because I simply don’t know how to solve.
1: Device: PCI and USB
There are a some common command in linux,
Devices can be found in either
You can have a look at full image here below:
We can filter our query using grep.
And then find the detail using the slot ID (bus:device.function).
And find the kernel driver.
So here we have:
- Device: Intel Wi-Fi 6 AX201
2: Interface: IP
Veteran (but dumb) like me,
might familiar with this obsolete command.
The basic command is so simple as below:
As we find
wlan0 interface, we can then filter the result:
Or even show in brief, without detail.
Here is another alternative command, with filtering.
And also show the interface in brief, without detail.
There are various useful tools,
to examine wireless LAN.
My favorite is
Although it is simple.
It is not always installed in by deafult in your distribution.
This is also my favorites,
inxi show the relationship,
between device and driver.
lspci, here we can obtain below information:
- Device: Intel Wi-Fi 6 AX201
I can obtain the list interface easily here:
So that I can continue as below:
Memorize The Trick!
This is, my most important command.
I can obtain below relationship:
- Interface: wlan0
4: Driver: Modules
How do I know, if the modules loaded correctly, and stuff?
lsmod print very long information.
Thus we have to filter manually with
I’m not sure why this has no output.
I guess still have to learn so much.
Driver Source Config
Just in case you are a curious one.
Driver Module Library
We need to know the place so we can debug,
whenever there is a module issue.
5: Device: Hardware List
This is actually just another tool.
You can print the output briefly.
6: Diagnostic Messages
dmesg is very useful for troubleshooting.
Driver Event: iwlwifi
Interface Event: wlan0
Firmware Event: All
This way, we can debug, whether driver loaded or not.
7: Connection Manager
Depend on Your Distribution
Finally, the connection manager.
I’m using Artix with OpenRC that using
connman instead of
We can scan, and then dump the output
Or filter it later.
Sometimes, the wireless has unksnown trouble.
We can just restart, the daemon.
Create you own notes:
This article only cover Artix in my Mini PC.
Other system might use different tools,
iwctl while installing arch linux:
So don’t rely on my notes.
Issue might be different on different system.
And also, I might be wrong.
What is Next 🤔?
At least I know what’s inside my mini PC.
And I finally solve my own notebook issue.
There is another article series about my Lenovo.
Consider continue reading [ Wireless: Device, Driver, Interface ].
Thank you for reading and visiting.