Prism54 softmac linux driver

Linux driver for most 802.11g USB dongles and Prism54 SoftMAC PCI cards. A FreeBSD port of the usb part of this driver is developped at http://lekernel.lya-fr.com/ by Sebastien Bourdeauducq.

PCI softmac development is done through the hard work of David Murrell (a.k.a. viddy). Many thanks go to him.

Some prism54 PCI cards support fullmac mode of operation, in this case the main prism54 driver (http://prism54.org) is preferred.

Please first check that your device is supported here on IdentifyYourDevice.

Support for version 2 usb devices, such as the Sagem XG703A, which comes as a dongle for the wanadoo Livebox is in. Many, many thanks to Olivier Garet for his patience while testing the driver releases ! Many, many thanks to Nicolas Lhommet who lends me his device (and that was fast delivery service!)

The UR054G (seemingly shipped with the livebox too) should work allright too, but never having tested it, i can't tell for sure. If you have such a device, reports of it working or not is very welcome.

If you're interested in the development, please go to DriverDevelopment and TaskList, or better yet, contact me directly.

I really really could use some help ! Now what you'll all be waiting for : the code.

WARNING This is starting to be functionnal code. With a naked access point (no wpa, no wep), you're likely to be able to connect to the outside for USB. dhcp is not tested, there may be issues with it related to the madwifi stack ; assigning the ip statically is a sure bet. Also, the leds won't

work. This is expected. Maybe someone should make them blink...

PCI code will receive care soon, for now your machine is bound to lock up.

NEWS

Latest TODO, Changelog.

With madwifi, the driver can associate to an AP, and send some data

packets. Next steps include :

The driver should now support kismet & airsnort & al, in madwifi mode, without a hitch (currently seemingly broken with version 2 sticks,

TOFIX).

Kernel

The basic requirements are the same as for the prism54 main driver, that is : hotplug. Additionally, only kernel 2.6 is supported at the moment.

You need at least kernel version 2.6.13 for the driver to compile. 2.6.14 is preferred, 2.6.15 should be fine.

Firmware

First you'll need a firmware from PrismFirmwares.

Maximilian Engelhardt has setup a very very nice website over at maxi's website. Thanks ! (and it was long overdue).

If you have a first-generation device, use one of the old sort for now (version <= 2.4.6.0), for instance this 2.4.3.7 firmware and copy it to /usr/lib/hotplug/firmware/isl3890usb.

If you have a second-generation device, please use this firmware: 2.5.8.0 firmware and copy it to /usr/lib/hotplug/firmware/isl3887usb_bare.

If you have a N770, very experimental debs are available from here (the madwifi and islsm debs are distinct).

If you have a PCI softmac card, please use this firmware: XH8196 driver firmware and copy it to /usr/lib/hotplug/firmware/isl3886.

If you're not sure, copy all of them, the code will hopefully choose the right one.

Code

You can grab the latest tarball of the code. The directory contains some history of the code.

I use GNU Arch for development. The mirror archive is at http://jbnote.free.fr/{archives}.

You can browse this archive with ArchZoom at Archzoom@gxaafoot.

The prism54-project--mainline contains configs for the building of the experimental module, so with Tom Lord's Arch installed you'd do :

~$ tla register-archive jean-baptiste.note@m4x.org--libre http://jbnote.free.fr/\{archives\}/libre
~$ tla get jean-baptiste.note@m4x.org--libre/prism54-project--mainline prism54-project
~$ cd prism54-project
~$ make tla-import
~$ make load

Please note that the curly braces may need to be escaped on some shells. Do this if you're getting listing not found errors. Thanks to redhead on the prism54 forums for this.

This will build and modprobe the madwifi stack and the prism softmac driver. You can change the verbosity of the driver by fiddling with the '/sys/module/islsm/parameters/debug' key.

Now how do you update to the newer version ? It's as simple as typing :

~$ make tla-update

Note that this did not work until I fixed it : this is around the 9th of january, 2006.