Ubuntu No devices permission

Search This thread

charkosh

Senior Member
Sep 21, 2009
77
0
How do I fix this issue?
I am a linux n00bie

giovanni@giovanni-laptop:~$ adb devices
List of devices attached
???????????? no permissions
 

rotohammer

Senior Member
Jan 2, 2007
1,386
1,066
New Jersey
You need to create a file named

/etc/udev/rules.d/51-android.rules

containing the line:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

you need to be root to create the file, use

sudo -s

to become root, then

gedit /etc/udev/rules.d/51-android.rules

will open the new file for editing.

You'll have to reboot when done.
 
  • Like
Reactions: rapastor and dcsms

charkosh

Senior Member
Sep 21, 2009
77
0
Thank you for your help and please excuse my ignorance in linux.
I just installed ubuntu today :)

The above didn't seem to work after a reboot.
I did successfully create the file however.

Any ideas?

Thanks.
 
Last edited:

DEEsx1

New member
Aug 25, 2009
2
0
There is another Vendor id for NexusOne. "0bb4" is not for Nexus but G1:

Working record for Nexus is:

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
 
Last edited:
As stated by DEEsx1 the following is correct:

Code:
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"

However, it has been a mystery as to why the following location/file does not work for everyone:

Code:
/etc/udev/rules.d/51-android.rules

I am running Ubuntu 9.10 on my laptop with nothing special, just a straight load. the 51-android.rules code did not work for me.

I searched around on a few linux/android forums and found that some people had luck with creating the following file:

Code:
/etc/udev/rules.d/90-android.rules

However, that did not work for me. I had to create the following file:

Code:
/etc/udev/rules.d/99-android.rules

Now, if you are still getting the error, you don't need to reboot, you just need to restart udev:

Code:
sudo /etc/init.d/udev restart

You may also need to restart the adb daemon:

Code:
adb kill-server
adb start-server
adb devices

Now, worse case that I have seen, make sure the phone is not plugged into the computer, reboot the system AND the phone then try again (I have only seen this once).

Hope these tips help!
 
  • Like
Reactions: petavalentin

charkosh

Senior Member
Sep 21, 2009
77
0
Yay! it worked. Thanks for your help.

Just out of curiosity how in the hell would I have otherwise known to create a file with a seemingly random name in a random folder?

and why 51-android.rules? why not 1-android or 5000000-android?

What's the logic there?

thanks again
 

rotohammer

Senior Member
Jan 2, 2007
1,386
1,066
New Jersey
Just out of curiosity how in the hell would I have otherwise known to create a file with a seemingly random name in a random folder?

Welcome to Linux! :)

Actually, the more you use it, you'll find that you'll pickup these bits along the way, just like this.

and why 51-android.rules? why not 1-android or 5000000-android?

The files are processed in order of their name so 51-xxx is mid-way through, 99-xx is at the tail end of the processing order. Sometimes, the order is important.

Also, after posting the wrong info to you earlier, I deleted the entry I posted. But, it turns out, the Nexus one poses as both id numbers. While in Android its VendorId=18d1, but in the bootloader (waiting in fastboot usb), the VendorId=0bb4.

So, I put both lines in one file today and all is well again.

I.e:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

and I changed my filename to 99-android.rules

then ran:
sudo restart udev

and now I can access the phone as a non root user again, either from adb or fastboot-linux.
 

djn541

Senior Member
Oct 2, 2009
1,359
1,761
52
Aurora, Co
fitsnugly.euroskank.com
Welcome to Linux! :)

Actually, the more you use it, you'll find that you'll pickup these bits along the way, just like this.



The files are processed in order of their name so 51-xxx is mid-way through, 99-xx is at the tail end of the processing order. Sometimes, the order is important.

Also, after posting the wrong info to you earlier, I deleted the entry I posted. But, it turns out, the Nexus one poses as both id numbers. While in Android its VendorId=18d1, but in the bootloader (waiting in fastboot usb), the VendorId=0bb4.

So, I put both lines in one file today and all is well again.

I.e:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

and I changed my filename to 99-android.rules

then ran:
sudo restart udev

and now I can access the phone as a non root user again, either from adb or fastboot-linux.

Thanks for this! You're a life saver. Actually a hair saver, I get to quit pulling mine out now!:D
 

mattb3

Senior Member
Aug 19, 2009
122
19
I am definitely glad you posted about the differing device id when using the bootloader. That little detail kicked my butt for about an hour before I figured out what was going on. In Ubuntu (and probably other distros) there is a command line utility called lsusb, that gives you the nitty-gritty details about all the connected usb devices, including the device id. Just in case anyone stumbles across this thread for some yet unreleased android phone.

Welcome to Linux! :)

Actually, the more you use it, you'll find that you'll pickup these bits along the way, just like this.



The files are processed in order of their name so 51-xxx is mid-way through, 99-xx is at the tail end of the processing order. Sometimes, the order is important.

Also, after posting the wrong info to you earlier, I deleted the entry I posted. But, it turns out, the Nexus one poses as both id numbers. While in Android its VendorId=18d1, but in the bootloader (waiting in fastboot usb), the VendorId=0bb4.

So, I put both lines in one file today and all is well again.

I.e:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

and I changed my filename to 99-android.rules

then ran:
sudo restart udev

and now I can access the phone as a non root user again, either from adb or fastboot-linux.
 

bherrmann7

New member
Dec 9, 2008
1
0
Samsung Vibrant

Thanks adding the file allowed me to remote debug my samsung vibrant on Ubuntu 10.4 - Many thanks!
 

tarak.ms

New member
Mar 4, 2011
1
0
Unable to see the Galaxy S on Ubuntu after above steps

I am definitely glad you posted about the differing device id when using the bootloader. That little detail kicked my butt for about an hour before I figured out what was going on. In Ubuntu (and probably other distros) there is a command line utility called lsusb, that gives you the nitty-gritty details about all the connected usb devices, including the device id. Just in case anyone stumbles across this thread for some yet unreleased android phone.

I have followed each of the steps mentioned above. adb devices gives the below response
List of devices attached
????????????? no permissions
 

mubumba

New member
Dec 3, 2010
1
0
You need to create a file named

/etc/udev/rules.d/51-android.rules

containing the line:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

you need to be root to create the file, use

sudo -s

to become root, then

gedit /etc/udev/rules.d/51-android.rules

will open the new file for editing.

You'll have to reboot when done.

It's not closely necessary reboot. You can try following this steps:
1. Unplug your smarthone from USB
2. Run this command: sudo restart udev
3. Plug your smartphone to USB
 

mr_raider

Senior Member
Jan 4, 2008
151
0
Montreal
These permission issues were driving me nuts. I finally just decided to run adb as root user:
Code:
sudo adb kill-server
sudo adb start-server
sudo adb devices
 

rmtah

New member
Apr 14, 2011
1
0
These steps works fine with a motorola dext (with the right Id). Thank you so much :)
 

-yasser-

Member
Jul 22, 2008
36
1
Nador
yasserdownloads.webobo.biz
Fixed

You need to create a file named

/etc/udev/rules.d/51-android.rules

containing the line:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

you need to be root to create the file, use

sudo -s

to become root, then

gedit /etc/udev/rules.d/51-android.rules

will open the new file for editing.

You'll have to reboot when done.

Thanks ! Had the same problem ..
Worked Fine on Ubuntu (Virtual Machine) using HTC Desire.
With the same idVendor -as it's the right one for Bravo-
^^
 

mfaughn

New member
Oct 20, 2011
1
0
+1 on having to:
sudo ./adb kill-server
sudo ./adb start-server

The most complete set of directions in this thread boil down to (read thread for details):

Put both of the vendor ID lines in 99-android.rules
unplug
restart udev
kill and restart adb server as root
plug in
./adb devices
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    You need to create a file named

    /etc/udev/rules.d/51-android.rules

    containing the line:

    SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

    you need to be root to create the file, use

    sudo -s

    to become root, then

    gedit /etc/udev/rules.d/51-android.rules

    will open the new file for editing.

    You'll have to reboot when done.
    1
    As stated by DEEsx1 the following is correct:

    Code:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"

    However, it has been a mystery as to why the following location/file does not work for everyone:

    Code:
    /etc/udev/rules.d/51-android.rules

    I am running Ubuntu 9.10 on my laptop with nothing special, just a straight load. the 51-android.rules code did not work for me.

    I searched around on a few linux/android forums and found that some people had luck with creating the following file:

    Code:
    /etc/udev/rules.d/90-android.rules

    However, that did not work for me. I had to create the following file:

    Code:
    /etc/udev/rules.d/99-android.rules

    Now, if you are still getting the error, you don't need to reboot, you just need to restart udev:

    Code:
    sudo /etc/init.d/udev restart

    You may also need to restart the adb daemon:

    Code:
    adb kill-server
    adb start-server
    adb devices

    Now, worse case that I have seen, make sure the phone is not plugged into the computer, reboot the system AND the phone then try again (I have only seen this once).

    Hope these tips help!