Orinoco Scan & Monitor Mode Patch Page

The patches on this site will enable the orinoco_cs wireless card driver modules monitor and scan capabilities.
They are also changed so they will use the new Wireless Extensions API v.13 and later.

Version Full Package Patch Comment
0.13e rev.1 orinoco-0.13e-SN-1.tar.bz2 orinoco-0.13e-SN-1.diff.bz2 The driver will currently not compile properly with Wireless extensions 12 or earlier
0.13e rev.2 orinoco-0.13e-SN-2.tar.bz2 orinoco-0.13e-SN-2.diff.bz2 Fixed stupid compiling error on recent wireless extensions. Removed some unnecessary debug output and a little memory leak.
0.13e rev.3 orinoco-0.13e-SN-3.tar.bz2 orinoco-0.13e-SN-3.diff.bz2 This will compile on 2.4.x as well as 2.6.0 to 2.6.2-rc1
0.13e rev.4 orinoco-0.13e-SN-4.tar.bz2 orinoco-0.13e-SN-4.diff.bz2 This includes a new patch from dragorn which should resolve timeshifting issues with the system clock
0.13e rev.5 orinoco-0.13e-SN-5.tar.bz2 orinoco-0.13e-SN-5.diff.bz2 Here is a version that dropps to be sent packets when in rfmon mode, so no messages will spam syslog and freeze the system.
0.13e rev.6 orinoco-0.13e-SN-6.tar.bz2 orinoco-0.13e-SN-6.diff.bz2 This adds some fixups to suppress compiler warnings from 2.6.8 on. No feature changes.
0.13e rev.7 orinoco-0.13e-SN-7.tar.bz2 orinoco-0.13e-SN-7.diff.bz2 Fixed a compilation bug when CONFIG_DEBUG_SPINLOCK was set in recent kernels.
0.13e rev.8 orinoco-0.13e-SN-8.tar.bz2 orinoco-0.13e-SN-8.diff.bz2 Fixed compilation with Kernel > 2.6.11
0.13e rev.9 orinoco-0.13e-SN-9.tar.bz2 orinoco-0.13e-SN-9.diff.bz2 Since 2.6.13 there is a new way to talk to the drivers (via the generic hotplug mechanism) so this driver will probably only compile on this version.
0.13e rev.10 orinoco-0.13e-SN-10.tar.bz2 orinoco-0.13e-SN-10.diff.bz2 Tested on 2.6.14-rc5. The main change in this version is that sometimes the driver starts up in monitor mode when the card is inserted, so this one will explicitly disable monitor mode when the driver is initialized. If this does not work for you please let me know.
0.13e rev.12 orinoco-0.13e-SN-12.tar.bz2 orinoco-0.13e-SN-12.diff.bz2 From 2.6.15 to 2.6.16 some internals of the pcmcia subsystem have changed, which made the driver not compile anymore. Unfortunately, that involved also some slight logical changes. Although I think I could make the driver work properly again (and I have no problems here), it might be that I have overlooked something.
0.13e rev.13 orinoco-0.13e-SN-13.tar.bz2 orinoco-0.13e-SN-13.diff.bz2 Somwhere in the 2.6.16 series, the MODULE_PARM macro stopped working (great way to tell people that this is now deprecated, why not just remove it?). This version should fix it. There is still the problem left, that /proc/net/wireless support seems to be deprecated, but I will look at it later.
0.13e rev.14 orinoco-0.13e-SN-14.tar.bz2 orinoco-0.13e-SN-14.diff.bz2 It looks like I messed something up with the previous patch. This one is at least known to compile on 2.6.16.15 and 2.6.17 (I just tried both).
0.13e rev.15 orinoco-0.13e-SN-15.tar.bz2 orinoco-0.13e-SN-15.diff.bz2 It has been deprecated for a while, now in 2.6.19 they have disabled some parts of the wireless extensions this driver used. This driver is tested with 2.6.19.1 and its working stable now for days. I have also tried to sync it a bit with the current in-kernel driver, might have fixed a bug or two, hopefully not introduced any. It does not support I/O based communication with the card anymore, only memory mapped but that shouldn't be of any problem for the actual kernels. (Note: With the next release I will not ship the patch anymore since it will then probably be bigger as the tarball)
0.13e rev.16 orinoco-0.13e-SN-16.tar.bz2 orinoco-0.13e-SN-16.diff.bz2 This is just an upgrade to the changes of 2.6.21 (Sorry, 2.6.20 won't work, I never got that Kernel to work on my Machine)

The monitor mode part is mainly from airsnort while the scanning part is from older patches flying around somewhre in the net.

Although I said not to update the driver, since the original author is already at 0.15RC1 I decided to incorporate dragorns latest patch, since my driver annoys me sometimes with BAP write errors.

HOWTO use the driver


To enable scanning mode you need to do :
root@home:~ # iwpriv eth0 monitor <m> <c>
    m - one of the following
	0 - disable monitor mode
	1 - enable monitor mode with Prism2 header info prepended
	    to packet (ARPHRD_IEEE80211_PRISM)
	2 - enable monitor mode with no Prism2 info (ARPHRD_IEEE80211)
    c - channel to monitor
    

You need a Program like Kismet to use the information given by the monitor mode.
For more about the Monitor Mode features, please look at the original Patch at airsnort. There you will also find a monitor mode only patch, and firmware updates for your Lucent cards.

For scanning for access points you do :

root@home:~ # iwlist eth0 scan
    

Note: The result depends on whether there are AccessPoints in the vicinity. If you have an ESSID set, then it will show only APs with the same ESSID.

BUGS


There is no bug known, except that Cards with Lucent firmware 8.72 tend to stop working when scanning too much.

FAQ - Please read before doing anything.


Q: The Driver Crashes/OOpses, does not work, does not work as expected, will you fix it ?

A: Probably not. First try the original driver. If this works, try the monitor mode only patch from airsnort. If this will work, send me a detailed description, including kernel version, card, full debug output of the driver and cardctl ident. THen I will have a look at it and eventually fix it.

Q: When I set an ESSID I get only APs with this ESSID. When I set it to ANY I don't get any AP, or only APs without the previous ESSID.

A: This is intended behaviour. Whenever an ESSID is set, only those APs with the same ESSID answer. If there is no ESSID set, then every AP will answer. With one exception, which is when they operate in "cloaked mode" which causes them only to answer if the ESSID is correctly set.

Q: When sniffing in rfmon mode I'm quite shure the card is missing some packets. I have a card with a Lucent firmware version 8.72.

A: I have heard about some really strange behaviours with this firmware version. Those cards also sometimes stop to work when scanning for APs. I would suspect a firmware issue, althought there are even some cards with a 8.72 firmware which work fine...

Q: There is some driver Version 0.15 from the original author which also supports rfmon. So, which is better ? And why do you still have patches for 0.13e and not 0.15 ?

A: Well, the better depends on what card you have and what you want to do. Here is what I have noticed as main differences so far. 0.15 has quite a lot of changes, so it will fix bugs, add new features, be more stable, adds bugs be more unstable etc. So if it just works for your card (which should do on older ones) the 0.13e is as good as the 0.15 from what I can say. The main difference is that with the 0.15 the Monitor mode does not work properly, and attempts to add a patch for that failed, causing my card to freeze. Also the 0.15 has removed the per-packet stats when in rfmon mode. So if you plan to use some software that needs rfmon such as kismet then you will want to use the 0.13e driver. If you just want a working card, use the 0.15 driver.

Q: Why does your patch work with my card, but the 0.15 refuses to enable monitor mode, or the card freezes there

A: It looks like the Firmware of lots of cards out there is broken. As far as I can tell in fact the monitor mod support for most cards is somewhat broken, as well as the scanning for access points feature is. The 0.13e has some code to work around those firmware bugs. In 0.15 the Author seemed to refuse to add those fixes, and wanted to use only the "standard" interfaces to the card, and so when a card is broken, it wont work. This is simply a matter of the point of view, some people say they only work with well hardware and other say they work with broken hardware when there is a fix for that in software.

Q: My Kernel tells me that the driver uses some deprecated API, and other people have patched the original 0.13e too to work with that new on, can you include that too?

A: Not now and not in the near future until it wont work otherwise. The changes to the driver infrastructure seem to be quite big and it does things that I do not fully understand, and I dont have time to incorporate the changes now. If you could give me a patch against my version, this would be nice and maybe then I will include it. On the other hand, this driver will probably compile on older 2.6.x systems as well, with only a few changes and with a big change, it wont.

To be extended...

If you really need to send me a mail, send it to plasmahh at projectiwear dot org

Visit also the project page at projectiwear.org

Valid XHTML 1.1