Reliable Linux Wireless - Techniques for Debugging Wireless Module Integrations
summary
Practical steps for getting an embedded Linux Wi‑Fi module working: verify bus IDs with lsusb/lspci, confirm power and check PWD_L pin with an oscilloscope, ensure the correct firmware and board files are present (common trick: symlink vendor blob to the driver’s expected name) and load firmware as late as possible. Turn on driver debug masks and debugfs, capture traces with ftrace and Wireshark, isolate NetworkManager, test against an open AP, use iperf for throughput, and watch for Bluetooth coexistence, multiple drivers, or regulatory boardfile mismatches.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 3:03Steves background
- 4:08WiFi chips
- 9:06Firmware
- 10:02Interfaces
- 12:40Other pins
- 14:37Bluetooth Coexistence
- 16:21Linux WiFi Stack Diagram
- 17:11Low Level Integrations
- 18:09Driver Layout
- 20:19Configurator 211
- 22:06Management Interface
- 24:58Data Side
- 26:49Device Side
- 27:14Interfacing New Device
- 28:33Identifying the Device
- 30:47Firmware Loader
- 32:27Debugging
- 36:24Example
- 41:29Debugging Tools
- 46:31Common Problems
- 52:15Getting Help
related talks
48mUnpacking the Linux WiFi Stack: Writing and Integrating Wireless Drivers
38mDebugging Embedded Linux
43mTools and Techniques to Debug an Embedded Linux System
53mInto the Jungle - How to write a Linux kernel driver for any subsystem
55mBluetooth on Embedded Linux Systems Deep Dive
39mHow to Investigate Issues on Linux Embedded System?
52mDebugging Usually Slightly Broken (USB) Devices and Drivers
22mAll types of wireless in Linux are terrible and why the vendors should feel bad
