[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.rules​3. 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.rules​3. 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, 2019​Reason 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, 2019​Reason 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.

Categories

Resources