Ticket #1876 (closed defect: fixed)

Opened 10 years ago

Last modified 17 months ago

screen does not turn on on incoming call

Reported by: Zoup Owned by: openmoko-kernel
Priority: normal Milestone:
Component: kernel Version: Om2008.8
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible: sometimes

Description

when phone is in suspend , and i receive a call , its ringing but screen is off , vibrator , speakers are working , in this state power button does not help either

Change History

comment:1 Changed 10 years ago by zecke

  • Owner changed from openmoko-devel to openmoko-kernel
  • Milestone Om2008.8 deleted
  • Component changed from unknown to System Software
  • Summary changed from Does not wakeup on call to screen does not turn on on incoming call

This looks like a ompower/kernel issue. I hope Andy and Raster attempt to reproduce this.

comment:2 follow-up: ↓ 3 Changed 10 years ago by raster

ok here's my summary.

remove sim card and suspend/resume gets a LOT more reliable. what i have observed a few times - on suspend ompower executes apm -s - but this never returns. qpe holds suspend from happening indefinitely via its apmbios hooks. remove sim card and qpe no longer does this. this solves the "system is up but screen is blank" problem - ompower is stuck waiting for apm -s to return - which it doesn't, so it never turns backlight on again (as that code is right after apm -s ends).

there is a general kernel wakeup issue. here's my log on how many repeated suspend/resumes u need until it kicks in:

9:19AM ~ > sudo tail -f /var/log/messages | grep cdc_ether

Aug 28 09:12:36 cubie kernel: [37104.537344] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:15:25 cubie kernel: [37273.087084] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:18:45 cubie kernel: [37472.814037] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:19:19 cubie kernel: [37506.818044] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:19:25 cubie kernel: [37512.972867] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:19:31 cubie kernel: [37519.459068] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:19:36 cubie kernel: [37524.374570] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:19:42 cubie kernel: [37529.869320] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:19:45 cubie kernel: [37532.804918] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:19:50 cubie kernel: [37538.296668] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:19:53 cubie kernel: [37540.981402] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:19:58 cubie kernel: [37545.732567] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:19:59 cubie kernel: [37547.177986] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:20:05 cubie kernel: [37553.168461] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:20:06 cubie kernel: [37554.421985] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:20:37 cubie kernel: [37584.893943] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:20:39 cubie kernel: [37587.110932] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:20:45 cubie kernel: [37592.825563] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:20:48 cubie kernel: [37596.249889] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:20:53 cubie kernel: [37601.499777] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:20:56 cubie kernel: [37604.429374] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:04 cubie kernel: [37611.663167] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:05 cubie kernel: [37612.911695] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:09 cubie kernel: [37617.611883] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:12 cubie kernel: [37620.100726] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:19 cubie kernel: [37627.029684] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:20 cubie kernel: [37628.504086] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:28 cubie kernel: [37635.952756] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:32 cubie kernel: [37639.625949] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:39 cubie kernel: [37647.106600] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:42 cubie kernel: [37650.036200] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:47 cubie kernel: [37655.533949] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:49 cubie kernel: [37656.760482] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:21:53 cubie kernel: [37661.233800] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:21:56 cubie kernel: [37663.940523] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:22:01 cubie kernel: [37668.918560] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:22:10 cubie kernel: [37678.548459] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:22:15 cubie kernel: [37683.541484] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:22:18 cubie kernel: [37686.224221] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:22:27 cubie kernel: [37694.695327] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:22:30 cubie kernel: [37697.897769] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:22:46 cubie kernel: [37714.524385] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:22:51 cubie kernel: [37718.942153] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:23:06 cubie kernel: [37733.609846] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:23:17 cubie kernel: [37745.215650] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:23:25 cubie kernel: [37752.942171] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device
Aug 28 09:23:29 cubie kernel: [37756.870216] usb0: register 'cdc_ether' at usb-0000:00:1d.2-1, CDC Ethernet Device, fe:a6:1b:e3:74:35
Aug 28 09:23:35 cubie kernel: [37762.608834] usb0: unregister 'cdc_ether' usb-0000:00:1d.2-1, CDC Ethernet Device

(24 suspends till it happend) - but at this stage the device is dead - nothing wakes it up. it stays suspended (or off - i don't really know) until i rip out and put the battery back in.

so as i see it we have 2 issues here:

  1. qpe (holding up suspend - i suspect due to calypso not wanting to power down nicely).
  2. kernel literally being dead to the world on wakeup or hardware being dead.

so first - try lots of suspend/resume tests without a sim card in. is it "more stable". do you ever get the system resumed (just check if a cdc_ethernet device was "plugged in" on your pc as i got above from logs). if one is registered but the screen is off - try ssh in. check the process list - is "apm -s" running?. if so, kill it and backlight should pop on. without a sim card in i have yet to see this happen. with one in this happens.

other than that - if you attempt to resume (power button is my manual testing) and it doesnt come on at all (no cdc_ethernet device advertised) something has gone bust below or in the kernel.

comment:3 in reply to: ↑ 2 Changed 10 years ago by zecke

Replying to raster:

ok here's my summary.

  1. qpe (holding up suspend - i suspect due to calypso not wanting to power down nicely).

no need to speculate. logread and if that is no clear indication we can look into using gdb. You might want to attach the serial console for that.

comment:4 Changed 10 years ago by octavsly

I had the same with an alarm from calendar. The screen was black but I could notice the vibration of the phone.
Furthermore, when I have connected the USB cable, to get a "logread", the phone rebooted. Is there a way to have the logread access the history before booting?

comment:5 Changed 9 years ago by PaulFertser

  • Status changed from new to closed
  • HasPatchForReview unset
  • Resolution set to fixed

Works in modern distros.

Note: See TracTickets for help on using tickets.