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