| Home | Wireless Home | General | Software | Firmware | Promiscuous | WEP | AP mode | Links |
After a very long delay I've had a chance to play with these cards, and I'm happy to say that they appear to work well. However, there are a number of different drivers floating around for these cards which can be kind of confusing. The setup I have working with a Orinoco Gold + Silver card uses the kernel 2.4.21 PCMCIA drivers (orinoco-0.13b) patched using the monitor mode patch from the Shmoo Orinoco Monitor Mode Page. There's many ways to skin this cat, this is just how it worked for me under RedHat 9.
| Link | Description |
| kernel-2.4.21 | Enabled the following kernel options:
|
| orinoco-0.13b-patched.diff | The Orinoco Monitor Mode patch from the good people at shmoo, applies cleanly against the driver (orinoco-0.13b) shipped with the 2.4.21 kernel. |
When I insert my Orinoco Gold card, and then run /sbin/pump -i eth1, I see the following in /var/log/messages after successfully getting an IP address:
Jun 29 20:50:42 badmonkey cardmgr[3264]: socket 1: Lucent Technologies WaveLAN/IEEE Adapter Jun 29 20:50:43 badmonkey cardmgr[3264]: executing: 'modprobe orinoco_cs' Jun 29 20:50:43 badmonkey cardmgr[3264]: executing: './network start eth1' Jun 29 20:50:43 badmonkey /etc/hotplug/net.agent: register event not handled Jun 29 20:51:36 badmonkey pumpd[5389]: starting at (uptime 0 days, 2:11:21) Sun Jun 29 20:51:36 2003 Jun 29 20:51:36 badmonkey kernel: eth1: New link status: Connected (0001)
And these are the kernel modules loaded, as shown by /sbin/lsmod:
Module Size Used by Tainted: PF orinoco_cs 5876 1 orinoco 44172 0 [orinoco_cs] hermes 8004 0 [orinoco_cs orinoco]
I use the wireless tools package which came with RedHat 9 to configure the card, specifically /sbin/iwconfig:
/sbin/iwconfig eth1 mode managed /sbin/iwconfig eth1 essid SOMESSID /sbin/iwconfig eth1 enc off
Haven't changed my firmware, and actually I don't even know what version I'm running. However, monitor mode seems to work. I'd love to hear from anybody who can tell me how I can find out the firmware level from within linux.
Enabling monitor mode is easy with this driver, similar to the Prism2 cards, you can only enable monitor mode on one channel at a time. However the I'd recommend use of the kismet_hopper program from the excellent Kismet sniffer program to enable channel hopping.
To check if your driver supports monitor mode (Necessary to run airsnort, kismet, and any other wireless program which needs to sniff) do the following:
[root@badmonkey]:/home/anindya>iwpriv eth1
eth1 Available private ioctl :
force_reset (8BE0) : set 0 & get 0
card_reset (8BE1) : set 0 & get 0
set_port3 (8BE2) : set 1 int & get 0
get_port3 (8BE3) : set 0 & get 1 int
set_preamble (8BE4) : set 1 int & get 0
get_preamble (8BE5) : set 0 & get 1 int
set_ibssport (8BE6) : set 1 int & get 0
get_ibssport (8BE7) : set 0 & get 1 int
monitor (8BE8) : set 2 int & get 0
dump_recs (8BFF) : set 0 & get 0
Basically if you don't see monitor in this list, you'll need to patch your driver or get another one. To enable monitor mode manually (I looked at the kismet_monitor program to get this):
/sbin/iwpriv $DEVICE monitor 1 $CHANNEL /sbin/ifconfig $DEVICE promisc up
I should also note, I'm using the default wireless-tools RPM that came with RedHat 9.0 - RPM name: wireless-tools-25-8
NOTE: The default tcpdump which comes with RedHat 9 apparently doesn't support wireless interfaces? This is what happens when I run tcpdump on an orinoco interface I've just put into monitor mode using iwpriv:
[root@badmonkey]:/home/anindya>ifconfig eth1
eth1 Link encap:UNSPEC HWaddr 00-02-2D-38-6D-B4-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:203 errors:0 dropped:203 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:41274 (40.3 Kb) TX bytes:0 (0.0 b)
Interrupt:3 Base address:0x100
[root@badmonkey]:/home/anindya>tcpdump -n -i eth1
tcpdump: WARNING: eth1: no IPv4 address assigned
tcpdump: unknown data link type 119
If you obtain the latest tcpdump/libpcap from http://www.tcpdump.org, everything should work fine. Ethereal-0.9.13 seems to work great.
Haven't tried yet.
Haven't tried yet.