Ticket #890 (closed defect: fixed)
GSM/phonefsod broken after bootup
| Reported by: | hafting | Owned by: | mrmoku |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | phonefsod | Version: | SHR-unstable |
| Keywords: | Cc: |
Description
Often, there is "no service" after bootup. (And waiting some time, it is well known that GSM is not connected immediately.)
sometimes it works, sometimes it doesn't. It seems random, possibly a race condition. Unfortunately, it gets worse with a faster kernel, so it prevents experimenting with interesting kernels. At least for those that needs the phone to work.
Restarting phonefsod helps sometimes. At other times, a reboot is necessary. Last time this happened, phonefsod.log was not running after boot, and the logfile consisted of this line:
2010.01.25 17:19:09.045519 [phonefsod] MESSAGE: we already requested GSM!!!
Restarting phonefsod fixed it this time too.
It'd be nice if this got fixed. If phonefsod needs some other process to run, then it should either be launched later in the boot process, or use a sleep+retry loop instead of failing.
As a debugging test, I tried putting a "sleep 10" in /etc/init.d/phonefsod, but that did not help. I thought the delay might let other processes advance to the point where phonefsod could start on the first try.
Another test: I put an extra link to the phonefsod script in /etc/rc5.d. The idea was that the first attempt fails, and then the second might succeed. This didn't work either.
But every time, starting phonefsod from a ssh session worked.
Change History
comment:2 Changed 3 years ago by mazikeen
See also this thread which includes a patch claimed to fix the race.
http://www.mail-archive.com/smartphones-userland@linuxtogo.org/msg02099.html

Another way to recover functionality after boot is to SetResourcepolicy? GSM enabled. The daemon will then take over and establish the GSM connection, and ResourcePolicy? can be set back to auto.