#5418 NORM Future : powersave mode non-functional.
Zarro Boogs per Child
bugtracker at laptop.org
Sun Dec 16 18:47:13 EST 2007
#5418: powersave mode non-functional.
-----------------------+----------------------------------------------------
Reporter: dwmw2 | Owner: mbletsas
Type: defect | Status: new
Priority: normal | Milestone: Future Release
Component: wireless | Version:
Resolution: | Keywords:
Verified: 0 |
-----------------------+----------------------------------------------------
Comment(by dwmw2):
The firmware seems to do that even when mesh is disabled. The last
firmware in which it accepted the command seems to have been 5.110.12.p0.
Even there it's confusing me -- the return from the 'Enter PS' command
seems to have the 'action' field set to 0x8021, which it shouldn't be. The
code in cmdresp.c checks it against the values we put in the field when we
send the command, which are:
{{{
#define CMD_SUBCMD_ENTER_PS 0x0030
#define CMD_SUBCMD_EXIT_PS 0x0031
#define CMD_SUBCMD_SLEEP_CONFIRMED 0x0034
#define CMD_SUBCMD_FULL_POWERDOWN 0x0035
#define CMD_SUBCMD_FULL_POWERUP 0x0036
}}}
This is the output:
{{{
libertas host: CMD_RESP: response 0x8021, seq 18, size 18, jiffies
43484103
libertas host: CMD_RESP: PS_MODE cmd reply result 0x0, action 0x8021
libertas host: CMD_RESP: PS action 0x8021
}}}
When I change the code in cmdresp.c to 'know' what we sent in the action
field of the last PS_MODE command instead of reading it from the response,
I find that the firmware never talks to us again after we send it the
CONFIRM_SLEEP...
{{{
[root at efika ~]# iwconfig eth1 power on
[44304.781077] libertas host: PREP_CMD: command 0x0021
[44304.786140] libertas cmd: PS command:SubCode- Enter PS
[44304.791429] libertas host: QUEUE_CMD: inserted command 0x0021 into
cmdpendingq
[44304.799143] libertas host: PREP_CMD: wait for response
[44304.804519] libertas host: EXEC_NEXT_CMD: sending command 0x0021
[44304.810713] libertas host: DNLD_CMD: command 0x0021, seq 18, size 18,
jiffies 44004682
[44304.818862] libertas cmd: DNLD_CMD: sent command 0x0021, jiffies
44004690
[44304.827542] libertas host: CMD_RESP: response 0x8021, seq 18, size 18,
jiffies 44004699
[44304.835713] libertas host: CMD_RESP: PS_MODE cmd reply result 0x0,
action 0x8021
[44304.843250] libertas host: CMD_RESP: ENTER_PS command response
[44304.849605] libertas cmd: event cause 10
[44304.853767] libertas cmd: EVENT: awake
[44304.857806] libertas cmd: event cause 11
[44304.861861] libertas cmd: EVENT: sleep
[44304.865718] libertas host: sending lbs_ps_confirm_sleep
[44304.871076] libertas host: SEND_SLEEPC_CMD: before download, cmd size
18
[44304.877969] libertas host: SEND_SLEEPC_CMD: sent confirm sleep
[root at efika ~]#
[root at efika ~]#
[root at efika ~]# iwconfig eth1
[44330.010775] libertas host: PREP_CMD: command 0x001f
[44330.015834] libertas host: QUEUE_CMD: inserted command 0x001f into
cmdpendingq
[44330.023287] libertas host: PREP_CMD: command 0x000b
[44330.028326] libertas host: QUEUE_CMD: inserted command 0x000b into
cmdpendingq
[44330.039420] libertas host: PREP_CMD: command 0x001e
[44330.044501] libertas cmd: RF_TX_POWER_CMD: size:12 cmd:0x1e Act:0
[44330.050752] libertas host: QUEUE_CMD: inserted command 0x001e into
cmdpendingq
[44330.058150] libertas host: PREP_CMD: wait for response
}}}
Shouldn't it be waking periodically? When was the last time the driver was
known to work with powersave mode?
--
Ticket URL: <http://dev.laptop.org/ticket/5418#comment:4>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list