Subject: Re: wi0 encryption (with PRISM 2)
To: None <>
From: Peter Seebach <>
List: current-users
Date: 12/25/2000 12:45:27
In message <>, John Hawkinson writes:
>;-) OK. Also, have you tried this with '-c 1' set? I suppose it may
>behave radically differently, but it might not.

I haven't tried that.

Which reminds me of two things, indirectly:
1.  There's some Linux drivers for this card that have hooks to run as
an access point.  Presumably, this means that the software hooks needed
to run this are now sort-of-documented... This could mean we could add the
feature to our code, eventually.
2.  Someone recently spawned a wireless mailing list for BSD folks in

do to all the dicussions on the freebsd mobile mailing list, i've created
a decicated list for wireless.  the idea is to allow *bsd developers to
work together in building drivers, with ideas, patchs, flames, etc. for
all to share.  the idea sparked when i sent warner an intel 802.11b card a
few weeks ago and now all of a sudden everyone one else wants this and
other cards to be supported.

i'm no kernel hacker, but i'm certinally up to write html how-to's, man
pages, etc.  btw, i'm the kid who built one of the wireless net's at
burning man, fixing broken, and founder of </flex>

set your filtering regex for bsd-wireless@.*, subscribe at:
<> l8r.

Matt Peterson

This may be of interest to some people.

>Also, are you seeing input errors on the card? What does 
>'netstat -I wi0' say?

15557 Ipkts, 0 Ierrrs.

>>I was going to say "it doesn't change when you ping it", but of course, we
>>have the one minute delay between stat updates.  I hit it with about seven
>>pings, give or take...

>Umm, so does it change or not?

Yes.  It seems to get "Can't decrypt WEP frame" about once per packet that
should have hit it.

I'm a little confused by the encryption code.  According to one of the
online product reviews, at least some of the PRISM 2 cards are supposed
to be able to do 128-bit encryption, but we're clearly always copying
exactly 40 bits.

I'm not sure we ever actually check what we wrote to the card.  Indeed,
there is a hack in wi_write_record for checking the keys in a PRISM2 chipset,
but nothing in wi_read_record.

Ah-hah!  I just did the naive thing of grabbing each key record and
spewing its contents out.  No trace of the values "set".  At all.  Even
weirder, we're actually setting them twice, every time a key is set.  But
it's not clear that this is taking...

I'm all turned around in here; can someone point me at where we decide
whether we're setting 40 bits or 114, or how we know what the card
can handle?  I assume a 128-bit card can be set to only do 64, how do we
pick this mode?