Google Allows Search Queries To Interact With Apps

Android 5.0 Lollipop brings lots of new features that are quite useful for end users and … more

Lenovo Officially Owns Motorola, Following ~$3 Billion Deal

Google is now officially no longer the owner American phone manufacturer … more

Microsoft Band Fitness Tracker Announced, Available

The wearable market has been around for a few years, with Pebble and Samsung smartwatches … more

Forums Added for the Oppo R5, Oppo N3, and Xiaomi Redmi Note

Just yesterday, Oppo unveiled a pair of rather unique smartphones, the Oppo … more
Post Reply

Ubuntu No devices permission

OP charkosh

1st March 2010, 04:28 AM   |  #1  
OP Member
Thanks Meter: 0
 
77 posts
Join Date:Joined: Sep 2009
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
 
1,380 posts
Join Date:Joined: Jan 2007
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
 
77 posts
Join Date:Joined: Sep 2009
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
 
2 posts
Join Date:Joined: Aug 2009
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
 
1,144 posts
Join Date:Joined: Sep 2008
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
 
1,380 posts
Join Date:Joined: Jan 2007
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
 
77 posts
Join Date:Joined: Sep 2009
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
 
77 posts
Join Date:Joined: Sep 2009
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
 
1,380 posts
Join Date:Joined: Jan 2007
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,738
 
1,278 posts
Join Date:Joined: Oct 2009
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!

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes