adb connection to kindle with linux problems - Kindle Fire General

I'm on unbuntu 11.10, my kindle has CM7 on it, when it's plugged in and I run ./adb devices it shows up as a bunch of question marks and says no permissions. My phone connects fine in adb, so its not a problem with adb. The kindle also connects fine for USB storage and stuff.

i used to have the problem when I was running ubuntu, but even since I started running arch I haven't had that problem. It has something to do with user privelidges and the way I fixed it was by running
Code:
sudo ./adb kill-server
sudo ./adb start-server
./adb devices
stating the adb server using root fixed the problem for me.
btw this isn't the right forum for questions.

Theres no questions forum for the kindle yet. I tried killing and re-starting adb with the sudo command, and it still shows question marks and no permissions

when in run lsusb i get 4 linux foundation root hubs for device1 and for device2 i get
ID 1949:0006 Lab126

Try sudo su or sudo ./adb devices
Sent from my Incredible 2 using XDA App

tried sudo ./adb devices and still question marks and no permissions.

Here's what I know, which isn't much. Maybe some of it will help?
Set up your /etc/udev/rules.d/51-android.rules file like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", MODE="0600", OWNER="<username>"
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0005", MODE="0600", OWNER="<username>"
Replace <username> with your user name.
The kindle reports idProduct 0005 when in recovery (at least mine did).
It's worth a shot.

teookie said:
Here's what I know, which isn't much. Maybe some of it will help?
Set up your /etc/udev/rules.d/51-android.rules file like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", MODE="0600", OWNER="<username>"
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0005", MODE="0600", OWNER="<username>"
Replace <username> with your user name.
The kindle reports idProduct 0005 when in recovery (at least mine did).
It's worth a shot.
Click to expand...
Click to collapse
Yea, this should fix your problem.
Open terminal and do this...
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
which will open up 51-android.rules in gedit so that you can add this rule...
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
Save the document and then close and reopen terminal.
Type...
Code:
adb devices
If you do not see your device try rebooting your computer
I do not have the rule set up the way it is quoted from the above post but you can add that in addition to the rule that I posted here.
This is the way my rules look for all of my devices. Notice that for some devices I have "subsystem" and subsystems" rules set up but there does not seem to be a difference in gaining access for ADB. I think I set up "subsystems" on a few devices a while ago for porting clockwork to a few devices or some other random thing. Either way you should just need the "subsystem" rule that I posted in the code box above.
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="3610", MODE="0666", OWNER="brian"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0666", OWNER="brian"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7820", MODE="0666", OWNER="brian"
Click to expand...
Click to collapse
Good luck!!
(This thread should be moved to General. Mods?)

I was having this issue yesterday as well... Fixed be making sure I edited usb.ini in ./android folder with 0x1949 and 0x0006 then i restarted computer.{ just to feel good about myself} rebooted. typed sudo su put my password in typed ./adb kill-server typed ./adb start-server typed ./adb devices and POW im running just fine. Ubuntu 11.10 here

my linux can't list the deivce
my dmesg is:
[ 1283.317124] usb 2-2: new high speed USB device using ehci_hcd and address 13
[ 1283.434819] usb 2-2: New USB device found, idVendor=1949, idProduct=0006
[ 1283.434828] usb 2-2: New USB device strings: Mfr=5, Product=1, SerialNumber=2
[ 1283.434835] usb 2-2: Product: kindle
[ 1283.434840] usb 2-2: Manufacturer: Amazon
[ 1283.434846] usb 2-2: SerialNumber: 0123456789ABCDEF
----
when I use adb-linux devices, it said nothing. : (includibg run with sudo)
>./adb-linux devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
how can I checked and connect it. my kindle can't boot up, it's always in opening-screen "Kindle fire".

ixc said:
my linux can't list the deivce
my dmesg is:
[ 1283.317124] usb 2-2: new high speed USB device using ehci_hcd and address 13
[ 1283.434819] usb 2-2: New USB device found, idVendor=1949, idProduct=0006
[ 1283.434828] usb 2-2: New USB device strings: Mfr=5, Product=1, SerialNumber=2
[ 1283.434835] usb 2-2: Product: kindle
[ 1283.434840] usb 2-2: Manufacturer: Amazon
[ 1283.434846] usb 2-2: SerialNumber: 0123456789ABCDEF
----
when I use adb-linux devices, it said nothing. : (includibg run with sudo)
>./adb-linux devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
how can I checked and connect it. my kindle can't boot up, it's always in opening-screen "Kindle fire".
Click to expand...
Click to collapse
Did you do what post #9 said?
printf "0x1949\n0x0006\n" >>~/.android/adb_usb.ini
adb kill-server
adb devices

I'm on Ubuntu 11.10. I spent a few hours trying different things, but adding SikYou's rule to 51-android.rules:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
Click to expand...
Click to collapse
...finally solved the issue for me. "adb devices" now shows my Kindle Fire.

Related

Ubuntu can't see my N1

Hi,
I'm trying to unlock my N1's bootloader in order to root it. I downloaded fastboot and enabled USB debugging in the phone doing this:
Settings → applications → development → USB debugging → check.
I power off the phone and reboot while pressing the trackball, then do this on my Ubuntu terminal, once I'm in the directory that contains fastboot-linux, fastboot-mac and fastboot-windows.exe:
[email protected]:~/Android/fastboot$ ./fastboot-linux devices
[email protected]:~/Android/fastboot$
As you see, the phone does not appear even though it's properly connected. Am I leaving something out?
Thanks in advance.
can you copy files to the sdcard when the phone is running?
some other guy here had a broken usb-cable.
do you see anything in dmesg when powering up the phone and entering bootloader?
should look like this:
Code:
Jan 27 10:19:25 distance kernel: [ 481.870100] usb 2-4: new high speed USB device using ehci_hcd and address 5
Jan 27 10:19:25 distance kernel: [ 482.022787] usb 2-4: configuration #1 chosen from 1 choice
xkonni said:
can you copy files to the sdcard when the phone is running?
some other guy here had a broken usb-cable.
Click to expand...
Click to collapse
Yep, it's recognised as a mass storage device and I can copy stuff alright.
xkonni said:
do you see anything in dmesg when powering up the phone and entering bootloader?
should look like this:
Code:
Jan 27 10:19:25 distance kernel: [ 481.870100] usb 2-4: new high speed USB device using ehci_hcd and address 5
Jan 27 10:19:25 distance kernel: [ 482.022787] usb 2-4: configuration #1 chosen from 1 choice
Click to expand...
Click to collapse
This is what I get:
Code:
Jan 27 10:25:28 david-laptop kernel: [ 159.700293] usb 2-3: new high speed USB device using ehci_hcd and address 4
Jan 27 10:25:28 david-laptop kernel: [ 159.845496] usb 2-3: configuration #1 chosen from 1 choice
Jan 27 10:25:28 david-laptop kernel: [ 159.848975] scsi6 : SCSI emulation for USB Mass Storage devices
Jan 27 10:25:33 david-laptop kernel: [ 164.857208] scsi 6:0:0:0: Direct-Access Google, Inc.Nexus One PQ: 0 ANSI: 2
Jan 27 10:25:33 david-laptop kernel: [ 164.857836] sd 6:0:0:0: Attached scsi generic sg2 type 0
Jan 27 10:25:33 david-laptop kernel: [ 164.868692] sd 6:0:0:0: [sdb] Attached SCSI removable disk
Everything seems normal, does it?
is that dmesg from booting the phone to bootloader?
it should not be identified as mass storage there.
xkonni said:
is that dmesg from booting the phone to bootloader?
it should not be identified as mass storage there.
Click to expand...
Click to collapse
My fault, that was a normal boot.
This is what booting to bootloader gives:
Code:
Jan 27 10:44:46 david-laptop kernel: [ 1317.564263] usb 2-3: new high speed USB device using ehci_hcd and address 5
Jan 27 10:44:46 david-laptop kernel: [ 1317.703962] usb 2-3: configuration #1 chosen from 1 choice
Yet...
Code:
[email protected]:~/Android/fastboot$ ./fastboot-linux devices
[email protected]:~/Android/fastboot$
strange. what version of ubuntu is it?
could be a permission problem.
try 'sudo fastboot devices' to check.
however this is not the way you're supposed to use fastboot. there was another thread describing how to create an udev rule so your user can access usb properly.
Having the same issue. I don't want to boot a Windows PC just for this. It would be a shame
1. Create a file called "52-android.rules" in /etc/udev/rules.d directory.
Contents for file follows:
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
2. Reboot.
3. PROFIT!
http://forum.xda-developers.com/showthread.php?t=613217
the solution is in there
you have to create a file with rules for the specific device, so your regular user is able to use it. but it seems there are different vendorIDs.
so we check which one you have.
remove the phone 'lsusb', plug in the phone 'lsusb'.
check for a new line
for me the entry looks like this
Bus 001 Device 005: ID 18d1:xxxx
so like described in the linked thread,
edit /etc/udev/rules.d/51-android.rules and add this line (with your ID!)
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
after that, plug out the phone again, sudo service udev restart, plug in, should be good to go
edit: damn... going afk while posting is not a good idea ;p
here also is a thread with what you may need.
in addition to the rules file you have to create, there is a ~/.bashrc export path you have to add
Thanks for all your help guys,
packetlss said:
1. Create a file called "52-android.rules" in /etc/udev/rules.d directory.
Contents for file follows:
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
2. Reboot.
3. PROFIT!
Click to expand...
Click to collapse
This definitely solved the issue. It was easy!
I second that you need to either manually create the right devices in /dev or use the udev rules posted above. Works on Fedora 12.
No entries in ~/.bashrc or similar are necessary, you just have to call adb with the full pathname ~/somedirectory/android-sdk-linux_86/tools/adb
`sudo ./fastboot-linux devices`
would have worked (or just su to root)
fastboot requires root, just like the adb server needs to be started as root via `sudo ./adb start-server` then you can run adb as a normal user.
flipp said:
`sudo ./fastboot-linux devices`
would have worked (or just su to root)
fastboot requires root, just like the adb server needs to be started as root via `sudo ./adb start-server` then you can run adb as a normal user.
Click to expand...
Click to collapse
works, not recommended though.
neither 'adb start-server', nor 'fastboot' require root. both just require write permissions on the usb-device (root has these rights, your local user will get them with the right udev-rule)
don't just run everything as root, thats not what linux is about
flipp said:
`sudo ./fastboot-linux devices`
would have worked (or just su to root)
fastboot requires root, just like the adb server needs to be started as root via `sudo ./adb start-server` then you can run adb as a normal user.
Click to expand...
Click to collapse
I see xkonni beat me to it but neither fastboot or adb require root. You should never run things as root without good reason. Really even a mode of 666 is probably not the best setting, but it is a reasonable compromise. If you are on a multi user box or just a little paranoid (like me) you should create a group for this and then set it as the owner and mode of 660
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", GROUP="android", MODE="0660"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", GROUP="android", MODE="0660"
In general though 666 is fine and less error prone on set up.
I am at a total loss. I have tried everything that I have read to try and get fastboot to see my phone and nothing is working.
I'm running Ubuntu 10.10 x64 by the way.
ADB will see and connect to my phone just fine(wired or wireless). I have edited the bash file, I have the rules file created. I know fastboot is installed cause if I just type "fastboot", I get a list of commands, but if I try "./fastboot" or "sudo fastboot", I get a command not found error.
I had this working under Windows 7 just fine, but I'm trying to get switched over to linux, and this is the current hurdle I'm trying to overcome.
Well, obviously, fastboot has to be on your PATH. Did you download it and put it on your PATH via .bash_rc? Type `which fastboot` in your terminal and if you don't get anything that means that your machine has no idea where it is. Alternatively, `cd` into the directory where you put fastboot and run the following command `./fastboot devices`. If you get an error, then try `sudo ./fastboot devices`. It's a PATH issue, not a fastboot issue.
On another note, thanks to everyone who helped in this thread, it worked for me Weird though, since adb and fastboot worked without having to modify any rules in Ubuntu 9.X.
i never was able to get ADB to work in ubuntu 10.04. so i did all the compiling in ubuntu, and just sent the zImages for my kernel over to my windows machine, adb fastboot, and done. not sure what the problem was.

i9000 GT not listed at all in adb devices on linux

Maybe this was answered in the wiki, but I can't view it.
In short, I'm trying to get Ubuntu 10.04 to show the phone in adb, so I can start playing around with development.
When I try adb devices in the terminal, The phone isn't listed. I do have USB debugging turned on the phone itself.
I'm using this in the udev rules as specified by the android guide.
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
Click to expand...
Click to collapse
The vendor id matches both the guides listed one for samsung, and what I see in lsusb .
It has been documented a long while ago that this was a bug with samsung devices and their descriptor:
... I'm not allowed to post a link to the google code project, but it is issue 5027.
But has this been fixed or worked around? I'd love to get some app testing running on it.
Working
Were you able to get this working? If so, what did you do? I have the same issue.
Superroach said:
Maybe this was answered in the wiki, but I can't view it.
In short, I'm trying to get Ubuntu 10.04 to show the phone in adb, so I can start playing around with development.
When I try adb devices in the terminal, The phone isn't listed. I do have USB debugging turned on the phone itself.
I'm using this in the udev rules as specified by the android guide.
The vendor id matches both the guides listed one for samsung, and what I see in lsusb .
It has been documented a long while ago that this was a bug with samsung devices and their descriptor:
... I'm not allowed to post a link to the google code project, but it is issue 5027.
But has this been fixed or worked around? I'd love to get some app testing running on it.
Click to expand...
Click to collapse
I have it working no problems. Here is my /etc/udev/rules.d/51-android.rules file
Code:
[email protected]:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{04e8}=="0bb4", MODE="0666"
[email protected]:~$
Then when you run adb, you will prob have to do a sudo to start the server
Code:
[email protected]:~/Downloads/android-sdk-linux_86/tools$ ./adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
???????????? no permissions
[email protected]:~/Downloads/android-sdk-linux_86/tools$ ./adb kill-server
[email protected]:~/Downloads/android-sdk-linux_86/tools$ sudo ./adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
1000e5d5d317 device
[email protected]:~/Downloads/android-sdk-linux_86/tools$ ./adb devices
List of devices attached
1000e5d5d317 device
Hope this helps!!
oh and
Code:
[email protected]:~$ cat /etc/issue
Ubuntu 10.10 \n \l
[email protected]:~$
Cheers!
wyild1 said:
I have it working no problems. Here is my /etc/udev/rules.d/51-android.rules file
Code:
[email protected]:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{04e8}=="0bb4", MODE="0666"
[email protected]:~$
Click to expand...
Click to collapse
No, this is confusing.
0bb4 is the USB VendorID of HTC
We would need "681c" here as {idProduct} for our SGS
Watching the bootlog UDEV told me SYSFS is being replaced by ATTR and ATTRS
According to UDEV the rule should look like this:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877|68a9|681c|681d", ENV{ACL_MANAGE}="1"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", OWNER="whatever", GROUP="whenever", MODE="0666"
Where ATTR{idProduct} means the four modes from GT-I9000:
6877-> Kies-Mode
68a9-> Mediaplayer-Mode
681c-> Debug-Mode
681d-> MassStorage-Mode
But there are many things which can break this simple "add a xx-android.rule solution".
This issue has been fixed now in Ubunutu 10.10
You can plug in the phone (using USB-Debug-Mode), both drives show up correctly and you can mount them without any problems
Does "lsusb | grep -i samsung" show up your device?
Should look like this:
Bus 001 Device 002: ID 04e8:xxxx Samsung Electronics Co., Ltd
?????
Hi,
I am a newbie in linux and i try to make adb work on ubuntu 10.10. My mob is the samsung galaxy s i9000.I tried a few methods, actually installed ABD and java 6.0, managed to run ADB as a command but i can not make the correct permissions for my phone.Any expert?
Thanks a lot

[Q] Simple development on 10.1 retail via Linux?

Greetings,
I'd have posted this on '10.1 development', but I'm not allowed to yet.
I just received the new G.T. 10.1 to use for development. I'm trying to push my first Android app to it, but am having no luck. I'm running the latest Ubuntu. I've followed the instructions here:
Code:
http : // developer.android.com/guide/developing/device.html
Here's my rules file:
Code:
$ ls -l /etc/udev/rules.d/51-android.rules
-rw-r--r-- 1 root root 55 2011-06-18 08:42 /etc/udev/rules.d/51-android.rules
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}="04e8", MODE="0666"
but I get this from adb:
Code:
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions
My device is seen by Ubuntu:
Code:
$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04e8:685e Samsung Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Here's my system id:
Code:
$ uname -a
Linux ubuntu 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686 GNU/Linux
Can anyone tell me what I'm missing? Has anyone connected to the new US consumer 10.1? Any help in getting me over this hump would be greatly appreciated.
Blat
USB debugging enabled?
What if you run adb as root?
try the commands bellow:
Code:
su
adb kill-server
adb start-server

[Q] fastboot? (solved)

I have an Ubuntu 11.10 x64 box and I got ADB up and running after adding
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0006", MODE="0600", OWNER="user"
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0005", MODE="0600", OWNER="user"
to /etc/udev/rules.d/51-android.rules and adding 0X1949 to adb_usb.ini file.
Everything is working fine but fast boot is unresponsive. any ideas?
Did you chmod +x fastboot and added it to your path? I just put mine in platform-tools where adb is
i used sudo chmod 777 on fast boot. I tried running it from platform tools and the tools directory as a normal user and as root.
So "fastboot --help" does nothing?
sorry i should have specified fast boot works fine with my phone but with the kindle it just says waiting for device with ./fastboot reboot and wont list its attached with ./fastboot devices
Okay I got it working by repeatedly entering ./fastboot devices from power on maybe it times out or whatever but it shows up then i can enter fast boot commands as normal. but if i don't hit fast boot devices it wont work at all not ideal but it works.
I am having the same problem as OP. I am running Ubuntu 11.10 x64 and I have always had ADB working just fine with my fire. I am now in fastboot mode using the "factory" cable but my computer does not recognize the device at all. I can not get any fastboot command to work and lsusb does not show any device connected. Any help?
I have these two lines in my udev rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
And everything works fine
foxdog66 said:
I have these two lines in my udev rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1949", MODE="0666"
And everything works fine
Click to expand...
Click to collapse
Yep, I have my rules set up just like that
Sent from my ADR6400L
in your /home make a folder called .android then make a file called adb_usb.ini
then add this to the file
%SingleBootLoaderInterface% = USB_Install, USB\VID_1949&PID_0FFF
0X1949
0X0006
finally reboot
then hopefully it will work

Cannot access device with adb

Hello all,
I want to reflash my Nexus 6P with a custom version of the AOSP. I can't access the device using "adb devices".
Code:
adb devices
List of devices attached
???????????? no permissions
I guess I need to add an entry for Nexus 6P (and also for 5X) to the /etc/udev/rules.d/51-android.rules file. For this, I need the idProduct code for these two phones.
Code:
# adb protocol on hammerhead (Nexus 5)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", [B]ATTR{idProduct}=="4ee1"[/B], MODE="0600", OWNER="paul"
Where can I find this code?
Many thanks,
Paul
I see 'no permissions'.
Maybe you should try clearing the permissions cache in the developer options, and then request adb again, so you'll see a popup on your phone for permission?
Sorry for bothering the group, I found it, use
Code:
lsusb
Bus 001 Device 070: ID 18d1:4ee7 Google Inc.
Set idProduct 4ee7 as follows:
Code:
# adb protocol on angler (Nexus 6P)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0600", OWNER="paul"

Categories

Resources