#5418 NORM Future : powersave mode non-functional.
Zarro Boogs per Child
bugtracker at laptop.org
Mon Dec 17 01:29:47 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 manual seems to suggest that the host should ignore the SLEEP
event if it doesn't want to go to sleep -- and I've made the driver do
just that if there are commands or data still to be sent.
However, this causes a delay on incoming traffic. Obviously the device
cannot know that we have ignored its SLEEP event, and seems to wait for a
couple of seconds before sending us anything else.
Is there a command we can send to actively NAK the SLEEP event? As a quick
hack I tried resending the CONFIRM_WAKE command (not because I thought
that was a sensible thing to do, but just because I happened to be able to
test that with a one-line change). I thought it might hint to the device
that the driver _isn't_ going into sleep mode. It doesn't...
{{{
[18795.582111] libertas cmd: EVENT: sleep
[18795.586006] libertas cmd: EVENT: something to send; ignoring PS_SLEEP
[18795.592599] libertas host: SEND_WAKEC_CMD: before download
[18795.598228] usb8xxx usbd: 1-2:*** type = 1
[18795.602446] usb8xxx usbd: 1-2:size after = 8
[18795.606879] libertas host: SEND_WAKEC_CMD: sent confirm wake
[18795.612790] usb8xxx usbd (INT): 1-2:Recv length = 0xc, Recv type =
0xF00DFACE
[18795.620191] libertas thread (INT): lbs_interrupt: intcounter=0
[18795.626197] usb8xxx usbd (INT): 1-2:Wake up main thread to handle cmd
response
[18795.633932] usb8xxx usbd: 1-2:*** type = 0
[18795.638097] usb8xxx usbd: 1-2:size after = 142
[18795.642737] libertas thread: main-thread 111: intcounter=1
currenttxskb=00000000 dnld_sent=1
[18795.651425] libertas thread: main-thread 222 (waking up): intcounter=1
currenttxskb=00000000 dnld_sent=0
[18795.661152] libertas thread: main-thread 333: intcounter=1
currenttxskb=00000000 dnld_sent=0
[18795.669782] usb8xxx usbd: 1-2:Int cause is 0x8
[18795.674305] libertas thread: main-thread 444: intcounter=0
currenttxskb=00000000 dnld_sent=0
[18795.682865] libertas thread: main-thread: cmd response ready
[18795.691121] libertas host: CMD_RESP: cur_cmd is NULL
[18795.696270] libertas thread: main-thread 111: intcounter=0
currenttxskb=00000000 dnld_sent=0
[18795.704938] libertas thread: main-thread sleeping... Conn=0 IntC=0
PS_mode=1 PS_State=1
[18797.650823] usb8xxx usbd (INT): 1-2:Recv length = 0x8, Recv type =
0xBEEFFACE
[18797.658123] usb8xxx usbd (INT): 1-2:**EVENT** 0xA
}}}
A ping is running, pinging this device from outside once as second. When
the above happens, it (unsurprisingly) sees a couple of packets with high
latency (>2s then >1s then back to normal).
--
Ticket URL: <http://dev.laptop.org/ticket/5418#comment:6>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list