1 This is the current list of ToDos, in order of importance:
3 - grep for TODO and FIXME in the src directory
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
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,
15 - further improve firmware management. Detect embedded linux radio
17 - implement packet fragmentation (to get rid of stupid hacks like
19 - try to make sure the driver doesn't crash if we remove the card when active
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
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
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
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