Ok, I’ve had a go at documenting this. I’ve written up the specific Flame fix 
here:

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Phone_guide/Flame/Initial_setup#Further_adb_issues_modeswitch_and_rule_overrides

And I’ve also added some more generic advice to the troubleshooting section of 
our Installing ADB and Fastboot article:

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Debugging/Installing_ADB#adb_still_doesn%27t_recognise_the_device_%E2%80%94_udev_issues

Can you review these and let me know if there are any issues? Feel free to edit 
directly if you’d prefer.

Chris Mills
  Senior tech writer || Mozilla
developer.mozilla.org || MDN
  [email protected] || @chrisdavidmills



> On 21 Sep 2015, at 14:50, Thomas Zimmermann <[email protected]> wrote:
> 
> @cmills: The information below doesn't seem to be in the FxOS wiki. Can
> it be added?
> 
> Hi,
> 
> I recently upgraded to Debian 8, which brought me some headaches when
> figuring out how to use adb with a Flame device reliably. Flame's
> interaction with Debian's udev* rules creates a number of problems that
> make the device impossible to use for development. I guess that other
> distributions are affected as well. I hope this email will be helpful to
> anyone who sees similar issues.
> 
> 1) The first problem is that there's a modeswitch rule for the device,
> which makes the Flame 'invisible' to adb. So you won't see your device
> listed by 'adb devices'.
> 
> The Flame appears to be a multi-state device. When you plug in a
> switched-off Flame, its USB id is 05c6:f000. There's a udev rule in
> '/lib/udev/rules.d/40-usb_modeswitch.rules' that calls 'usb_modeswitch'
> for this device, and usb_modeswitch apparently sets the Flame to be a
> USB modem.
> 
> You can fix this problem by either
> 
> a) deleting the usb_modeswitch tool,
> b) out-commenting the line in the rules file, or
> c) adding the following line to your android.rules file
> 
>    ATTR{idVendor}=="05c6", ATTR{idProduct}=="f000", RUN=""
> 
>  to disable the call to 'usb_modeswitch'.
> 
> Solution c) appears to be the best option IMHO.
> 
> 2) The order of the udev rule files is important. Udev reads all the
> files with rules and orders them alphabetically. Whatever comes later
> overwrites earlier rules. (That's also why solution 1.c works.)
> 
> My rules file was named '51_android.rules' as described in [1]. It turns
> out that there's a file named '/lib/udev/rules.d/69_libmtp.rules', which
> contains a rule for 05c6:9025 that treats your Flame like a media player
> and puts it into the group 'audio'. You won't be able to use the devices
> with adb then.
> 
> You can fix this problem by renaming your android.rules file;
> '99_android.rules' works for my system.
> 
> Best regards
> Thomas
> 
> [1] https://developer.android.com/tools/device.html
> 
> * udev is the Linux program that sets up connected devices and maintains
> the content in the /dev directory.

_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to