[GUIDE] Fix Fastboot and USB - Nexus 7 Android Development
After writing my previous guide, i realized that a lot of people have had a fastboot problem when trying to flash cwm and adb problems while in cwm. After i flashed aosp, i realized that I lost recovery, and as i tried to reflash it, i had the problem as well.
Here's the fix.
1. Go to this github link and copy the text file.
2. Open up terminal and type in
sudo gedit /etc/udev/rules.d/51-android.rules3. Replace what's in the folder with the the text in the file in github
4. Replace the text that says <username> with the username of your computer. (Don't erase the quotes!)
5. Find the line where it says "#adb protocol on the grouper (Nexus 7)"
6. Change the mode in the line under it to "0666"
It should look like this
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="your user name here"7. Save the file
8. Type in terminal
sudo service udev restart
sudo killall adb
Now fastboot and adb should be fixed!
Do a fastboot devices to check in bootloader and/or do a check for adb in cwm by adb devices.
If this helped at all, don't forget to click thanks and rate 5 stars!
Special thanks to ptspts on blogspot for the adb fix and johnmurrayvi on github for the rules file!
Is missing recovery-from-boot.p related to this problem?
another way
5implelove said:
Is missing recovery-from-boot.p related to this problem?
Click to expand...
Click to collapse
I had the same exact problem and I found this-
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
(Source- Napalm2) http://forum.xda-developers.com/showthread.php?t=1794203
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This may be easier for some and it worked for me.
5implelove said:
Is missing recovery-from-boot.p related to this problem?
Click to expand...
Click to collapse
This is something on the phone, not a driver problem. In the Nexus 7, some people had to do it, some didn't. When i first got mine at IO, i had to, but i recently did it, and i didn't have to. It's hit or miss
Thanks bro ...you know a way for win users?? My problem is that I do not know why, the recovery unmount when I test some my mod on rom AOSP
I've update usb_driver from SDK and add the string on android_winusb.inf but nothing to do...now I have anxiety every flash that the recovery can unmount
Inviato dal mio Nexus 7 con Tapatalk 2
"3. Replace what's in the folder with the the text in the file in github"
sorry, where is the folder?
terminal as in the nexus7 am i right?
I've followed these instructions yet I still get ???????????????????? after running adb devices
I'm on Ubuntu 12.04
Ir0nLy0n said:
I've followed these instructions yet I still get ???????????????????? after running adb devices
I'm on Ubuntu 12.04
Click to expand...
Click to collapse
i've tidied it and added all modes...
follow the instructions in the OP but instead make 99-android.rules: (it loads later after everything is initialized)
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="your user name here" # 8GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666", OWNER="your user name here" # 16GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666", OWNER="your user name here" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your user name here" # Recovery
You can do this with ANY usb hardware. Just use for example:
Code:
[email protected] ~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 005 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 08bb:2902 Texas Instruments Japan PCM2902 Audio Codec
Bus 003 Device 003: ID 04e8:329f Samsung Electronics Co., Ltd
Bus 001 Device 034: ID 18d1:d001 Google Inc.
Bus 002 Device 003: ID 1b1c:1b31 Corsair
Bus 002 Device 004: ID 08bb:2902 Texas Instruments Japan PCM2902 Audio Codec
[email protected] ~ $
My nexus 7 is attached and in recovery mode
Hope this helps. Please hit Thanks if it does
kodabmx
kodabmx said:
follow the instructions in the OP but instead make 99-android.rules: (it loads later after everything is initialized)
Click to expand...
Click to collapse
This worked for me. I also added the code for the Galaxy Nexus. After a quick reboot, I was able to execute both ADB and Fastboot commands without being in the same folder and no permission issues! Perfect
i am at a loss. I am on ubuntu 12.04 fully updated as of 8-22-2012. my 51 and 99 android.rules file looks like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="phillip" # 8GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666", OWNER="phillip" # 16GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666", OWNER="phillip" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="phillip" # Recovery
# fastboot protocol on the grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="phillip"
I have tried it with and without the last subsystem. but no matter what i cant get my system to see my 7 in bootloader. in normal and recovery it works. any ideas?
ngc604 said:
i am at a loss. I am on ubuntu 12.04 fully updated as of 8-22-2012. my 51 and 99 android.rules file looks like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="phillip" # 8GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666", OWNER="phillip" # 16GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666", OWNER="phillip" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="phillip" # Recovery
# fastboot protocol on the grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="phillip"
I have tried it with and without the last subsystem. but no matter what i cant get my system to see my 7 in bootloader. in normal and recovery it works. any ideas?
Click to expand...
Click to collapse
Try changing the mode for fastboot to 666. That might work.
Sent from my Nexus 7 using XDA Premium HD app
i figured it out. i was using the adb command and not the fastboot command. I forgot the 7 goes into fastboot right away.
just posting this in case someone else makes that same mistake.
Thanks for the follow-up on this. Here you say,
3. Replace what's in the folder with the the text in the file in github
Click to expand...
Click to collapse
Don't you mean "replace what is in this FILE?"
And that file was empty for me. Does that mean there is a problem? I still have insufficient permissions back on the original page:
adb devices
List of devices attached
???????????? no permissions
fastboot devices
gives no response, no error either.
fastboot
does give me the listing of fastboot usage and options.
UPDATE: (I also followed this guide: http://rootzwiki.com/topic/28544-guide-nexus-7-bootloadersrecoveriesrootback-to-stock/page__pid__981123__st__110#entry981123 , but had similar results as here)
Even though I could not complete this process, I do apparently have root! Google Play has SuperSU listed as an app "Up to date", ditto for Root Checker by joeykrim. And in Root Checker, when I click "Check root", "Verify Root Access", SuperSU does pop up and ask if it should be granted root, I say yes, and Root Checker says I have root.
I did manage to install the SuperSU app once or twice in my recent attempts. The first time I rebooted, I am sure I did not have root. Maybe the last two times I tried it, I did get root. About tablet says:
Code:
Android version
4.1.1
Kernel version
3.1.10-g52027f9
[email protected])
#1 SMP PREEMPT Thu Jun 28 16:19:26 PDT 2012
Build number
JRO03S
As far as root goes, am I all set? I don't care about using a different ROM or bootloader. I just want to have more control in customizing -- and using Titanium Backup -- and still get the updates when they roll out. Is it all good?
FadedLite said:
After writing my previous guide, i realized that a lot of people have had a fastboot problem when trying to flash cwm and adb problems while in cwm. After i flashed aosp, i realized that I lost recovery, and as i tried to reflash it, i had the problem as well.
Here's the fix.
1. Go to this github link and copy the text file.
2. Open up terminal and type in
sudo gedit /etc/udev/rules.d/51-android.rules3. Replace what's in the folder with the the text in the file in github
4. Replace the text that says <username> with the username of your computer. (Don't erase the quotes!)
5. Find the line where it says "#adb protocol on the grouper (Nexus 7)"
6. Change the mode in the line under it to "0666"
It should look like this
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="your user name here"7. Save the file
8. Type in terminal
sudo service udev restart
sudo killall adb
Now fastboot and adb should be fixed!
Do a fastboot devices to check in bootloader and/or do a check for adb in cwm by adb devices.
If this helped at all, don't forget to click thanks and rate 5 stars!
Special thanks to ptspts on blogspot for the adb fix and johnmurrayvi on github for the rules file!
Click to expand...
Click to collapse
thanks for the tips,i already have this on my linux mahcine (like said the source.android.com under "configuring usb access")because it's requested if you want to build something,already did that some time ago for gnex.Anyway,also after did that times ago,i have little problems with fastboot and n7,adb works well instaed.i'll see what i can do.thanks!
This actually works on any device. All you have to do is replace the vendor and product id with that of the specific device.
I was having trouble seeing my HTC Evo 3D in fastboot (it was already set up with a device/product id for adb), so did a google search and landed on this page. All you have to do is type
Code:
lsusb
and see the vendor and product values (will be in the format 0abc:def1 - not the exact string but similar format). The first part is the vendor ID and the second part is the product ID. It will differ based on the mode your phone is in (bootloader, normal booted phone in dev debug mode, tethering etc). So you have to set up a line for each of these modes if you want to execute fastboot, adb etc type of commands on it.
chmod
might want to chmod the rules file after you save it and before restarting the udev service.. simple stuff can hang up the casual user.
Regards,
Rob
for me:
chmod a+rx /etc/udev/rules.d/70-persistant-android.rules
(still as root) [or add sudo in front]
a good page for reading up on udev stuff:
http://forums.team-nocturnal.com/sh...u-Linux-12-04-11-10-LTS-32bit-64-April-5-2012
Here is my 99-android.rules, pop this in, chmod a+rx it and restart udev and adb should give you a root shell no matter what mode your Nexus 7 is in. It also has defs for mtp. I used Linux Mint 14 with the android-tools-adb/android-tools-fastboot packages. It is important to have the mode 0600 entries, as they are vital for adb root access. Cheers!
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0600", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="your username here"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0600", OWNER="your username here"
Related
Install Android SDK / JDK / ADB on Linux 11.04
1.Get root permission. 2.Install x32 libs if you are running on a x64 Code: apt-get install ia32-libs 3.Install sun JDK - Aprox 25 mins in 56k line Code: apt-get install sun-java6-jdk 4.Install eclipse -Aprox 1hr in 56k line Code: sudo apt-get install eclipse 5.Now open up Eclipse, and go to: Help Menu -> Install New Software * Add: Code: https://dl-ssl.google.com/android/eclipse/ http://download.eclipse.org/datatools/updates http://download.eclipse.org/webtools/updates/ http://download.eclipse.org/modeling/emf/updates/releases/ http://download.eclipse.org/tools/gef/updates/releases/ http://dl.google.com/eclipse/plugin/3.5 Install these packages, and then you can install adt plugin as well. 6.Download Android SDK from http://developer.android.com/sdk/index.html 7.Now open a terminal again and go to the directory where you've saved the Android SDK Code: cd /home/*username*/Desktop 8.Uncompress it. Code: tar xvfz android-sdk_r12-linux_x86.tgz 9.Delete the archive file to save some space Code: rm android-sdk_r12-linux_x86.tgz 10.Move extracxted file to your home directory. Code: mv android-sdk-linux_86 /home/*username* 11.Make and edit /etc/udev/rules.d/##-android.rules Code: sudo gedit /etc/udev/rules.d/##-android.rules ## = 50 if you are running Gusty/Hardy/Dapper (50-android.rules) or with the number 70 if you are running Karmic Koala/Lucid Lynx/Maverick Meerkat(70-android.rules) 12.in ##-android.rules Add line as follow For Gusty/Hardy: Code: SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" For Dapper: Code: SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666" For Karmic Koala: Code: SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" For Lucid Lynx: Code: SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" For Maverick Meerkat: Code: SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666" **NOTE: In the above lines the code ”0bb4″ refers to a HTC device. If your phone is from a different manufacturer, replace the code with the appropriate Code: Acer - 0502 Dell - 413c Foxconn - 0489 Garmin-Asus - 091E HTC (Older Phones) - 0bb4 HTC (Newer phones) - 18d1 Huawei - 12d1 Kyocera - 0482 LG - 1004 Motorola - 22b8 Nexus One/S - 18d1 Nvidia - 0955 Pantech - 10A9 Samsung - 04e8 Sharp - 04dd Sony Ericsson - 0fce ZTE - 19D2 **NOTE: If you copy one of the lines mentioned above, make sure you replace the quotation marks with the ones in your keyboard, as these have different display code and it might give you a “no permissions” error. 13.Execute ##-android.rules: Code: sudo chmod a+rx /etc/udev/rules.d/70-android.rules 14.Reboot **To run ADB you need to add an environment variable to your bashrc file. 15.Open a terminal window and type: Code: sudo gedit .bashrc 16.Add the following line at the end of the page: Code: export PATH=$PATH:/home/grainier/android-sdk-linux_x86/Platform-tools 17.Save and close 18.To make sure everything works perfect, type adb devices in a terminal window with your phone plugged in. If you see a serial number pop up that means you are done. Should look something like this: List of devices attached HT99PHF***** device **If for some reasons when running adb devices gives you a “no permissions” error, try typing the following in terminal adb kill-server adb start-server 18.Finally open up Eclipse and Go to Window > Preferences. Select Android, and add the SDK Location: /home/*username*/android-sdk-linux_86 19.Click the Apply and then OK. **Everything is ready to go.. rest is up to you**
I hope you realize that Debian and Debian-derivatives aren't the only Linux based operating systems in the entire universe.
With Ubuntu's recent decision to no longer include Sun Java SDK in their repositories, this post needs an update. I've just completed an install of the Android Dev Environment following this guide, but as the Sun Java SDK has been removed from the Ubuntu Respositories, is installed the Open Java JKDK. It seems to work OK, although only time will tell as I do more Android development. To download and install the Open Java SKD on a variety of Linux distros follow the instructions appropriate to your Linux Distro on the following link (add dots to replace the spaces in the following address. Sorry as a new poster, I can't post external links.) openjdk java net
[SOLVED][Q]Adb + Ubuntu 12.04
Hi all, I'm new user of the One S. I want can run adb in ubuntu 12.04, but isn't work, i'm not root, rom stock after power on at the first time Code: sudo gedit /etc/udev/rules.d/[COLOR="Red"]70[/COLOR]-android.rules or sudo gedit /etc/udev/rules.d/[COLOR="Red"]51[/COLOR]-android.rules with this in Code: SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" i'm restart UDEV or Reboot computer and the result is same at any time Code: adb devices List of devices attached ???????????? no permissions Any one can help me?
SOLUCE Code: sudo gedit /etc/udev/rules.d/99-android.rules Code: SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cec", MODE="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cec" TEST=="/var/run/ConsoleKit/database", \ RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}" Code: sudo chmod a+rx /etc/udev/rules.d/99-android.rules Code: reboot Code: ~$ adb devices List of devices attached SH24SW405437 device s If this not work add Code: sudo gedit /.android/adb_usb.ini Code: 0bb4 Code: reboot
this worked for me This worked for me (Kubuntu 12.04): Type the following commands: Code: cd /etc/udev/rules.d/ Code: sudo vim 51-android.rules Press Code: i to edit, then paste the following text: SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4",ATTR{idProduct}=="0cba", MODE="0666" Click to expand... Click to collapse press Esc key, then Code: wq
m!k3 said: Hi all, I'm new user of the One S. I want can run adb in ubuntu 12.04, but isn't work, i'm not root, rom stock after power on at the first time Code: sudo gedit /etc/udev/rules.d/[COLOR="Red"]70[/COLOR]-android.rules or sudo gedit /etc/udev/rules.d/[COLOR="Red"]51[/COLOR]-android.rules with this in Code: SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" i'm restart UDEV or Reboot computer and the result is same at any time Code: adb devices List of devices attached ???????????? no permissions Any one can help me? Click to expand... Click to collapse Have you tried Knives-and-Forks Tools for linux user try with sudo <command>
adb works on Ubuntu 12.04LTS x1123 said: Have you tried Knives-and-Forks Tools for linux user try with sudo <command> Click to expand... Click to collapse On Ubuntu 12.04LTS step 1: use lsusb command to find out your devices's ID: lsusb Bus 003 Device 007: ID 18d1:d002 Google Inc. step2: add a line in the /etc/udev/rulers.d/xx-android.rules using the ID found in step 1. http://source.android.com/source/initializing.html Configuring USB Access Under GNU/linux systems (and specifically under Ubuntu systems), regular users can't directly access USB devices by default. The system needs to be configured to allow such access. The recommended approach is to create a file /etc/udev/rules.d/51-android.rules (as the root user) and to copy the following lines in it. <username> must be replaced by the actual username of the user who is authorized to access the phones over USB. # adb protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
[Q][SOLVED] SGH-T959V - Issue in Linux
Okay... I did a little searching through the google and through these forums, but I didn't really find anything that applies.. Sys Info: Ubuntu 12.04 I used the Heimdall One-Click method, which worked like magic. I've been running roms for the T959V ONLY, and only stick to those forums for ROMs. About Phone: (As listed by the Android OS) Model No. SGH-T959V Baseband Version: T959VUVKJ6 Kernel Version [email protected] #1 What my computer sees: $ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 002 Device 003: ID 413c:1005 Dell Computer Corp. Multimedia Pro Keyboard Hub Bus 002 Device 004: ID 413c:2011 Dell Computer Corp. Multimedia Pro Keyboard Bus 002 Device 005: ID 18d1:4e22 Google Inc. Nexus S (debug) This is causing the Heimdall One-Click to see my t959v as "Disconnected"... Any ideas? By the way, I've tried a few different distros of linux. Before running the Heimdall, I have installed Android SDK and Eclipse w/ADT Plugin....
FetalVivisection said: Okay... I did a little searching through the google and through these forums, but I didn't really find anything that applies.. Sys Info: Ubuntu 12.04 I used the Heimdall One-Click method, which worked like magic. I've been running roms for the T959V ONLY, and only stick to those forums for ROMs. About Phone: (As listed by the Android OS) Model No. SGH-T959V Baseband Version: T959VUVKJ6 Kernel Version [email protected] #1 What my computer sees: $ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 002 Device 003: ID 413c:1005 Dell Computer Corp. Multimedia Pro Keyboard Hub Bus 002 Device 004: ID 413c:2011 Dell Computer Corp. Multimedia Pro Keyboard Bus 002 Device 005: ID 18d1:4e22 Google Inc. Nexus S (debug) This is causing the Heimdall One-Click to see my t959v as "Disconnected"... Any ideas? By the way, I've tried a few different distros of linux. Before running the Heimdall, I have installed Android SDK and Eclipse w/ADT Plugin.... Click to expand... Click to collapse A lot of devices actually share the same device id (in this case the 4e22). I say just follow the directions and just use the vendor id to manage permissions (in this case 18d1 for samsung). http://developer.android.com/tools/device.html Download mode, charging mode, recovery, etc... can all have different usb Device IDs
bhundven said: A lot of devices actually share the same device id (in this case the 4e22). I say just follow the directions and just use the vendor id to manage permissions (in this case 18d1 for samsung). http://developer.android.com/tools/device.html Download mode, charging mode, recovery, etc... can all have different usb Device IDs Click to expand... Click to collapse Okay, since last we spoke, this is what I've done so far I flashed back over to CM9...issue persists. {When I figure this out, I will post if for the XDA World to see..} This is the only thing listed in etc/udev/rules.d/51-android.rules: SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<plugdev>" (I'm somewhat familiar with that page, and I did try what you suggested, by using 18d1, but this is my 4th go around.) SOMETHING CHANGED. The only ONE thing I can think of: I recently got a new computer that is AMD 64 and I'm running i386 OS. Potentially asinine, I know.. =============================================== $ lsusb -v idVendor 0x18d1 Google Inc. idProduct 0x4e22 Nexus S (debug) bcdDevice 2.27 iManufacturer 1 Samsung iProduct 2 Galaxy S 4G iSerial 3 0123456789ABCDEF =============================================== Heimdall STILL doesn't see it as connected when in Download Mode....
FetalVivisection said: Okay, since last we spoke, this is what I've done so far I flashed back over to CM9...issue persists. {When I figure this out, I will post if for the XDA World to see..} This is the only thing listed in etc/udev/rules.d/51-android.rules: SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<plugdev>" (I'm somewhat familiar with that page, and I did try what you suggested, by using 18d1, but this is my 4th go around.) SOMETHING CHANGED. The only ONE thing I can think of: I recently got a new computer that is AMD 64 and I'm running i386 OS. Potentially asinine, I know.. =============================================== $ lsusb -v idVendor 0x18d1 Google Inc. idProduct 0x4e22 Nexus S (debug) bcdDevice 2.27 iManufacturer 1 Samsung iProduct 2 Galaxy S 4G iSerial 3 0123456789ABCDEF =============================================== Heimdall STILL doesn't see it as connected when in Download Mode.... Click to expand... Click to collapse That wouldn't work, because 04e8 is not samsung's vendor id. 18d1 is samsung's vendor id. Also, there is no group called "<plugdev>", but there is a group called "plugdev". I'm saying: Change your udev entry to: Code: SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0660", OWNER="plugdev", GROUP="plugdev" Remove the usb device and run this: Code: sudo udevadm control --reload-rules Then plug in your device again. This will have you covered for any samsung device. If it still doesn't work, make sure you are in the plugdev group: Code: groups YOURUSERNAME If you don't see plugdev in there, add yourself to plugdev. Code: sudo adduser YOURUSERNAME plugdev Logout and login again. You should be golden.
bhundven said: That wouldn't work, because 04e8 is not samsung's vendor id. 18d1 is samsung's vendor id. Also, there is no group called "<plugdev>", but there is a group called "plugdev". I'm saying: Change your udev entry to: Code: SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0660", OWNER="plugdev", GROUP="plugdev" Remove the usb device and run this: Code: sudo udevadm control --reload-rules Then plug in your device again. This will have you covered for any samsung device. If it still doesn't work, make sure you are in the plugdev group: Code: groups YOURUSERNAME If you don't see plugdev in there, add yourself to plugdev. Code: sudo adduser YOURUSERNAME plugdev Logout and login again. You should be golden. Click to expand... Click to collapse Thank you. I did exactly as per your instructions, step-by-step. No errors. Everything did as I'd expect. No change, however. The problem is: If my computer is seeing my phone as a Nexus, I fear that the One-Click for the Galaxy S 4G will not work. I've tried multiple ports, but always the same. (( With the phone in download mode, it's not listed in lsusb AT ALL; but if it is booted into Recovery or Android OS, it's at least detected as a Nexus.....)) What better ROM to be stuck with than a Cyanogenmod ROM?!
bhundven said: That wouldn't work, because 04e8 is not samsung's vendor id. 18d1 is samsung's vendor id. Click to expand... Click to collapse Well, I took another stab at this today. Actually 18d1 is the Google vendor ID according to that link (http://developer.android.com/tools/device.html) and the Samsung is 04e8. This has to be, because I've done it several times with this phone and have added that sequence to udev on quite a few occassions. Before all of this began lsusb would, in fact show the correct "ID 04e8 - Samsung Electronics, Inc." I think I'll keep stabbing away at udev until something breaks or I find the solution. Thank you.
FetalVivisection said: Well, I took another stab at this today. Actually 18d1 is the Google vendor ID according to that link (http://developer.android.com/tools/device.html) and the Samsung is 04e8. This has to be, because I've done it several times with this phone and have added that sequence to udev on quite a few occassions. Before all of this began lsusb would, in fact show the correct "ID 04e8 - Samsung Electronics, Inc." I think I'll keep stabbing away at udev until something breaks or I find the solution. Thank you. Click to expand... Click to collapse I stand corrected on the vendor ids. My bad! FetalVivisection said: $ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 002 Device 003: ID 413c:1005 Dell Computer Corp. Multimedia Pro Keyboard Hub Bus 002 Device 004: ID 413c:2011 Dell Computer Corp. Multimedia Pro Keyboard Bus 002 Device 005: ID 18d1:4e22 Google Inc. Nexus S (debug) Click to expand... Click to collapse When I'm in download mode, I see: Code: [email protected]:~$ lsusb -s 001:005 Bus 001 Device 005: ID 04e8:6601 Samsung Electronics Co., Ltd Mobile Phone I'm wondering if you either have Froyo bootloaders, or you flashed the UVKF1 bootloaders from AdamOutler's OneClick? This is what is in my /etc/udev/rules.d/51-android.rules file: Code: # adb protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="bryan" # fastboot protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="bryan" # adb protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="bryan" # fastboot protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="bryan" # adb protocol on stingray/wingray (Xoom) SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="bryan" # fastboot protocol on stingray/wingray (Xoom) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="bryan" # adb protocol on maguro/toro (Galaxy Nexus) SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="bryan" # fastboot protocol on maguro/toro (Galaxy Nexus) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="bryan" # adb protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="bryan" # fastboot protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="bryan" # usbboot protocol on panda (PandaBoard) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="bryan" # usbboot protocol on panda (PandaBoard ES) SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="bryan" # adb protocol on grouper (Nexus 7) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="bryan" # fastboot protocol on grouper (Nexus 7) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="bryan" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0600", OWNER="bryan" I set the OWNER to my username, bryan. As I'm the only one using this laptop. Try just using what I have, granted using your username instead of mine, then do the reload rules with udevadm again.
bhundven said: I'm wondering if you either have Froyo bootloaders, or you flashed the UVKF1 bootloaders from AdamOutler's OneClick? Click to expand... Click to collapse Here are the only two files I ever really flash http://forum.xda-developers.com/showthread.php?t=1358498. The only one I most recently flashed bootloaders for was the " AntonX-Basic_with_a_twist-v1.1.0-OC_UV.jar ". I flash the stock rom first, boot into Android, reboot into DL Mode, then flash the AntonX kernel, let it boot into Android, then reboot back into download mode and flash Bootloaders. .... which has worked plenty of times before. (I only wonder if I'm over-doing it..) How would I go about finding what bootloader(s) are currently active or in use? Wouldn't that be ./adb reboot bootloader? (By the way, I did what you said, completely replacing mine with yours, appending octopus as the owner, save&exit, then sudo udevadm control --reload-rules ...no change.)
EDIT: I FIGURED IT OUT!!!!!!!! I thought about it...what is it that interfaces with the computer? Mass Storage. I went into Clockworkmod and formatted the sdcard. VICTORY! "Bus 002 Device 021: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica/S" HOWEVER.......... now the plot thickens. I'm unable to get out of recovery. IN recovery, I can adb devices and my phone is listed. Rebooting to download mode... Devices is BLANK. SO... now it won't boot into any OS. ALSO, booting into the one-click, my device consistently shows as disconnected. I've tried different ports. When I put a ROM onto my sdcard and try to flash, I get the following error: E:Can't open /cache/recovery/last_log ------------------------- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse Bus 002 Device 003: ID 413c:1005 Dell Computer Corp. Multimedia Pro Keyboard Hub Bus 002 Device 004: ID 413c:2011 Dell Computer Corp. Multimedia Pro Keyboard [email protected]:~/Android/sdk/platform-tools$ ./adb devices List of devices attached (From adb I put it into download mode, then lsusb again.... nothing. ./adb devices....blank.
FetalVivisection said: EDIT: I FIGURED IT OUT!!!!!!!! Click to expand... Click to collapse We can mark this one closed. I thought I checked the "Question" box...but I don't see a way to mark it resolved. (Bad cable and Bad SDCARD)
Yay! Edit title of thread.. Cool, glad you figured it out. Sent from my SGH-T959V
FetalVivisection said: We can mark this one closed. I thought I checked the "Question" box...but I don't see a way to mark it resolved. (Bad cable and Bad SDCARD) Click to expand... Click to collapse Edit your original post - go to advanced edit and add SOLVED to the thread title.
HTC ONE XL an ADB problems under Ubuntu 12.04
Hi, i've got a problem with my One XL during the correct installation of adb on my Unbuntu 12.04 system. When I start my phone in recovery mode adb detects my phone correct: [email protected]:~$ adb devices List of devices attached HT29MW304980 recovery Click to expand... Click to collapse But when I start my phone in the normal way adb doesn't detect it and the list of attached devices ist empty: [email protected]:~$ adb devices List of devices attached [email protected]:~$ lsusb Bus 001 Device 002: ID 1c7a:0801 LighTuning Technology Inc. Fingerprint Reader Bus 002 Device 042: ID 0bb4:0f91 HTC (High Tech Computer Corp.) Bus 002 Device 003: ID 064e:a117 Suyin Corp. Bus 003 Device 002: ID 0a5c:2101 Broadcom Corp. BCM2045 Bluetooth Bus 004 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Click to expand... Click to collapse 99-andrid.rules looks like this: #Acer SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666" #Dell SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666" #Foxconn SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666" #Garmin-Asus SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666" #Google SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666" #HTC SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" #Huawei SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666" #Kyocera SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666" #LG SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666" #Motorola SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666" #Nvidia SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666" #Pantech SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666" #Samsung SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666" #Sharp SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666" #Sony Ericsson SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666" #ZTE SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666" Click to expand... Click to collapse Can anybody help me with this?
weltenspalter said: Hi, i've got a problem with my One XL during the correct installation of adb on my Unbuntu 12.04 system. When I start my phone in recovery mode adb detects my phone correct: But when I start my phone in the normal way adb doesn't detect it and the list of attached devices ist empty: 99-andrid.rules looks like this: Can anybody help me with this? Click to expand... Click to collapse go into the settings -> developer options and ensure android debugging is turned on.
codeprimate said: go into the settings -> developer options and ensure android debugging is turned on. Click to expand... Click to collapse thx but android debugging is still turned on! so that cannot be the reason. Another suggestion?
weltenspalter said: thx but android debugging is still turned on! so that cannot be the reason. Another suggestion? Click to expand... Click to collapse sudo adb start-server
weltenspalter said: Hi, i've got a problem with my One XL during the correct installation of adb on my Unbuntu 12.04 system. When I start my phone in recovery mode adb detects my phone correct: But when I start my phone in the normal way adb doesn't detect it and the list of attached devices ist empty: 99-andrid.rules looks like this: Can anybody help me with this? Click to expand... Click to collapse I had a similar problem after loading a rom that had usb debug checked by default. I unchecked it and rechecked it in the developer options and it fixed it for me. Not sure if its the same issue but worth a try.
Thats it. Now it works for me. THX Sent from my MB632 using xda app-developers app
weltenspalter said: Thats it. Now it works for me. THX Click to expand... Click to collapse FWIW... this worked for me too... just had to uncheck then recheck "USB Debugging" in the "Developer Options" screen and it started working Code: $ adb devices List of devices attached HT2BDW300592 device $ cat /etc/udev/rules.d/99-android.rules SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.1 LTS Release: 12.04 Codename: precise $ adb shell [email protected]:/ # cat /system/build.prop | grep product | grep -i ev ro.product.model=HTC EVARE_UL ro.product.model=EvitareUL ro.product.name=evitareul ro.product.device=evitareul # ro.build.product is obsolete; use ro.product.device ro.build.product=evitareul
[GUIDE] [LINUX] Installing ADB and Fastboot on Linux & Device Detection "Drivers"
[GUIDE] [LINUX] Installing ADB and Fastboot on Linux & Device Detection "Drivers" Installing ADB and Fastboot on Linux & ADB Drivers Tutorial For Debian-based distributions (Debian Ubuntu Mint etc.) Installing ADB CLI tool ( Android Debug Bridge Command Line Interface Tool ) Installing ADB Drivers / Android Device Detection - Accurate as of June 03, 2019Reason for updated guide : Obsolete tutorials everywhere and info scattered, some are just for adb and others just for the drivers. Before you begin be sure that you have set your Android Device to enable USB Debugging. The steps are different for every device. Google how to turn it on your specific device. Google "Enable USB Debugging <device model>" Once you have enabled USB Debugging you can follow the instructions below: NOTE: the following APT-GET has been superseded by APT. Some Linux distributions will allow the usage of both still. Also keep in mind your Linux repositories must be up to date for the following commands to work, if you get a repository or file not found message you will probably need to fix your repos to allow the downloading of FOSS (called universe in some distros) as well as allow distro Updates. Debian and Ubuntu users can refer to this for a quick reference for their proper repos https://debgen.simplylinux.ch/ Open "TERMINAL" and do the follow: Installs android tools and fastboot: Code: sudo apt-get update Code: sudo apt-get install android-tools-adb android-tools-fastboot The following commands may give you some messages about the packages not being installed because you have a newer version or the dependencies are no longer need. this is OK just ignore the message and continue to the next command, i left in the commands for those running legacy systems. Installs 32 Bit Compatibility libraries for 64-Bit Systems Code: sudo apt-get install ia32-libs Packages needed for Ubuntu 13+ Updated 32-Bit Libraries Code: sudo dpkg --add-architecture i386 Code: sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 By now you Linux installation already has ADB and Drivers install but now you need to configure it to detect the Various different types of Hardware Vendor ID's. So do the following: Create or Open the rules for 51-android.rules Code: sudo gedit /etc/udev/rules.d/51-android.rules If this is the first time you have added any udev rules the file will be empty as gedit will have just created it for you. Go ahead and add in the following. If you already had 51-android.rules it will open it. With 51-android.rules open just insert the following Vendor ID's" for your linux distro to be able to detect the device in adb Code: # udev rule to detect android devices # These rules refer to http://developer.android.com/tools/device.html # Acer SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev" # Archos SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0666", GROUP="plugdev" # Asus SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev" # Azpen Onda SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", MODE="0666", GROUP="plugdev" # BQ SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev" # Dell SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev" # Fairphone SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", MODE="0666", GROUP="plugdev" # Foxconn SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev" # Fujitsu Toshiba SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev" # Garmin-Asus SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev" # Google SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" # Haier SUBSYSTEM=="usb", ATTR{idVendor}=="201e", MODE="0666", GROUP="plugdev" # Hisense SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", GROUP="plugdev" # HTC, Wiko SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" # Huawei SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev" # Intel SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", GROUP="plugdev" # K-Touch SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev" # KT Tech SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev" # Kyocera SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev" # Lab126 SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0666", GROUP="plugdev" # Lenovo SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev" # LG SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev" # Meizu SUBSYSTEM=="usb", ATTR{idVendor}=="2a45", MODE="0666", GROUP="plugdev" # Micromax SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev" # Motorola SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev" # MTK SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", GROUP="plugdev" # NEC SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev" # Nook SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev" # Nvidia SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev" # OnePlus Two (unknown vendor's name) SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="plugdev" # Oppo SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0666", GROUP="plugdev" # OTGV SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev" # Pantech SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev" # Pegatron SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev" # Philips SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev" # PMC-Sierra SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev" # Qualcomm SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" # Rockcwell Electronics SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev" # SK Telesys SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev" # Samsung SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev" # Sharp SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev" # Sony SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev" # Sony Ericsson SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev" # Spreadtrum SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev" # T & A Mobile Phones SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", MODE="0666", GROUP="plugdev" # Teleepoch SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev" # Texas Instruments UsbBoot SUBSYSTEM=="usb", ATTR{idVendor}=="0451", MODE="0666", GROUP="plugdev" # Toshiba SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev" # Wearners SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" # Wileyfox SUBSYSTEM=="usb", ATTR{idVendor}=="2970", MODE="0666", GROUP="plugdev" # XiaoMi SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev" # YU SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev" # Zebra SUBSYSTEM=="usb", ATTR{idVendor}=="05e0", MODE="0666", GROUP="plugdev" # ZTE SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev" # ZUK SUBSYSTEM=="usb", ATTR{idVendor}=="2b4c", MODE="0666", GROUP="plugdev" Save and exit when done editing. Change the permission of this file by executing the following command as root: Code: chmod a+r /etc/udev/rules.d/51-android.rules Reload the rules by executing the following command as root: Code: udevadm control --reload-rules Add in the user group "plugdev" for the rules we just created. Code: sudo addgroup --system plugdev And add your username to that group. Replace <username> with your primary username that will use ADB without the <> around it. Code: sudo adduser <username> plugdev #Other examples: #sudo adduser JohnDoe plugdev #sudo adduser JaneDoe plugdev #sudo adduser BillyBob plugdev So in these examples JohnDoe,JaneDoe, and BillyBob were added to group "plugdev" to be able to use adb FINALLY ADB IS READY AND GOOD TO USE! Code: adb kill-server Code: adb start-server Code: adb devices NOTE: I know you can add the vendor ID's with no group such as SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666" (No UserGoup) and use it as a shortcut to bypass the user groups, however as per Google's instructions it is reccommended to make a user group, the reason may be for extra security and to avoid possible vulnerabilities. NOTE: If you get the following error: * daemon started successfully * error: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device. This means you have adb properly installed, u just have to authorize access to your android device from your android device, once you run the "adb your-command-here" you will IMMEDIATELY see the following popup and must choose "OK" { "lightbox_close": "Close", "lightbox_next": "Next", "lightbox_previous": "Previous", "lightbox_error": "The requested content cannot be loaded. Please try again later.", "lightbox_start_slideshow": "Start slideshow", "lightbox_stop_slideshow": "Stop slideshow", "lightbox_full_screen": "Full screen", "lightbox_thumbnails": "Thumbnails", "lightbox_download": "Download", "lightbox_share": "Share", "lightbox_zoom": "Zoom", "lightbox_new_window": "New window", "lightbox_toggle_sidebar": "Toggle sidebar" } Authorizing must be done with EVERY new android device you connect once your run the ADB COMMAND. keywords: linux debian ubuntu drivers driver android kindle fire tv stick firestick debugging debug samsung lg xiaomi amazon guide tutorial setup learn how to install adb usb cable detect hardware
Works great on Linux Mint 18.1 Cinnamon 64bit. Thanks.
Thanks Much Required only slight modification to work on Kali rolling 2017.1 thankx
Hello, it doesn't work for me. I have the Galaxy S7 Exynos. USB debugging works under Windows. Linux (Debian Jessy, 4.3.0-0.bpo.1-amd64 #1 SMP Debian 4.3.5-1~bpo8+1 (2016-02-23) x86_64) recognizes the phone: ~lsusb Bus 001 Device 003: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] Click to expand... Click to collapse [Thu Oct 12 22:06:58 2017] usb 1-7: new high-speed USB device number 4 using xhci_hcd [Thu Oct 12 22:06:58 2017] usb 1-7: New USB device found, idVendor=04e8, idProduct=6860 [Thu Oct 12 22:06:58 2017] usb 1-7: New USB device strings: Mfr=2, Product=3, SerialNumber=4 [Thu Oct 12 22:06:58 2017] usb 1-7: Product: SAMSUNG_Android [Thu Oct 12 22:06:58 2017] usb 1-7: Manufacturer: SAMSUNG [Thu Oct 12 22:06:58 2017] usb 1-7: SerialNumber: ce77760b22234d4002 [Thu Oct 12 22:06:58 2017] cdc_acm 1-7:1.1: ttyACM0: USB ACM device [Thu Oct 12 22:06:58 2017] usbcore: registered new interface driver cdc_acm [Thu Oct 12 22:06:58 2017] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters Click to expand... Click to collapse /etc/udev/rules.d/51-android.rules contains # Samsung SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev" Click to expand... Click to collapse My user account is in plugdev group. But still, "adb devices" only shows an empty "List of devices attached" list. What can I do?? I installed the "android-tools-adb" package. My phone shows this message (see attachment)
cybtrash said: Hello, it doesn't work for me. Click to expand... Click to collapse same here, guide NOT for debian users since repository packages outdated?
maybe you need the new ATTR{idVendor}== for the newer devices, google used to have it located at https://developer.android.com/studio/run/device.html but seems like they moved it, i tried to find it but couldnt, maybe if you search around better luck than me and you will find it.
Don't work for me. Ixion E140, Ubuntu 16.04.
Android Studio John-VEG said: .. Click to expand... Click to collapse try directly with official tools
My SC7731 phone is not recognized by regular ADB on Ubuntu. How can https://developer.android.com/studio/releases/platform-tools help the situation?
John-VEG said: My SC7731 phone is not recognized by regular ADB on Ubuntu. How can https://developer.android.com/studio/releases/platform-tools help the situation? Click to expand... Click to collapse make sure you are using a good USB cable, not all USB cables are made the same and some have the wiring different, if you arent sure then connect it to a windows PC using the SAME USB cable and see if its detected, if it is then proceed with the instructions below: this site will help you colect info on your usb device and right the rules for it http://weininger.net/how-to-write-udev-rules-for-usb-devices.html
XeoNoX said: make sure you are using a good USB cable, not all USB cables are made the same and some have the wiring different, if you arent sure then connect it to a windows PC using the SAME USB cable and see if its detected, if it is then proceed with the instructions below: this site will help you colect info on your usb device and right the rules for it http://weininger.net/how-to-write-udev-rules-for-usb-devices.html Click to expand... Click to collapse I just had to Code: wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip Code: unzip \platform-tools-latest-linux.zip Code: sudo cp platform-tools/adb /usr/bin/adb :victory:
im stuck at the end part, how do I reinstall the rules as root? I dont know how to run a command as root so I cant get passed this part if u have a sec to help me out id greatly apprec it, im running the same os
Thank you so much, that's amazing, ¡the button is not enough!
U rock! Was getting so frustrated, thanks so much for the help!
Mr.S8v8n said: im stuck at the end part, how do I reinstall the rules as root? I dont know how to run a command as root so I cant get passed this part if u have a sec to help me out id greatly apprec it, im running the same os Click to expand... Click to collapse type "su" or "sudo" from the terminal/console, this give you temporary root/admin privileges until it times out or you close the terminal window
nbah07 said: same here, guide NOT for debian users since repository packages outdated? Click to expand... Click to collapse some of the packages werent needed on newer distros, i updated the guide and removed the older repo. newer distros include the adb package by default without having to add a repo.
Must it be call "plugdev" ? I ask that bc in Mint 20 "plugdev" is already a group but not a system group. I was going to change the group name to something else but I don't know if its formatted "plugdev" in adb or else where. I'm very new to this so, I apologize if this a simple fix that I just can't figure. Any help or suggestions are obviously greatly appreciated ! Thanks The only member of the group is "usbmux m". ISo, I'm assuming its some protection with usb mounting ? I guess it doesn't matter ? Or is that more for a developer ? Or more modern phone ? I was putting LOS on a moto g4. I wanted to say thank you for taking the time and share that with us. If I can install this, then anyone can !! I truly appreciate !!!
XeoNoX said: Installing ADB and Fastboot on Linux & ADB Drivers Tutorial For Debian-based distributions (Debian Ubuntu Mint etc.) Installing ADB CLI tool ( Android Debug Bridge Command Line Interface Tool ) Installing ADB Drivers / Android Device Detection - Accurate as of June 03, 2019Reason for updated guide : Obsolete tutorials everywhere and info scattered, some are just for adb and others just for the drivers. Before you begin be sure that you have set your Android Device to enable USB Debugging. The steps are different for every device. Google how to turn it on your specific device. Google "Enable USB Debugging <device model>" Once you have enabled USB Debugging you can follow the instructions below: NOTE: the following APT-GET has been superseded by APT. Some Linux distributions will allow the usage of both still. Also keep in mind your Linux repositories must be up to date for the following commands to work, if you get a repository or file not found message you will probably need to fix your repos to allow the downloading of FOSS (called universe in some distros) as well as allow distro Updates. Debian and Ubuntu users can refer to this for a quick reference for their proper repos https://debgen.simplylinux.ch/ Open "TERMINAL" and do the follow: Installs android tools and fastboot: Code: sudo apt-get update Code: sudo apt-get install android-tools-adb android-tools-fastboot The following commands may give you some messages about the packages not being installed because you have a newer version or the dependencies are no longer need. this is OK just ignore the message and continue to the next command, i left in the commands for those running legacy systems. Installs 32 Bit Compatibility libraries for 64-Bit Systems Code: sudo apt-get install ia32-libs Packages needed for Ubuntu 13+ Updated 32-Bit Libraries Code: sudo dpkg --add-architecture i386 Code: sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 By now you Linux installation already has ADB and Drivers install but now you need to configure it to detect the Various different types of Hardware Vendor ID's. So do the following: Create or Open the rules for 51-android.rules Code: sudo gedit /etc/udev/rules.d/51-android.rules If this is the first time you have added any udev rules the file will be empty as gedit will have just created it for you. Go ahead and add in the following. If you already had 51-android.rules it will open it. With 51-android.rules open just insert the following Vendor ID's" for your linux distro to be able to detect the device in adb Code: # udev rule to detect android devices # These rules refer to http://developer.android.com/tools/device.html # Acer SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev" # Archos SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0666", GROUP="plugdev" # Asus SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev" # Azpen Onda SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", MODE="0666", GROUP="plugdev" # BQ SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev" # Dell SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev" # Fairphone SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", MODE="0666", GROUP="plugdev" # Foxconn SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev" # Fujitsu Toshiba SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev" # Garmin-Asus SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev" # Google SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" # Haier SUBSYSTEM=="usb", ATTR{idVendor}=="201e", MODE="0666", GROUP="plugdev" # Hisense SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", GROUP="plugdev" # HTC, Wiko SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" # Huawei SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev" # Intel SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", GROUP="plugdev" # K-Touch SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev" # KT Tech SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev" # Kyocera SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev" # Lab126 SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0666", GROUP="plugdev" # Lenovo SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev" # LG SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev" # Meizu SUBSYSTEM=="usb", ATTR{idVendor}=="2a45", MODE="0666", GROUP="plugdev" # Micromax SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev" # Motorola SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev" # MTK SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", GROUP="plugdev" # NEC SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev" # Nook SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev" # Nvidia SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev" # OnePlus Two (unknown vendor's name) SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="plugdev" # Oppo SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0666", GROUP="plugdev" # OTGV SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev" # Pantech SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev" # Pegatron SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev" # Philips SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev" # PMC-Sierra SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev" # Qualcomm SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" # Rockcwell Electronics SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev" # SK Telesys SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev" # Samsung SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev" # Sharp SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev" # Sony SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev" # Sony Ericsson SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev" # Spreadtrum SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev" # T & A Mobile Phones SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", MODE="0666", GROUP="plugdev" # Teleepoch SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev" # Texas Instruments UsbBoot SUBSYSTEM=="usb", ATTR{idVendor}=="0451", MODE="0666", GROUP="plugdev" # Toshiba SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev" # Wearners SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" # Wileyfox SUBSYSTEM=="usb", ATTR{idVendor}=="2970", MODE="0666", GROUP="plugdev" # XiaoMi SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev" # YU SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev" # Zebra SUBSYSTEM=="usb", ATTR{idVendor}=="05e0", MODE="0666", GROUP="plugdev" # ZTE SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev" # ZUK SUBSYSTEM=="usb", ATTR{idVendor}=="2b4c", MODE="0666", GROUP="plugdev" Save and exit when done editing. Change the permission of this file by executing the following command as root: Code: chmod a+r /etc/udev/rules.d/51-android.rules Reload the rules by executing the following command as root: Code: udevadm control --reload-rules Add in the user group "plugdev" for the rules we just created. Code: sudo addgroup --system plugdev And add your username to that group. Replace <username> with your primary username that will use ADB without the <> around it. Code: sudo adduser <username> plugdev #Other examples: #sudo adduser JohnDoe plugdev #sudo adduser JaneDoe plugdev #sudo adduser BillyBob plugdev So in these examples JohnDoe,JaneDoe, and BillyBob were added to group "plugdev" to be able to use adb FINALLY ADB IS READY AND GOOD TO USE! Code: adb kill-server Code: adb start-server Code: adb devices NOTE: I know you can add the vendor ID's with no group such as SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666" (No UserGoup) and use it as a shortcut to bypass the user groups, however as per Google's instructions it is reccommended to make a user group, the reason may be for extra security and to avoid possible vulnerabilities. NOTE: If you get the following error: * daemon started successfully * error: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device. This means you have adb properly installed, u just have to authorize access to your android device from your android device, once you run the "adb your-command-here" you will IMMEDIATELY see the following popup and must choose "OK" Authorizing must be done with EVERY new android device you connect once your run the ADB COMMAND. keywords: linux debian ubuntu drivers driver android kindle fire tv stick firestick debugging debug samsung lg xiaomi amazon guide tutorial setup learn how to install adb usb cable detect hardware Click to expand... Click to collapse and what about debian??
Hmm
Works great on Linux Mint 20.1 xfce 64bit. Thank you very much.