Related
Has anyone successfully connected to their device via adb in Ubuntu?
Whenever I do
./adb devices
Click to expand...
Click to collapse
it shows me an empty list of devices.
I had originally set it up for my G1. Now that I try it with the Vibrant, it does not work.
I modified 51-android.rules file and entered this:
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
Click to expand...
Click to collapse
The code is bold was taken after I did the lsusb command.
I have connected with Ubuntu , which build of Ubuntu are you using? I am on Lucid (10.04) and it connected easily the first time.
srqt said:
I have connected with Ubuntu , which build of Ubuntu are you using? I am on Lucid (10.04) and it connected easily the first time.
Click to expand...
Click to collapse
I am also running 10.04
Can you please do me a favor and tell me what files the following folder has:
/etc/udev/rules.d
I'm interested in knowing if it has 50-android.rules and/or 51-android.rules and what are the contents of them.
Thanks!
dublued said:
I am also running 10.04
Can you please do me a favor and tell me what files the following folder has:
/etc/udev/rules.d
I'm interested in knowing if it has 50-android.rules and/or 51-android.rules and what are the contents of them.
Thanks!
Click to expand...
Click to collapse
It has 51-android.rules with the following contents
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
Click to expand...
Click to collapse
Still showing up empty, thanks though.
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
thanks the3dman13, that did the trick!
i'm curious thought, why did I need to replace the adb file?
It seems both adb's work. Not sure but the contents of the 3 rules files are the same which may mean you only need one of them.
this works for me - samsung vibrant
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Never had to do any of this... all I have to do every once in a while is:
Make sure debugging is enabled on the phone
Plug in the phone via USB to the computer
Bring up a terminal in the tools folder
Run 'sudo ./adb kill-server'
Then run 'sudo ./adb start-server'
Run './adb devices' (add sudo if necessary but it isn't for me at this point)
still no luk
ive tried every method on this page
and none works
what am i doing wrong
or what must i do to debug/correct this problem?
I had the same issue with a fresh install of 10.04. I was finally able to get ADB to recognize the device by booting into the recovery menu. After it recognized it once, ADB continued to recognize the phone even when it was on.
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
This worked
Try this
puccaso said:
ive tried every method on this page
and none works
what am i doing wrong
or what must i do to debug/correct this problem?
Click to expand...
Click to collapse
You might try this: sudo tools/android update sdk --no-ui
As written in android-sdk-linux read me file:
Welcome to the Android SDK!
The Android SDK archive initially contains only the basic SDK tools. It does
not contain an Android platform or any third-party libraries. In fact, it
doesn't even have all the tools you need to develop an application.
In order to start developing applications, you must install the Platform-tools
and at least one version of the Android platform, using the SDK Manager.
Platform-tools contains build tools that are periodically updated to support new
features in the Android platform (which is why they are separate from basic
SDK tools), including adb, dexdump, and others.
To install Platform-tools, Android platforms and other add-ons, you must
have an Internet connection, so if you plan to use the SDK while
offline, please make sure to download the necessary components while online.
To start the SDK Manager, please execute the program "android".
From the command-line you can also directly trigger an update by
executing:
tools/android update sdk --no-ui
joshuapurcell said:
Never had to do any of this... all I have to do every once in a while is:
Make sure debugging is enabled on the phone
Plug in the phone via USB to the computer
Bring up a terminal in the tools folder
Run 'sudo ./adb kill-server'
Then run 'sudo ./adb start-server'
Run './adb devices' (add sudo if necessary but it isn't for me at this point)
Click to expand...
Click to collapse
adb:command not found,but "adb devices"works.
---------- Post added at 12:58 PM ---------- Previous post was at 12:48 PM ----------
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
it does't got 51 rules,how to add it in?
---------- Post added at 01:38 PM ---------- Previous post was at 12:58 PM ----------
the3dman said:
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
Click to expand...
Click to collapse
testdev said:
$ uname -a
desktop 2.6.35-22-generic #33-Ubuntu SMP UTC 2010 x86_64 GNU/Linux
$ cat /etc/issue
Ubuntu maverick (development branch) \n \l
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
$ sudo chmod a+rx /etc/udev/rules.d/51-android.rule
$ sudo restart udev
$ adb kill-server
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
emulator-5554 device
T959xxxxxxxx device
Click to expand...
Click to collapse
what i got has only one thing that does't match your post despite the list,that is i don't got "SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"".the list is empty yet.does this infect to?
---------- Post added at 01:50 PM ---------- Previous post was at 01:38 PM ----------
the3dman said:
This is what I used in Ubuntu 10.04 x86 and 9.04 x32
First download my zip file
Put the 3 rules files in your /etc/udev/rules.d folder (sudo nautilus /etc/udev/rules.d (This will open the folder with root access from the terminal))
Then right click on each file and go to properties
From there click on the permissions tab and make sure all files are checked to allow exe then change the owner from root to your username then close.
Then put the adb file in your android sdk/tools folder and replace the original one.
Then restart your computer
Once restarted make sure your phone is in debugging mode plug it into the usb and type sudo ./adb devices in the terminal and your phone should show up.
Click to expand...
Click to collapse
I do it right what you post orderly,but the list is still empty.Could you help me alone?
I've decided to play around with Ubuntu again.. but my question is this.. when I plug my phone in, ADB isn't there.. How to I get my phone to connect to Ubuntu x64 (latest version, not sure number) as it did in Windows 7 .. Fastboot.. be able to transfer files to the internal storage... What gives?
jbarcus81 said:
I've decided to play around with Ubuntu again.. but my question is this.. when I plug my phone in, ADB isn't there.. How to I get my phone to connect to Ubuntu x64 (latest version, not sure number) as it did in Windows 7 .. Fastboot.. be able to transfer files to the internal storage... What gives?
Click to expand...
Click to collapse
This is the easiest way to install adb/fastboot that will work in any directory on linux (ubuntu) so you dont have to place the files in the platform-tools/ dir.
Code:
sudo apt-get install android-tools-adb && sudo apt-get install android-tools-fastboot
that will install adb and fastboot then,
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
a blank screen will pop up and add this, then change where it says <username> to your linux username and hit save (do NOT include the <>)
Code:
# adb protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="<username>"
# fastboot protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff0", MODE="0600", OWNER="<username>"
# adb sideload on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cf9", MODE="0600", OWNER="<username>"
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID [B]0bb4[/B]:[U]0dff[/U] HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
.torrented said:
This is the easiest way to install adb/fastboot that will work in any directory on linux (ubuntu) so you dont have to place the files in the platform-tools/ dir.
Code:
sudo apt-get install android-tools-adb && sudo apt-get install android-tools-fastboot
that will install adb and fastboot then,
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
a blank screen will pop up and add this, then change where it says <username> to your linux username and hit save (do NOT include the <>)
Code:
# adb protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="<username>"
# fastboot protocol on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff0", MODE="0600", OWNER="<username>"
# adb sideload on DNA (dlx)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cf9", MODE="0600", OWNER="<username>"
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID [B]0bb4[/B]:[U]0dff[/U] HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
Click to expand...
Click to collapse
Beautiful.. Thanks!!! Will post a final reply once it's all working after I get off work... Hey!
Well.. I got too excited too quick... You lost me here...
after you've saved that do a
Code:
sudo restart udev
if that doesnt work you may have to uncheck and recheck USB debugging in the settings on the phone...
or
when the phone is plugged in and adb is enabled in the terminal type
Code:
lsusb
Then you will get a bunch of stuff that looks like:
Code:
Bus 002 Device 006: ID 0bb4:0dff HTC (High Tech Computer Corp.)
Those 8 numbers are what you put in the the idVendor:idProduct
Do that for adb, fastboot(you have to be booted into the bootloader), and adb while in recovery (for sideload featuer)
Click to expand...
Click to collapse
how are you lost?
It didn't work.. I'll try again.. I had to step away from it for some time.. I'll try it all again today...
[email protected]:~$ lsubs
No command 'lsubs' found, did you mean:
Command 'subs' from package 'libsubtitles-perl' (universe)
Command 'lsusb' from package 'usbutils' (main)
lsubs: command not found
Click to expand...
Click to collapse
This where I get stuck.. also before that..
[email protected]:~$ sudo restart udev
udev start/running, process 11814
Click to expand...
Click to collapse
you spelled lsubs instead of lsusb. I'm pretty sure that message for reloading udev is normal.
Now my issue is with Fastboot... Does this not enable me to flash recoveries? I am trying and just says <Waiting for device>
you must do the same for fastboot as for adb
issue lsusb while in fastboot mode and get id number for fastboot and add that to ur android rules file also
issue lsusb while in recovery for proper ids
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”aaaa″, ATTRS{idProduct}==”aaaa″, MODE=”0666″ <<< with id for adb
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”bbbb″, ATTRS{idProduct}==”bbbb″, MODE=”0666″ <<< id for fastboot:bootloader
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”cccc″, ATTRS{idProduct}==”cccc″, MODE=”0666″ <<< id for recovery
t1gartist said:
you must do the same for fastboot as for adb
issue lsusb while in fastboot mode and get id number for fastboot and add that to ur android rules file also
issue lsusb while in recovery for proper ids
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”aaaa″, ATTRS{idProduct}==”aaaa″, MODE=”0666″ <<< with id for adb
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”bbbb″, ATTRS{idProduct}==”bbbb″, MODE=”0666″ <<< id for fastboot:bootloader
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”cccc″, ATTRS{idProduct}==”cccc″, MODE=”0666″ <<< id for recovery
Click to expand...
Click to collapse
Got it!! Thanks... the help was great!!
I keep getting an error that states ... "Unable to mount Android Phone; unable to open MTP device '[usb:002,014]'"
Hello,
do you use rockchip based Android device with linux?
I've just bought Rockchip rk3066 based AllFine Fine10 tablet, and have trouble setting it up to work with adb on my linux instalation.
I presume problem is with udev rules, I use some giant package of udev rules but it does not contain rule for my tablet.
I have tried to manually define udev rule by inputing device ID listed by lsusb utility.
lsub: Bus 002 Device 004: ID 2207:0010
Click to expand...
Click to collapse
Thus creating:
# AllFine
ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", SYMLINK+="android_adb"
Click to expand...
Click to collapse
But still device is not recognized by adb.
I could use some assistance, thank you.
from http://linux-rockchip.info/mw/index.php?title=ADB_shell_with_RK3066
You need to add those Udev rules in order to obtain an ADB shell on your RK3066/RK3188 device:
In terminal run "lsusb", you should see a device with a device ID starting by "2207", the USB VendorID of Rockchip:
$ lsusb
Bus 002 Device 023: ID 2207:0010
In this case, the description of the device was left empty.
Download and install the Android SDK or, just download adb from an Ubuntu Linux with this command:
sudo apt-get install android-tools-adb
Run "sudo gedit /etc/udev/rules.d/51-android.rules" from the terminal and add this to the file and save:
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"
Then restart udev with "sudo udevadm control --reload-rules"
Run (not using sudo) "gedit ~/.android/adb_usb.ini", add 0x2207 at the end of the file
Restart the adb server with "adb kill-server; adb start-server" from terminal, you should be able to list your device with "adb devices"
Enable "USB Debugging" on your device and adb should be fine now.
Hello,
I'm trying to unlock bootloader and here is and that's what I did:
1) Checked that there is a rule in /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0dff", MODE="0600", OWNER="lessless"
the lsusb output is
Bus 002 Device 018: ID 0bb4:0ff0 High Tech Computer Corp.
2) reboot into fastboot mode with adb reboot-bootloader
and when my phone is on the fastboot usb mode fastboot utility do not recognize it:
$fastboot devices
no permissions fastboot
$fastboot oem get_identifier_token
< waiting for device >
Maybe you need to backport the MTP support first?
Do a Google search for the terminal commands.. When I was running Elementary OS (based on 12.04) I remember having to do this as the OS wouldn't see my phone.
Sent from my thumbs
what do you mean exactly? I'am able to mount my phone using this lines:
alias android-on="mtpfs -o allow_other /media/Android"
alias android-off="fusermount -u /media/Android"
Hello XDA-Devs,
I have to admit that I am not an Android or other smartphone OS developer but merely a dimwitted device user who struggles to get data off and onto his Android device.
First I thought that one could simply plug the device into one of my laptop's USB ports and mount it like any mass storage device.
But I had to learn that this simple mode has disappeared in Android versions higher than 2.X.
After several rather dissatisfying other attempts to transfer data, like e.g. via an OpenSSH server app on my (not yet rooted device), I finally came across a seemingly more appealing solution via the ADB USB mode, where the necessary steps were described in blog's posting whose link I not yet allowed to place here (i.e. <10 posts).
After a bit of fiddling I managed to get my device connected via USB and the ADB daemon.
Now I am still struggling how to efficiently get a bulk of e..g camera images from my device.
So far adb pull seems to be the appropriate command.
But somehow I can only download/pull single image files, and my loop isn't working.
Sadly the pull command doesn't have a bulk match option like an ftp client's mget.housand
Also I can't work out if shell globbing works the same as in an e.g. Bash.
See, while I can fetch a list of files, the loop expansion doesn't work, for what reason ever, and I would have to pull every file separately.
That looks strange. Maybe I only fell prey to some shell glob syntax issue here?
So bear with me.
Code:
[[email protected]:~/Pictures]
$ for f in $(adb shell ls /storage/sdcard0/DCIM/Camera/);do echo adb pull "/storage/sdcard0/DCIM/Camera/$f";done|tail
adb pull /storage/sdcard0/DCIM/Camera/20131111_192956.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193008.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193018.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193028.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193036.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193048.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131111_193114_1.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005357.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005418.jpg
adb pull /storage/sdcard0/DCIM/Camera/20131113_005526.jpg
But when I remove the echo
Code:
[[email protected]:~/Pictures]
$ for f in $(adb shell ls /storage/sdcard0/DCIM/Camera/);do adb pull "/storage/sdcard0/DCIM/Camera/$f";done 2>&1|tail
' does not existstorage/sdcard0/DCIM/Camera/20131111_192956.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193008.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193018.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193028.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193036.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193048.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131111_193114_1.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005357.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005418.jpg
' does not existstorage/sdcard0/DCIM/Camera/20131113_005526.jpg
But on a single file invocation I can pull it.
Code:
[[email protected]:~/Pictures]
$ adb pull -p /storage/sdcard0/DCIM/Camera/20131113_005526.jpg
Transferring: 569030/569030 (100%)
1966 KB/s (569030 bytes in 0.282s)
[[email protected]:~/Pictures]
$ identify 20131113_005526.jpg
20131113_005526.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 556kb
Strange.
I am convinced that there must be a more efficient way to bulk pull files from my device.
Is there a way to mount my device via ADB?
Having read the help screen of the adb command I only found a remount sub command which would remount the device's system FS as it seems.
Would I have to tinker with the udev rule to have my device mounted when plugged in?
[[email protected]:~/Pictures]
$ adb help 2>&1|grep mount
adb remount - remounts the /system partition on the device read-write
[[email protected]:~/Pictures]
$ lsusb|grep -i samsung
Bus 002 Device 006: 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]
[[email protected]:~/Pictures]
$ cat /etc/udev/rules.d/*android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", GROUP="adbandy"
[[email protected]:~/Pictures]
$ groups
fiddle wheel adbandy
[[email protected]:~/Pictures]
$ adb devices -l
List of devices attached
3b086527 device usb:2-1 product:jfltexx model:GT_I9505 device:jflte
Click to expand...
Click to collapse
My Android phones and tablets auto-mount as removable drives when I connect them to my Linux (Mint 17 Cinnamon) computers. Connection to PC is set on the devices as MTP.
I guess these MTP automounts use a FUSE driver?
Being on a RHEL 6.4 binary compatible distro (i.e. SL) I could only find libmtp pre-built RPMs.
But I suspect that the libs alone wouldn't suffice.
If I knew what parts are required to make a working MTP mount I could get all sources and patches, tinker up an RPM spec file and build my own RPM, I suppose.
Thanks for the hint.