Original 0.2.0pre6_plus_fixes_7 tarball
[acx-mac80211.git] / TODO
blobdbb77362c4c88d1144dc5adf5be2f7fea84a35bc
1 This is the current list of ToDos, in order of importance:
3 - grep for TODO and FIXME in the src directory
4 - see Bug reports
5 - implement proper packet fragmentation instead of the stupid mtu 576
6   setting, which when not set will cause the system to become unstable
7   even!! (probably by doing some very strange buffer overflows or so)
8   This also seems to cause certain services (such as VPN) to fail due to
9   small packet size
10 - the whole driver needs proper (hardware etc.) locking. The binary driver
11   didn't make use of locking at all (except for masking IRQs sometimes)
12   Note: locking for packet transfer is finished
13 - add further iwconfig/iwpriv support: channel traffic percentage indicator,
14   iwspy, ...
15 - further improve firmware management. Detect embedded linux radio 
16   modules, etc...
17 - implement packet fragmentation (to get rid of stupid hacks like
18   setting a small MTU)
19 - try to make sure the driver doesn't crash if we remove the card when active
20   (hw_unavailable)
21 - clean up and unify return value handling. Right now the driver seems to have
22   a mess of different functions returning 0 as success, 1 as success, or some
23   functions use -1 etc. pp.
24 - add missing endianness correction functions (host2ieee16() etc. - byte
25   swapping) to allow for non-x86 use of the driver
26 - distribute the functions properly over various files, organize header files
27   properly (yep, it's a real mess! :)
28   consider putting all of ihw.c and idma.c p80211conv.c into single file
29            moving acx100_helper2.c and acx80211frm.c into single file
30            acx100.c and acx100_helper.c should be in a single file
31 - unify function names to acx100_this_is_a_function()
32 - add driver to linux-wlan-ng or airjack or ...
33         maybe we can just submit it as is for kernel consideration
34 - in the doc/ directory, add an intro and describe chipset details and
35   interesting information about it
36 - maybe add dbg msgs to all failure cases to spot any driver problems fast
37 - make sure all structures are packed correctly!!! (it really does no good if
38   we transfer wrongly aligned structs to the ACX100...)
39   Note: we seem to be doing well.
40 - add a very verbose description to every driver function
41 - figure out why on my Dell Inspiron 8000, the notebook refuses to suspend
42   properly (immediate resume after power-off, urks!) when the ACX100 mini-PCI
43   is installed
44 - introduce decent device statistics like those in net_device_stats. Now only
45   tx/rx packets and errors are counted.
46 - proper power management: implement 802.11b power management,
47   improve standard power management, make sure ACPI states are fully working
48   (suspend/resume handlers; resuming from suspend-to-ram has been reported
49   to actually hang the machine!)
50 - clean up the BSS list (bss_table) for old stations that are no longer
51   valid in order to prevent hitting the limit of the registered stations list
52   (by adding a "found at" timestamp and check it) or maybe reimplement
53   it as a linked list
54 - upgrade driver to support 4X mode (also called "54Mbps" operation, which is
55   not quite right - and of course it doesn't mean that we suddenly
56   become compatible with 54Mbps 802.11g cards!). However, this would
57   require a new 4X compatible firmware and a complete upgrade of the
58   driver. http://www.80211-planet.com/news/article.php/2195691 mentions
59   that D-Link and USR 4X implementations might be incompatible. :-((
60   Well, we might want to support both versions if that is the case...
61   Also, 4X support seems to be pretty much a dirty hack; but if Windows
62   supports it and it's a real gain for many users, then we also ought to
63   support it
64 - Use ieee802_11.h from drivers/net/wireless of 2.6 and newer 2.4 kernels for
65   the 802.11 defines instead of the wlan-ng p80211* headers