Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I am having the feared random reboots in my recently acquired Droid 3.

It is rebooting more than 10 times a day randomly, both when idle and when doing anything in the phone.

The only pattern I've been to able to catch is that around 30 seconds before a reboot, I lose phone signal (the signal strength meter is empty and showing a cross). WiFi keeps working until the reboot.

I am located in Spain and using the phone in GSM/UMTS mode, with CDMA disabled. Some times when I lose the signal prior to a reboot, I get a pop-up asking if I want to put the phone in "global" mode for it to search for CDMA signal.

I am using rooted Steel Droid 3 with OTA 5.6.890, but it happened with Verizon's stock ROM as well.

I have googled extensively for the last couple of days and did everything I have found about possible solutions:

  • Factory reset and disabling Google restoring features on initial config (to prevent restoring WiFi hotspot data, alleged to cause reboots)
  • Manually wiping all WiFi hotspot info
  • Disable WiFi
  • Running with no apps installed
  • Formatting sd card
  • Wiping user data and cache from Recovery
  • Checking if the battery is loose, wedge a piece of paper to lock it in place

None of this have prevented or even alleviated the random reboots.

I'm fearing my phone might be a total lemon, but unfortunately as I am in Spain I can't return it and get a replacement. Anyway I have been reading that people have returned their Droids four or five times and still get random reboots in every new or refurbished Droid they get.

Other than that the phone works perfectly well, and I really love it. But having reboots when you are in the middle of something is going to get more and more annoying and I fear I will throw it out of the window sooner or later. I really need to solve this.

I run adb logcat in hopes of finding what is causing it, but it didn't see anything revelatory. Here are the tails of my last 3 logs before a crash:

12-06 22:39:43.764   512  3986 W Smack/Packet: notify conn break (IOEx), close connection12-06 22:39:43.764   512  3986 D Smack   : [XMPPConn] close connection, notifyClosed=false
12-06 22:39:43.921   512   608 I GTalkService: [GTalkConnection.18] connectionClosed: connId=28343, error=CONNECTION FAILED
12-06 22:39:43.921   317   323 D ConnectivityService: reportNetworkCondition(1,0)
12-06 22:39:43.929   317   370 D ConnectivityService: Inet connectivity change,net=1, condition=0,mActiveDefaultNetwork=1
12-06 22:39:43.929   317   370 D ConnectivityService: starting a change hold12-06 22:39:43.936   512   608 I GTalkService: [GTalkConnection.18] (WORKER THREAD) update account status
12-06 22:39:43.999   512   608 I GTalkService: [GTalkConnection.18] (WORKER THREAD) update account status - done, took 58 ms
12-06 22:39:46.944   400   400 D StatusBarPolicy: the netConditon of netType 1 is updated as 0 by android.net.conn.INET_CONDITION_ACTION,icon color should be white.
12-06 22:39:46.944   400   400 V StatusBarPolicy: NetworkInfo: NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true, inetCondition=     0
12-06 22:39:46.944   400   400 V StatusBarPolicy: mModemIsResetting=false
12-06 22:39:46.944   317   370 D ConnectivityService: Inet hold end, net=1, condition =0, published condition =100
12-06 22:39:59.702   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control, buff = auto
12-06 22:39:59.702   195   237 D libmdmctrl:
12-06 22:39:59.702   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control opened in write only mode
12-06 22:39:59.702   195   237 D libmdmctrl:

Log 2:

12-06 23:12:14.951   533  1016 I EventLogService: Aggregate from 1323209010096 (log), 1323207734851 (data)
12-06 23:12:16.654   317   382 D dalvikvm: GC_EXPLICIT freed 143K, 38% free 8201K/13063K, external 5433K/6784K, paused 158ms
12-06 23:12:21.990   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control, buff = auto
12-06 23:12:21.990   195   237 D libmdmctrl:
12-06 23:12:21.990   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control opened in write only mode
12-06 23:12:21.990   195   237 D libmdmctrl:
12-06 23:12:24.591  4743  4754 W googleanalytics: Problem with socket or streams.
12-06 23:12:24.591  4743  4754 W googleanalytics: java.net.ConnectException: www.google-analytics.com/127.0.0.1:80 - Connection refused
12-06 23:12:24.591  4743  4754 W googleanalytics:       at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at java.net.Socket.connect(Socket.java:983)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at com.google.android.apps.analytics.PipelinedRequester.maybeOpenConnection(Unknown Source)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at com.google.android.apps.analytics.PipelinedRequester.addRequest(Unknown Source)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at com.google.android.apps.analytics.NetworkDispatcher$DispatcherThread$AsyncDispatchTask.dispatchSomePendingEvents(Unknown Source)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at com.google.android.apps.analytics.NetworkDispatcher$DispatcherThread$AsyncDispatchTask.run(Unknown Source)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at android.os.Handler.handleCallback(Handler.java:587)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at android.os.Handler.dispatchMessage(Handler.java:92)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at android.os.Looper.loop(Looper.java:130)
12-06 23:12:24.591  4743  4754 W googleanalytics:       at android.os.HandlerThread.run(HandlerThread.java:60)
12-06 23:12:24.849   445   467 D dalvikvm: GC_CONCURRENT freed 1098K, 49% free 4008K/7815K, external 2692K/3351K, paused 2ms+2ms
12-06 23:12:24.896   445   445 W KeyCharacterMap: Can't open keycharmap file
12-06 23:12:24.896   445   445 W KeyCharacterMap: Error loading keycharmap file'/data/usr/keychars/omap-keypad.kcm.bin'. hw.keyboards.0.devname='omap-keypad'

Log 3:

12-06 23:46:26.576   677  1930 W IdleConnectionHandler: Removing a connection that never existed!12-06 23:46:26.576   677  1930 D News Processor:  SAVED http://www.meneame.net/rss2.php
12-06 23:46:26.584   677  1932 D News Processor:  PROCESSING source: 20 http://www.meneame.net/rss2.php
12-06 23:46:26.646   677  1932 D News Processor:  HAS NEW: false - http://www.meneame.net/rss2.php
12-06 23:46:33.584  1480  1491 W googleanalytics: Problem with socket or streams.
12-06 23:46:33.584  1480  1491 W googleanalytics: java.net.ConnectException: www.google-analytics.com/127.0.0.1:80 - Connection refused
12-06 23:46:33.584  1480  1491 W googleanalytics:       at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at java.net.Socket.connect(Socket.java:983)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at com.google.android.apps.analytics.PipelinedRequester.maybeOpenConnection(Unknown Source)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at com.google.android.apps.analytics.PipelinedRequester.addRequest(Unknown Source)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at com.google.android.apps.analytics.NetworkDispatcher$DispatcherThread$AsyncDispatchTask.dispatchSomePendingEvents(Unknown Source)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at com.google.android.apps.analytics.NetworkDispatcher$DispatcherThread$AsyncDispatchTask.run(Unknown Source)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at android.os.Handler.handleCallback(Handler.java:587)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at android.os.Handler.dispatchMessage(Handler.java:92)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at android.os.Looper.loop(Looper.java:130)
12-06 23:46:33.584  1480  1491 W googleanalytics:       at android.os.HandlerThread.run(HandlerThread.java:60)
12-06 23:46:36.334   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control, buff = auto
12-06 23:46:36.334   195   237 D libmdmctrl:
12-06 23:46:36.334   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control opened in write only mode
12-06 23:46:36.334   195   237 D libmdmctrl:

I have seen that the most common before-reboot output is

12-06 22:39:59.702   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control, buff = auto
12-06 22:39:59.702   195   237 D libmdmctrl:
12-06 22:39:59.702   195   237 D libmdmctrl: file /sys/bus/usb/devices/usb2/power/control opened in write only mode
12-06 22:39:59.702   195   237 D libmdmctrl:

But I have googled for libmdmctrl and there is only 1 result that has nothing to do with anything.

I am really in the dark, thanks for any help!

share|improve this question

2 Answers 2

up vote 2 down vote accepted

I tried a different approach, seeing the problem was with radio / telephony...

I put in another SIM from a different carrier, and so far I am having no reboots!

What is the difference? My main carrier is a "virtual carrier", a company that rents other company's network to offer their service, usually with more competitive prices.

The SIM I'm using now is from a traditional carrier that owns the network directly.

What I think happens is that when using a virtual carrier, you are having a sort of permanent roaming: the phone has to first get into the network owning carrier and then join the virtual network of the virtual carrier. Somehow this is making the Droid 3 crazy.

The signal strength meter was indeed showing a small "R" indicating I was in roaming. I assumed this was because being an US phone, it took any non-US network as roaming, but now that I am using the regular carrier SIM, the signal strength bar is not showing "R" anymore.

Seems I will have to change my carrier to a network owner, which unfortunately have much less competitive prices. But at least I found a way of using the Droid 3 without constant reboots!!

For future reference to other Spanish users: I am having the reboots using a Simyo SIM (which runs on the Orange network), but with a Movistar SIM there are no reboots.

share|improve this answer

It sounds to me it could a hardware issue and not a software issue.

Things I would try

  • Flashing even more ROMs. Try CM7 if it is available for Droid 3. If it keeps rebooting with other ROMs, you most likely have a hardware problem
  • Hardware suggestions: try a new/different battery. Also, since you are using GSM and it deals with losing your signal, perhaps it is an issue with your SIM card?
  • Otherwise: contact customer support and tell them of your hardware issue of reboots. They might have some additional info or procedures to help you. Or a new refurb phone. (But since you're in Spain, that sounds like a problem).
share|improve this answer
    
Thanks, your remark about a possible problem with the SIM card made me try another one and find the solution :) –  Tomás Arribas Dec 7 '11 at 21:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.