Doesn't re-connect after resume for non-standard wifi cards, fix included
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
wicd |
Fix Released
|
Medium
|
David Paleino |
Bug Description
After resume, wicd doesn't reconnect to my wifi network.
I've got Kubuntu 10.4 + wicd 1.7.0
After a bit of investigation, I've noticed that the order of resume scripts seem to be wrong.
This is the order I have in /usr/lib/
55NetworkManager 75modules 91wicd
Now, I have a wifi card that is not natively supported by the kernel, so I install the driver module separately. According to pm-utils docs, to suspend/resume such a driver, it should be added to the SUSPEND_MODULES list. In practice, pm-utils suspend/resume modules from this list using the "75modules" script above.
PM-utils execute the "sleep.d" scripts in the alphanumerical order on suspend and in _reverse_ order on resume. So the wicd is resumed BEFORE the wifi module is even started.
As an experiment, I've reordered scripts by renaming 91wicd to 55wicd and it worked perfectly.
From resume order point of view, the wicd suspend/resume script should be called XXwicd where XX < 75, so that it starts reconnecting after the modules are ready.
I'd say that 55wicd is actually the best choice because it reuses the same spot as 55NetworkManager. Even though I know that wicd is the best ;), there are many more people that use NM. So other projects are likely to position their suspend/resume scripts relative to 55NetworkManager. If wicd reuses the same position, those projects will automatically work with wicd as well.
Changed in wicd: | |
status: | Fix Committed → Fix Released |
Attached patch based on latest (559) revision on lp:wicd branch.
Basically it
a) renames in/other=91wicd.in to in/other=55wicd.in
b) substitutes "91wicd" with "55wicd" in setup.py
To apply, run
patch -p1 < 585266.patch