Home  ·  News  ·  Recent  ·  Stats  ·  Bounty rules  ·  Contact us  ·

   Register here

 Main menu
   BBCode test
   View Content
   Suggested (40)
   Unassigned (0)
   Assigned (3)
   Pending (0)
   Finished (14)
   Closed (29)
   General (4)
   Lib (4)
   Util (9)
  Support Us!

Bitcoin: 1M8usQ696tqsJYgD

Please support ab.net by donating a small amount to its sysop!

Thank %/$)NO CARRIER
  View project
[View Updates][View Donations][View Comments][View Files]
Title:Wireless Networking support
Implement a wireless networking framework (or stack or whatever you like to call it) for AmigaOS.

Project members:
Bounty:0 EUR   Out of 0 EUR originally submitted.
Description:Wireless support in AmigaOS is currently lacking. We only have the Prism2 driver, which only runs at 801.22B speed and supports only WEP encryption, which has been cracked quite wide open. Using external wireless products connecting to the Amiga via ethernet may be useful, but does nothing to bring wireless support to the OS.

The licensing for this wireless framework should allow both open-source as well as closed-source proprietary chip drivers and encryption/feature plugins. It should not forbid either source class from any developer. We need to allow open-source drivers/plugins as in some cases, open-source from Linux, BSD, etc. may be the only available documentation for certain items, while other certain items may only be available to our developers via NDA forbidding an open-source implementation on our platform.

This wireless system should abstract all common things into a shared library which any wireless chip driver can make use of, to minimize what the driver coders need to implement each time. The things this wireless library would handle include, but may not be limited to:

- Support for all current 802.11 features, and A, B, G, N common device driver needs. If possible, common WiMax device driver needs as well, unless that differs so much from 802.11* that it really should have its own similar but separate framework.

- GUI for user settings, scanning for available access points, selecting access point to use (which may be a no-broadcast point not listed after a scan), entering access point passwords, choosing default or automatic connection points, displaying access point signal strengths, etc. This GUI should be able to save relevant settings to a file/ENVARC as needed, and should encrypt passcodes instead of saving them as plain text. All needed settings and other interactions should be available through this GUI, even if I do not know about them to list here. GUI dsign should consider future capability to serve as a wireless access point for other wireless devices, uplinking via ethernet etc.

- Some form of feature "plugin" system/API. Different encryption methods can then be implemented as plugins or separate shared libraries, whatever method makes the most sense. Then there can be a WEP plugin, a WPA plugin, WPA2, someday perhaps WPA3, Radius, WiMax features not in 802.11ABGN, etc. This API should be designed considering features not to be implemented initially, as Radious Enterprise authentication would likely be done later if/when the need arises, and would not be an initial requirement of this wireless framework implementation. The API design should also consider various other encryptions and other available features that I myself don't know about to mention here, so that they can be added later as needed without needing to modify the central wireless library. API should consider how best to support future capabilities such as serving as wireless access point for other devices to connect to and uplink via ethernet or some other method. Thus we can have various implementations of encryption plugins to support any available special features such as encryption accelerators in some CPUs, Ativec or other particular optimizations.

Other requirements of this bounty include:
- Able to control the host Roadshow networking stack as needed to obtain/renew/release DHCP addressing, and whatever else may be appropriate.
- Plugin for WEP encryption support
- Plugin for WPA and WPA2 encryption support
- Well documented APIs for both the driver end and for the plugin end. This should allow anyone to make a new chip driver for supported standards, and also allow anyone to make a new plugin, without needing to duplicate things common to other drivers or plugins, and without needing to modify the central wireless library.
- Reimplementation of the Prism2 chip driver to minimize the driver code and make use of all available framework features instead of having everything embedded into the driver as it is now.
- This wireless framework must be usable in conjunction with the Roadshow TCP/IP stack in AmigaOS 4.x without requiring changes to it. The user should select the chip driver the same way we have selected ethernet chip drivers to date, and the wireless chip driver would then call this wireless framework, including GUI, as is needed. The GUI may need to be accessibile as a commodity or other means as the user may need to change settings in case of selected access point outage, taking a wished for future laptop to a different location and different selection of access points, or after changing wireless access point settings, etc. The wireless framework should be designed with both client and host/access point usage in mind, even if host capability is not fully implemented initially.
- The settings GUI should be able to change settings, change access points, etc. on the fly without requiring restart of networking stack or rebooting the computer.
- Any Settings saved to files, ENV:, ENVARC:, etc. should have sensitive things like passwords, encryption keys, etc. encrypted to prevent malicious detection of plain-text values.
- Any wireless chip interface should be usable in this framework, drivers should be compatible with USB chips, PCI chips, PCI-Express chips, etc... Though this detail may not even be relevant to the wireless framework API.
- Access-point specific settings related to filesharing, network printing, and other common settings, which update automatically when disconnecting and reconnecting to various access points.
Created by:billt
Created at:20100113 19:56
Deadline:Not set
Finished at:Not finished
Last update:20100128 05:38
Assigned to:Not assigned
Suggested by:billt

  Task list for this project
ID  Title  Assigned  Progress  Updated  Created by  

  Updates for this project
ID  Title  CommentsCreated atCreated by
Liquorice bounty engine, Created in 2007-2008 by Björn Hagström