FORUMS

Analysis & Opinion

Top Forum Discussions

Ubuntu No devices permission

77 posts
Thanks Meter: 0
 
By charkosh, Member on 1st March 2010, 04:28 AM
Post Reply Subscribe to Thread Email Thread
How do I fix this issue?
I am a linux n00bie

giovanni@giovanni-laptop:~$ adb devices
List of devices attached
???????????? no permissions
 
 
1st March 2010, 04:37 AM |#2  
rotohammer's Avatar
Senior Member
Flag New Jersey
Thanks Meter: 1,067
 
More
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.
The Following 2 Users Say Thank You to rotohammer For This Useful Post: [ View ]
1st March 2010, 04:49 AM |#3  
OP Member
Thanks Meter: 0
 
More
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 by charkosh; 1st March 2010 at 05:14 AM.
1st March 2010, 11:15 AM |#4  
Junior Member
Thanks Meter: 0
 
More
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 by DEEsx1; 1st March 2010 at 11:21 AM.
1st March 2010, 04:09 PM |#5  
Talderon's Avatar
Senior Member
Flag Seattle
Thanks Meter: 120
 
Donate to Me
More
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!
The Following User Says Thank You to Talderon For This Useful Post: [ View ]
1st March 2010, 04:23 PM |#6  
rotohammer's Avatar
Senior Member
Flag New Jersey
Thanks Meter: 1,067
 
More
Quote:
Originally Posted by DEEsx1

There is another Vendor id for NexusOne. "0bb4" is not for Nexus but G1:

You are correct, I didn't realize I had two udev files and I opened the wrong one.
1st March 2010, 05:41 PM |#7  
OP Member
Thanks Meter: 0
 
More
thanks for your help! I'll try this out when I get home.
2nd March 2010, 06:34 AM |#8  
OP Member
Thanks Meter: 0
 
More
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
2nd March 2010, 04:53 PM |#9  
rotohammer's Avatar
Senior Member
Flag New Jersey
Thanks Meter: 1,067
 
More
Quote:
Originally Posted by charkosh

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.

Quote:
Originally Posted by charkosh

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.
1st May 2010, 09:37 PM |#10  
djn541's Avatar
Senior Member
Flag Aurora, Co
Thanks Meter: 1,811
 
Donate to Me
More
Quote:
Originally Posted by rotohammer

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!
2nd May 2010, 02:49 AM |#11  
Senior Member
Thanks Meter: 19
 
More
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.

Quote:
Originally Posted by rotohammer

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.

Read More
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes