Opened 12 years ago
Closed 6 years ago
#481 closed enhancement (fixed)
Support for IEEE802.11 wireless networking (a.k.a. WiFi)
Reported by: | Jiri Svoboda | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | helenos/net/other | Version: | mainline |
Keywords: | gsoc13, gsoc14 | Cc: | |
Blocker for: | Depends on: | ||
See also: |
Description (last modified by )
Implement a native HelenOS driver for 802.11 wireless networking adapter.
- Details
-
IEEE802.11 (commonly referred to as "WiFi") is a popular standard for 802-compatible wireless networking. The adapters come in different forms: on-board (Intel), PCI card or as a USB device. Almost every laptop, smartphone or tablet has one (including the OpenMoko FreeRunner). But so far, HelenOS does not have any support for such device.
The new driver should be realized as a native HelenOS driver running in userspace and providing the networking interface to be usable with the networking stack used in HelenOS. Functionality that is 802.11-generic (i.e. not specific for a concrete device) shall be packaged as a library to allow reuse for different kind of drivers.
It is up to the applicant to choose a concrete model to write the driver for. A good choice is an adapter that is- readily available for buying
- not excessively expensive
- supported by at least one of the open-source *BSD variants
- does not require non-redistributable firmware
See also the discussion below that mentions a possibility to patch QEMU 0.9 to emulate an Atheros AR5212 NIC wireless adapter.
- What Gains and Benefits will this bring?
- HelenOS will be able to make use of its networking capability on a much wider spectrum of machines and it would be possible to use HelenOS in an environment where wired networking is not available.
- Difficulty
- Medium to High
- Required skills
- A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX environment. A successful applicant should have a fair understanding of the workings of the networking stack and the NICF (networking framework in HelenOS) too.
- Documentation
- Possible mentors
- HelenOS Core Team, Jiri Svoboda
Change History (8)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Sounds interesting. It would be nice to have a WiFi adapter emulated in Qemu (good for testing), but not really all that necessary for development. Back in university I wrote a driver for ZyDAS ZD1211-based Acer WL adapter for Solaris Nevada (SXCE) as a team project for the OS course. We did this on bare metal without the comfort of Qemu USB device forwarding (lots of reboots) and didn't really encounter any major roadblocks.
Btw. we could do ZD1211 (I do have a some Zyxel 802.11 b/g adapters at home), but this runs in old hardware, I'd rather do something modern that you can actually still buy. EW-7811Un is tiny, relatively cheap and supports 802.11n.
comment:3 by , 12 years ago
Description: | modified (diff) |
---|---|
Keywords: | gsoc13 added |
comment:4 by , 12 years ago
Description: | modified (diff) |
---|
comment:5 by , 11 years ago
Keywords: | gsoc14 added |
---|
comment:6 by , 11 years ago
Looks like wifi support is the subject of a diploma thesis called EEE 802.11 wireless networking for HelenOS.
comment:7 by , 7 years ago
Should we close this ticket since the results of the master thesis have been (partially) merged? I am not certain about the state of the driver, but if the state is not good, we should have a separate ticket for fixing it.
comment:8 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
WiFi support was integrated in Bazaar changeset mainline,2323
------------------------------------------------------------ revno: 2323 [merge] committer: Martin Decky <martin@decky.cz> branch nick: HelenOS.prewifi timestamp: Fri 2015-04-24 01:42:32 +0200 message: initial merge of the AR9271 USB WiFi driver (e.g. TL-WN722N) initial merge of the IEEE 802.11 stack (thx Jan Kolarik)
I haven't been able to get it working, ever, but it is there. (I think there is a lot of work to do here…)
Accidentally found following thread on qemu-devel – Atheros Wireless Device Emulation:
Apparently, the patch did not make it to Qemu and it could not be applied to the latest Git revision. I wanted to try it at least with the 0.9 version but that version does not compile with new GCC (
configure
explicitly warns about using something else than GCC 3.x).I think it would be worth the time to revive the patch to work with the latest Qemu if someone really started working on this. The emulated device is probably more tolerant than the real one (i.e. would recover from conditions that would put a real device into some "error" state) which could be an advantage in the first phases of the driver development.