Closed Bug 1039864 Opened 11 years ago Closed 8 years ago

flame v2.0 no longer shows on USB device list when actively booted

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:-, b2g-v2.0 affected)

RESOLVED WONTFIX
blocking-b2g -
Tracking Status
b2g-v2.0 --- affected

People

(Reporter: bkelly, Unassigned)

References

Details

(Keywords: regression, Whiteboard: [dogfood2.0])

Writing this bug up from one of the issues mentioned in this dev-b2g thread: https://groups.google.com/forum/#!topic/mozilla.dev.gaia/lV0hLvMB7ow Basically, when the flame v122 on aurora update channel is booted and connected to a mac it no longer shows in the USB list. This obviously prevents adb from working which makes updating more difficult. This is with adb&devtools enabled in developer settings. If I power off the phone and connect it to the usb cable, then it boots to its passive charging mode. In this mode the device does show up in the USB list as: FirefoxOS: Product ID: 0xf000 Vendor ID: 0x05c6 (Qualcomm, Inc) Version: 2.28 Serial Number: 0123456789ABCDEF Speed: Up to 480 Mb/sec Manufacturer: FirefoxOS Location ID: 0x1d110000 / 6 Current Available (mA): 500 Current Required (mA): 500 This was collected with the command: system_profiler SPUSBDataType Flame v122 aurora update channel Build Id: 20140716000201 Gaia Rev: 5f8b1b8a
blocking-b2g: --- → 2.0?
Keywords: regression
Whiteboard: [dogfood2.0]
This reminds me of bug 980785 which I saw on my hamachi a few months back. I'm curious if enabling USB tethering also works as a workaround.
Yes, enabling USB tethering does workaround the problem. I was going to dupe to bug 980785, but David suggested on irc we should just continue with this bug.
It seems maybe the adb/devtools setting is not acted on in some way. For example, I just used the USB tethering workaround to allow me to use app manager. When I was done I disabled adb/devtools in settings. I found I was still able to use adb devices and adb shell even after disabling the setting. This seems like a bit of a security issue.
(In reply to Ben Kelly (PTO / back July 21) [:bkelly] from comment #3) > It seems maybe the adb/devtools setting is not acted on in some way. For > example, I just used the USB tethering workaround to allow me to use app > manager. When I was done I disabled adb/devtools in settings. I found I > was still able to use adb devices and adb shell even after disabling the > setting. > > This seems like a bit of a security issue. The AdbController currently has logic in it that if a USB feature is still in use (i.e. USB Mass Storage, or USB Tethering), and you disable adb, then adb will remain enabled until you unplug the USB cable. Otherwise the act of disabling USB will also turn off the other features as well (while adb is being disabled). See bug 915974 for some more background.
I'm seeing this on 2.0 as well.
blocking-b2g: 2.0? → 2.0+
Flags: needinfo?(nhirata.bugzilla)
I had installed Horndis because of bug 989541: http://www.joshuawise.com/horndis 1) I've tested several situations and with the Horndis installed, I never lost USB connection listing to the device : ex: with screenlock on and adb on: FirefoxOS: Product ID: 0x9026 Vendor ID: 0x05c6 (Qualcomm, Inc) Version: 2.28 Serial Number: 351dd0f2 Speed: Up to 480 Mb/sec Manufacturer: FirefoxOS Location ID: 0x1a120000 / 4 Current Available (mA): 500 Current Required (mA): 500 ex with USB storage on, ADB off, screenlock on: FirefoxOS: Product ID: 0x9026 Vendor ID: 0x05c6 (Qualcomm, Inc) Version: 2.28 Serial Number: 351dd0f2 Speed: Up to 480 Mb/sec Manufacturer: FirefoxOS Location ID: 0x1a120000 / 4 Current Available (mA): 500 Current Required (mA): 500 Capacity: 4.19 GB (4,194,287,104 bytes) Removable Media: Yes Detachable Drive: Yes BSD Name: disk1 Partition Map Type: Unknown S.M.A.R.T. status: Not Supported ie I cannot reproduce the issue with the USB connection list being lost. 2) ADB for production gecko will turn off for screen lock if it's not active as Dhylands mentioned. That was engineered this way as far as I recall. I did notice that if you turn off ADB devices while USB media is turned on with Horndis installed, it will try to renegotiate and adb is no longer accessible without having to disconnect the usb physically. I think it's a bug within Mac OS X driver for android devices. I can't reproduce with a different Mac Driver.
Flags: needinfo?(nhirata.bugzilla)
(In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from comment #6) > I had installed Horndis because of bug 989541: > http://www.joshuawise.com/horndis > > 1) I've tested several situations and with the Horndis installed, I never > lost USB connection listing to the device : > ex: with screenlock on and adb on: > FirefoxOS: > Product ID: 0x9026 > Vendor ID: 0x05c6 (Qualcomm, Inc) > Version: 2.28 > Serial Number: 351dd0f2 > Speed: Up to 480 Mb/sec > Manufacturer: FirefoxOS > Location ID: 0x1a120000 / 4 > Current Available (mA): 500 > Current Required (mA): 500 > > ex with USB storage on, ADB off, screenlock on: > FirefoxOS: > Product ID: 0x9026 > Vendor ID: 0x05c6 (Qualcomm, Inc) > Version: 2.28 > Serial Number: 351dd0f2 > Speed: Up to 480 Mb/sec > Manufacturer: FirefoxOS > Location ID: 0x1a120000 / 4 > Current Available (mA): 500 > Current Required (mA): 500 > Capacity: 4.19 GB (4,194,287,104 bytes) > Removable Media: Yes > Detachable Drive: Yes > BSD Name: disk1 > Partition Map Type: Unknown > S.M.A.R.T. status: Not Supported > ie I cannot reproduce the issue with the USB connection list being lost. > > 2) ADB for production gecko will turn off for screen lock if it's not active > as Dhylands mentioned. That was engineered this way as far as I recall. > > I did notice that if you turn off ADB devices while USB media is turned on > with Horndis installed, it will try to renegotiate and adb is no longer > accessible without having to disconnect the usb physically. > > I think it's a bug within Mac OS X driver for android devices. I can't > reproduce with a different Mac Driver. Thanks naoki, I'll not block on this for now, in that case.
blocking-b2g: 2.0+ → -
(In reply to bhavana bajaj [:bajaj] [NOT reading Bugmail, needInfo please] from comment #7) > (In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from > > I think it's a bug within Mac OS X driver for android devices. I can't > > reproduce with a different Mac Driver. > > Thanks naoki, I'll not block on this for now, in that case. Just want to say I personally disagree with this decision for a couple reasons: 1) The flame was previously working on mac. Something changed on the device to break this. The fact that we can enable a fxos feature and get it to work demonstrates the problem is fixable in the device software. 2) The flame is our reference device meant to aid developers work with fxos. Requiring them to install a third party driver seems like worsening the UX for this key demographic.
I just had this problem connecting to my linux vm on a windows 8 machine. Also, to build on comment 8, I don't see how this could be an android device driver problem. This is a problem at the USB level. (The phone doesn't show as any USB device at all until Internet Sharing is enabled, etc.)
Summary: flame v2.0 no longer shows on mac USB device list when actively booted → flame v2.0 no longer shows on USB device list when actively booted
Do you have a specific build I can flash here and see how it works (admittedly only under linux). I have seen issues with other phones (I can reproduce reliably with my unagi an I've seen it from time to time with others), where if the phone is booted up into charging mode, it winds up drawing too much current (I think) and the USB host shuts down the USB port due to overcurrent. Then I have to move to a different USB port on the host before I can see the phone using any method.
(In reply to Dave Hylands [:dhylands] from comment #10) > Do you have a specific build I can flash here and see how it works > (admittedly only under linux). I'm on the aurora update channel with v122 base firmware. See comment 0 for the Build ID I had when I first noticed this problem.
I used the flash_pvt.sh script and flashed User from aurora; both "gaia+gecko" and "images" and adb seemed to work as expected for both (I also have 122 base firmware).
Hi, glad to hear that, but OTA updates still didn't fix it. I just OTAed my Flame to Gecko 34.0a1 20140721160209 Gaia 649245c2 and the issue still occurs.
OTA only flashes gecko+gaia and adb functionality is largely determined by the base image.
(In reply to Dave Hylands [:dhylands] from comment #14) > OTA only flashes gecko+gaia and adb functionality is largely determined by > the base image. Well, we are talking USB, not adb. I agree, though, this is mostly gonk stuff. Still, its not working for multiple people. Is Internet Sharing implemented in the gonk layer? It seems that gecko/gaia setting does something to correct the problem.
(In reply to Ben Kelly [:bkelly] from comment #15) > (In reply to Dave Hylands [:dhylands] from comment #14) > > OTA only flashes gecko+gaia and adb functionality is largely determined by > > the base image. > > Well, we are talking USB, not adb. I agree, though, this is mostly gonk > stuff. Still, its not working for multiple people. > > Is Internet Sharing implemented in the gonk layer? It seems that gecko/gaia > setting does something to correct the problem. Yes, that's what I'm talking about. What I can see is after OTA, my phone suddenly can't charge (from Mac) and read pictures and videos via USB, and this is what happened on my dogfooding Flame. If I'm not a developer but an ordinary user, the first thing I would do is to get rid this phone off, tweet/reddit/facebook it, and buy another Android or iPhone instead. I'm sure that my Flame wasn't flashed anything except long ago I flash the base image to v122 and turn the OTA on.
I think I figured out the problem. It looks like when the "Debugging via USB" menu was introduced, the 12-hour adb timer wasn't updated. So what's happening is that the 12-hour timer is going off and this is disabling adb, but the settings UI isn't being updated to reflect this. When this happens, the menu says that adb is enabled, but it really isn't. I was able to change it to "Disabled" and touch OK, and then go back in and change it back to one of the ADB options and touch OK and adb was then re-enabled.
(In reply to Dave Hylands [:dhylands][on PTO Wed Jul 23] from comment #17) > I think I figured out the problem. > > It looks like when the "Debugging via USB" menu was introduced, the 12-hour > adb timer wasn't updated. > > So what's happening is that the 12-hour timer is going off and this is > disabling adb, but the settings UI isn't being updated to reflect this. > > When this happens, the menu says that adb is enabled, but it really isn't. I > was able to change it to "Disabled" and touch OK, and then go back in and > change it back to one of the ADB options and touch OK and adb was then > re-enabled. While that is certainly a problem, I don't think its this problem. The phone should still show up on the USB bus even if ADB is disabled. Users shouldn't have to enable ADB to charge their phones from their computer, right? Also, I just tried your suggestion and it did not solve the problem on my device. I wonder if this has to do with using dual-sim and overall power draw. Greg, Dave, do you have sim cards in your respective phones? Thanks for investigating this!
Yes, I have one sim card in the slot, but not dual-sim.
I have no sims. You could try connecting through a powered hub and see if that makes a difference. I'm going to assume that you've tried using a different USB cable? I've had several USB cables fail on me. And yes, even with adb disabled, you should still see the phone on the USB bus (under linux I can see it using lsusb). If you power the phone off and unplug the usb cable and then just plug the phone in, (either to a computer or a charger - no need to touch the power button) then the vibrator should buzz, you should see the T2Mobile splash and then you should see the battery charging screen. If you aren't even getting that behaviour, then I have to believe that you have a defective cable and/or phone.
(In reply to Dave Hylands [:dhylands][on PTO Wed Jul 23] from comment #20) > If you power the phone off and unplug the usb cable and then just plug the > phone in, (either to a computer or a charger - no need to touch the power > button) then the vibrator should buzz, you should see the T2Mobile splash > and then you should see the battery charging screen. Yes this works. See comment 0. I've also tried with different USB cables.
I'm starting to wonder if this is some kind of profile corruption from some change within the v2.0 Dev cycle that didn't properly update some setting. I'm going to reclad to v123 base software soon and start a new profile. I suspect this might disappear then.
See Also: → 1043122
Any updates for this bug? With today's OTA, Gaia 1f20f326 + Gecko 2014081160217, I still can't charge from Mac or Windows, nor to transfer files including photos, musics and videos. Again, I do nothing except daily updating from OTA channel. I don't know whether there is a listed workaround can solve this issue without reset my phone's personal data and apps. If it only breaks USB charging from Mac/PC I think it's not so critical, but to make file transferring unavailable is so upset. I've bunch of musics in my computer and photos in the phone that I can't move them to each device.
I just flashed the v123 base image and then v2.0 pvt gecko+gaia. I can no longer reproduce this. This heavily suggests some kind of profile corruption. I don't see anything obviously wrong with my old profile prefs.js, though: user_pref("app.reportCrashes", true); user_pref("app.update.channel", "nightly-b2g32"); user_pref("app.update.custom", "c1c0bfe6-821b-4d22-9e42-5d646f8545de"); user_pref("app.update.lastUpdateTime.background-update-timer", 1406879812); user_pref("app.update.lastUpdateTime.user-agent-updates-timer", 1406914144); user_pref("app.update.postupdate", true); user_pref("browser.cache.disk.capacity", 71508); user_pref("browser.download.importedFromSqlite", true); user_pref("consoleservice.enabled", false); user_pref("device.storage.writable.name", "external"); user_pref("devtools.debugger.remote-enabled", true); user_pref("devtools.eventlooplag.threshold", 100); user_pref("dom.mms.requestStatusReport", false); user_pref("dom.mms.retrieval_mode", "automatic-home"); user_pref("dom.mozApps.maxLocalId", 1040); user_pref("dom.mozApps.used", true); user_pref("dom.sms.defaultServiceId", 1); user_pref("dom.sms.requestStatusReport", false); user_pref("dom.telephony.defaultServiceId", 1); user_pref("dom.voicemail.defaultServiceId", 1); user_pref("dom.webapps.firstRunWithSIM", false); user_pref("gecko.buildID", "20140721000201"); user_pref("gecko.mstone", "32.0a2"); user_pref("general.useragent.updates.lastupdated", "1406309343939"); user_pref("idle.lastDailyNotification", 1406966090); user_pref("intl.accept_languages", "en-US, en"); user_pref("layers.composer2d.enabled", true); user_pref("layers.simple-tiles", false); user_pref("layout.css.report_errors", false); user_pref("network.cookie.prefsMigrated", true); user_pref("privacy.donottrackheader.value", -1); user_pref("ril.lastKnownSimMcc", "310"); user_pref("ril.mms.mmsc", "http://mms.msg.eng.t-mobile.com/mms/wapenc"); user_pref("ril.mms.mmsport", 0); user_pref("ril.mms.mmsproxy", ""); user_pref("ril.numRadioInterfaces", 2); user_pref("ril.radio.disabled", false); user_pref("services.push.userAgentID", "f51ea36c406533f280a616ec8e4e5175"); user_pref("storage.vacuum.last.index", 0); user_pref("toolkit.telemetry.previousBuildID", "20140721000201"); Is there another place to look for corruption? I pulled the entire /data/b2g dir before reflashing the device.
Have no luck: the device just no show at console via USB, and it even got freeze while I tried to copy all my photos to my Mac via Bluetooth (selected 35 pictures only success with about 30, and then the whole device got freeze). Either my device got a hardware corruption or our OTAs got some serious issue but we haven't aware of that. I'm now really worry about our phone's quality, if we're serious to sell them to real customers.
It looks like the only way to move these photos from my dogfood device is to write a web page, browse it, and upload files in batch mode, although it might fail as well.
(In reply to Ben Kelly [:bkelly] from comment #8) > (In reply to bhavana bajaj [:bajaj] [NOT reading Bugmail, needInfo please] > from comment #7) > > (In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from > > > I think it's a bug within Mac OS X driver for android devices. I can't > > > reproduce with a different Mac Driver. > > > > Thanks naoki, I'll not block on this for now, in that case. > > Just want to say I personally disagree with this decision for a couple > reasons: I also don't understand the decision. I'm running into the same problem, can't access the phone at all through USB. Not being able to copy items to/from the phone seems like a serious usability issue for regular users.
(In reply to Peter Van der Beken [:peterv] from comment #27) > I also don't understand the decision. I'm running into the same problem, > can't access the phone at all through USB. Not being able to copy items > to/from the phone seems like a serious usability issue for regular users. Peter, does it work for you if you enable Internet Sharing in Settings?
(In reply to Ben Kelly [:bkelly] from comment #28) > Peter, does it work for you if you enable Internet Sharing in Settings? Yes.
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.