Hi all, to learn about the in kernel 802.11 subsystem, driver writing and wireless in general, I started a project to develop a driver for the prism2/prism3 usb chipset. Goal was to get WPA support and the possibility to configure with wireless extensions.
Unfortunately, I was rudely interrupted when I toasted my only card by downgrading from secondary firmware 1.8.4 to 1.7.4. The latest state of my work is available at http://80.237.161.167/prism2_usb-incomplete.tar.bz2 . It can scan, associate to an unencrypted network and transmit data, I've started WPA support. It still has issues with USB timing (unbelievable how easily this device gets into an unresponsive state), incomplete USB device list and is of course far away from finished. But if someone is brave enough to continue, feel free to download and contact me directly if you have questions. You need at least firmware 1.7.0, I developed against kernel 2.6.14.4. My experiences with the 'intel' 802.11 subsystem are these: It seems to be quite usable for drivers that have their own firmware for scanning and associating. I've stumbled over the following limitations: -There needs to be a general function to select the best network. This is code copied into neary every device driver, but hard to do it right. -Fragmentation is solved very uglily. A list of all fragments of a packet is submitted to the driver at once. If it doesn't have enough TX descriptors / URBs or whatever, the driver has to keep it's own list of fragments. This should be abstracted -Especially USB devices need to send an URB that contains commands in the beginning, followed by the 802.11 frame. To support this without excessive memcpy()ing, I would have liked a variable in struct ieee80211_device that instructs how many bytes of a SKB should be left empty at the beginning. Ok, don't have anymore hardware to burn, so ... enough for today. Stefan PS: Anyone has a spare part he doesn't need? ;-) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
