Hello! I wrote a new driver for Atmel at76c503 based USB wlan adapters. See the link below in my .signature.
Maybe someone wants to look over it. It is still in development, and supports only ad-hoc mode at the moment. There is one 'exotic' thing about it: it uses another module which I wrote to load the firmware, it is included in the package. It works as follows: - at76c503 calls usbdfu_register. - at76c503 calls usb_register - usbdfu puts device ids into a list - if the device is plugged in, usbdfu claims it - usbdfu loads the firmware. This is done using keventd. - if successful, usbdfu releases the device, calls usb_reset_device and then calls usb_scan_devices - usbdfu_probe will be called again, but detects that the fw is already loaded, and isn't interested any more - the probe() function of at76c503 is called by the usb subsystem, and at76c503 claims the device. This may sound complicated, but I chose that design for these reasons: - after downloading the firmware, usb_reset_device() has to be called. This _cannot_ be done in the probe() function, because of locking problems. This was already discussed in this list - apart from calling usbdfu_register, the driver does not have to care about the firmware. It may also happen that the device switches to another device id, or changes its interfaces (the at76c503 does not, but this is possible according to the DFU specs) - there has to be an interval of 2 seconds between downloading the fw and the reset, I do not want this in the probe() function. Ideally, the usbdfu module could be used by other drivers that need to download firmware with the DFU mechanism. At the moment, there are some at76c503 specific things in it. If anyone wants to use, we can work together to make it more generic. The mechanism is complicated, but the usage is not. Any driver that needs DFU calls usbdfu_register together with the firmware code, and that's it. I tested it with usb-uhci, usb-ohci and uhci. I used code from Brad Hards and Bas Vermeulen for the dfu module. Thanks a lot :-). I tested the driver with 2.4.20 only so far. Greetings, Oliver -- An MTA for home users, notebooks and PDAs: http://masqmail.cx/masqmail/ A driver for Atmel at76c503 based WLAN Adapters: http://masqmail.cx/at76c503/
msg11120/pgp00000.pgp
Description: PGP signature