Symbol Spectrum24 CF works with Ethereal, AirSnort
Ian Goldberg
ian at cypherpunks.ca
Sat Jun 29 07:46:08 EST 2002
On Fri, 2002-06-28 at 12:07, Ian Goldberg wrote:
> I had done the equivalent thing with the 0.3.3 version of your driver
> and the orinoco 0.11 patch, and found that it did work, but only for
> about a minute. Then it would stop receiving packets for some reason.
OK, I've started tracking down this problem.
The packet flow stoppage (hereinafter, "badness") happens more often if
orinono_hopper's interval setting is lower. [orinoco_hopper basically
does:
while(1) {
iwpriv eth0 monitor 2 $chan
usleep(interval)
chan = (chan % numchans) + 1
}
]
My guess is that the badness happens if the iwpriv monitor ioctl happens
at just the wrong time. Maybe a locking issue? I notice that the
monitor call does orinoco_lock_user() while the interrupt handler for
packet reception does orinoco_lock(). [This makes sense, of course.]
These two routines do the right thing if invoked concurrently?
I also note that the iwpriv monitor ioctl does quite a bit of work,
including turning on RFMonitor mode, *even* if it was on before, and
we're just changing the channel.
I think if I get a bit of time this weekend, I'll do something like make
"iwpriv eth0 monitor 3 x" set the monitor channel to x by calling
hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNF_CHANNEL, channel);
and not doing a whole lot of the other work. [I guess I'll make sure
that monitor mode is in fact on in the first place.] Then
orinoco_hopper could do "iwpriv eth0 monitor 2 1" to begin with, and
then a bunch of "iwpric eth0 monitor 3 x"'s.
If the problem is that the *firmware/chipset* has sensitive timing
issues involving enabling RFMonitor mode (which I could belive), then
perhaps just setting the channel and not continually calling
hermes_docmd_wait(hw,
HERMES_CMD_MONITOR | (HERMES_MONITOR_ENABLE << 8), 0, &resp);
may prevent the badness from happening. But this is at this point just
a guess. If anyone has any other ideas about this, please let me know.
[On a side note, I seem to remember the Orinoco 8.10 firmware exhibited
similar problems. Maybe it's the same issue?]
- Ian
More information about the wireless
mailing list