who have the knowledge, time and interest
- who have the knowledge
- time and
- interest
Tell me when you have a candidate for only one of the above 3 questions.
Seriously, I've been the maintainer of xwlan and our port of wpa_supplicant for about a decade. Although I've fixed and extended a lot and invested countless hours, even these two project are far from what we would need today. And that's only an interface to a driver. I know porting or writing a wifi driver would be a lot of more (huge more) work. From my experience the majority of 'non programmers' don't even get feedback. Not to talk about helping out with testing or writing readme's..... So dream on.
Look I am not an expert but heck you ask Copilot.com at least as *some* form of start. This list comes pretty close to what is needed to write an OS/2 wifi driver. Maybe not all is needed. But let this list sink in:
1. Device Identification & Initialization
PCI/USB/SDIO bus interface code to detect the chipset.
Proper vendor and device IDs so the OS can bind the driver.
Initialization routines to set up registers and memory mapping
2. Firmware Loader
Many WiFi chipsets require proprietary firmware blobs.
The driver must include routines to load firmware into the chipset at startup
3. MAC Layer (Medium Access Control)
Implements 802.11 protocol logic (association, authentication, encryption).
Handles packet framing, retransmissions, and QoS.
4. PHY Layer (Physical Layer) Control
Manages radio tuning, modulation, and channel selection.
Provides APIs for setting frequency bands and transmit power.
5. Network Stack Integration
Hooks into the OS networking subsystem (e.g., Linux cfg80211 and mac80211 frameworks).
Provides standard interfaces for scanning, connecting, and data transfe
6. Configuration & Management Utilities
User-space tools or APIs (like iwconfig, NetworkManager, or custom utilities).
Support for WPA/WPA2/WPA3 security via integration with supplicant software
7. Interrupt & DMA Handling
Efficient handling of hardware interrupts for packet transmission/reception.
DMA (Direct Memory Access) setup for high-speed data transfer.
Skipping power management
9. Error Handling & Logging
Debugging hooks, kernel logs, and recovery routines for failed transmissions or firmware crashes.