#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