#5485 HIGH Update.: Doesn't accept my Wep key anymore
Zarro Boogs per Child
bugtracker at laptop.org
Thu Jan 31 10:28:12 EST 2008
#5485: Doesn't accept my Wep key anymore
-----------------------+----------------------------------------------------
Reporter: gdesmott | Owner: mbletsas
Type: defect | Status: reopened
Priority: high | Milestone: Update.1
Component: wireless | Version:
Resolution: | Keywords:
Verified: 0 | Blocking:
Blockedby: |
-----------------------+----------------------------------------------------
Comment(by dcbw):
For the mesh autostart thing, it was always kind of flaky. ISTR that mesh
autostart cleared some device state in the firmware or something like that
that screwed the existing connection. That wasn't my understanding of how
it was _supposed_ to work (which was just to bring up the mesh if no
association was performed within 10 seconds or something). It just
screwed with the internal firmware state and stuff just didnt' work.
For the should_deauth_infrastructure() issue, when the
CMD_802_11_DEAUTHENTICATE command response comes back from the firmware,
lbs_mac_event_disconnected() is called which clears priv->connect_status,
frees current rx & tx packets, and sends the SIOCSIWAP "disassociated"
WEXT signal. It's quite unclear what the firmware's behavior actually is
in this case, and I can't really see what in the driver would depend on
priv->connect_status to substantially change behavior.
If the status is already LBS_CONNECTED, that doesn't mean anything for the
association process really. The driver logs indicate that the correct
association parameters were sent to the firmware, and that the driver
received an appropriate association response from the firmware after
completing the association and authentication commands. Note that each
test I did was a separate run of the supplicant, like so:
{{{
a) do something in driver
b) build driver
c) insmod modules
d) run wpa_supplicant
e) run dhclient
f) killall -TERM dhclient
g) Ctl+C wpa_supplicant
h) go to (d)
}}}
The second run of the supplicant would correctly associate, but no packets
ever got received by the driver and passed up to the kernel. They got
filtered out somewhere in firmware, or perhaps the DHCP requests never got
received by the APs I was using.
To ensure that it's not the driver, but would be the firmware, we would
need to instrument the driver at every applicable place where
priv->connect_status is checked and ensure that the branch taken there had
no real effect on the association process. A quick look over the code
doesn't seem like it does, and the diffs of the driver dmesg log output I
looked at didn't show any significant differences _other_ than the
should_deauth_infrastructure() change. I didn't see any real differences
in command #s sent to the driver (with the exception of the missing
DEAUTHENTICATE), but I did not inspect the actual command contents.
--
Ticket URL: <http://dev.laptop.org/ticket/5485#comment:79>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list