Connecting to Firefox OS over USB

If you're trying to connect a Firefox OS device to WebIDE and it doesn't show up, here are some things you can try:

  • Check your Firefox OS version: make sure your device is running Firefox OS 1.2/Boot2Gecko 1.2 or later. To check the version, go to the Settings app on the device, then Device Information > Software. If you don't have a high enough version, find your device in the developer phone guide and follow the instructions for upgrading.
  • Enable remote debugging: in the Settings app on the device, go to Developer > Debugging via USB.
    • On previous versions, go to Device information > More information > Developer
    • Firefox OS 1.3 and earlier: "Remote Debugging" is just a simple checkbox. Check the box.
    • Firefox OS 1.4 and later: "Remote Debugging" asks you to enable for just ADB, or for ADB and DevTools. Select "ADB and DevTools".
  • Disable screen lock on your device: in the Settings app on the device, go to Screen Lock and unchecking the Lock Screen checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.
  • Make sure you haven't connected an Android phone at the same time as the Firefox OS phone to your computer.
  • Check the USB cable you are using:
    • Try unplugging and replugging in the USB cable.
    • Try plugging the USB cable into a different port on your computer. You may have to alternate between ports.
    • Try a different USB cable. The cables that come with phones are often of poor quality and fail often.
    • Try a shorter USB cable. Long USB cables have been known to not work so well.
  • Try disabling and re-enabling Remote Debugging in the Settings app on the device.
  • If you disabled the ADB Addon Helper, did you successfully run the adb forward command?
  • If you use Linux:
    • Make sure you added a udev rules file, as documented in step 3 of this guide to setting up an Android device. The idVendor attribute to use for the Geeksphone is "05c6", and this page lists other idVendor values. Next, run the adb devices to make sure your device is in the list. If device appears to be "no permission", you need to restart adb server (e.g. adb kill-server;adb start-server).
    • If you use the android-tools-adb package from Debian, ADB Helper may force any existing ADB server to close. This package disables TCP connections to the server, which ADB Helper relies on.
  • If you use Windows:
  • If you use Mac OS X:
    • If you're getting timeout errors connecting to both simulators and real devices, you may be unable to connect to localhost due to an empty /etc/hosts file. You can solve the problem by populating the file and flushing DNS cache as described here.
    • If you're an EasyTether user, you will need to uninstall or disable EasyTether: sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext

Connecting to Firefox OS over Wi-Fi

  • Check your Firefox versions: Wi-Fi debugging requires Firefox 39 or later, and a Firefox OS device running a build of Firefox OS 2.5 or higher from 2015-03-27 or later.
  • Both the computer with desktop Firefox and your Firefox OS device must be connected to the same Wi-Fi network
    • In more detail, desktop cannot be using a wired connection that routes to the Wi-Fi network. Instead, both must truly be on Wi-Fi.

Connecting to Firefox for Android over USB

If you're trying to connect to a Firefox instance running on the Android OS and it doesn't show up, here are some things you can try:

  • Check your Firefox version: make sure your device is running Firefox for Android 36 or later. WebIDE will not detect older versions automatically, so you need to enable port forwarding and connect to the device port - follow the instructions here.
  • Make sure you have enabled remote debugging in Firefox: open Firefox for Android, open its menu, select Settings, and then check the checkbox at Advanced > Remote debugging via USB.
  • Make sure that USB debugging is allowed in the device's developer settings
  • If you still do not see your device in the WebIDE window, try toggling Remote debugging on the phone.
    • Disconnect your device from your computer and turn off Remote debugging on the phone.
    • Reconnect the device and turn on Remote debugging - this restarts the debugger instance on the phone.
    • Try connecting via WebIDE again.
  • Check the USB cable you are using:
    • Try unplugging and replugging in the USB cable.
    • Try plugging the USB cable into a different port on your computer. You may have to alternate between ports.
    • Try a different USB cable. The cables that come with phones are often of poor quality and fail often.
    • Try a shorter USB cable. Long USB cables have been known to not work so well.
  • If you use Linux:
    • Make sure you added a udev rules file, as documented in step 3 of this guide to setting up an Android device. The Android list of idVendor values may help. Next, run the adb devices to make sure your device is in the list. If device appears to be "no permission", you need to restart adb server (e.g. adb kill-server;adb start-server).
    • If you use the android-tools-adb package from Debian, ADB Helper may force any existing ADB server to close. This package disables TCP connections to the server, which ADB Helper relies on.
  • If you use Windows:
    • Make sure that your Android device is recognized correctly and that it is using the Google USB Driver that is included with the Android SDK.
  • If you use Mac OS X:
    • If you're an EasyTether user, you will need to uninstall or disable EasyTether: sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext

Connecting to Firefox for Android over Wi-Fi

  • Check your Firefox versions: Wi-Fi debugging requires Firefox 42 or later, and an Android device running Firefox for Android 42 or later.
  • Both the computer with desktop Firefox and your Android device must be connected to the same Wi-Fi network
    • In more detail, desktop cannot be using a wired connection that routes to the Wi-Fi network. Instead, both must truly be on Wi-Fi.

Connecting to other browsers (Chrome, Safari, iOS)

WebIDE makes use of Valence (formerly Firefox Tools Adapter) to reach other browsers, like Chrome, Safari, and iOS. 

If you are having trouble connecting to these other browsers, check the setup steps and other notes for those browsers on the Valence page.

Can't debug some apps

If you are finding that you can't debug certified apps, built-in apps, or apps already installed on a real device, then you may be coming across WebIDE's restricted privileges security policy. To find out more, see the section on Unrestricted app debugging (including certified apps, main process, etc.).

Unable to load project list

If you open WebIDE in one version of Firefox, and then downgrade to a previous Firefox version with the same profile, you may see the error "Unable to load project list" when opening WebIDE in the earlier Firefox version.

This can occur when the storage system that WebIDE uses (IndexedDB) needs to move or restructure its internal files for the newer Firefox version. The project list then becomes effectively inaccessible to older versions of Firefox.

No data has been lost, but you will need to keep using the newest version of Firefox that was used with your profile to get the project list back.

If really want to use the older version of Firefox, you can attempt to delete just the project list in the following way, but this is unsupported and could result in the further problems or additional data loss:

  1. Close Firefox
  2. Find your Firefox profile directory
  3. Find the storage folder inside the profile directory
  4. Under some part of this file tree, there should be files and/or directories that start with 4268914080AsptpcPerjo (a hashed name of the database)
    • For example, they may be located at <profile>/storage/permanent/indexeddb+++fx-devtools/idb

  5. Remove any such files and directories
  6. Start Firefox and WebIDE again

Enable logging

You can also enable verbose logging to gather diagnostics:

  1. Open about:config, and add a new preference called extensions.adbhelper@mozilla.org.sdk.console.logLevel, with the string value all, and set extensions.adbhelper@mozilla.org.debug to true.
  2. In the Add-ons Manager, disable and then re-enable the ADB Helper add-on.
  3. Open the Browser Console and you'll now see console messages prefixed with adb. If the messages don't mean anything to you, ask for help.

Get help

Go to the #devtools room on IRC and we will try to help.

Document Tags and Contributors

 Last updated by: Dietrich,