I just bought a kindle fire the new ones and was wondering how do i go about rooting the kindle fire through adb on ubuntu?? i dont understand how i install the adb drivers and also do the same rooting commands work for ubuntu as they do in windows?? any help would greatly be appreciated as i cant use a windows system at the moment
install a virtual box (learn about that if you dont know what it is) and run windows
All you really need are the fastboot and adb binaries. You can install these out of the Android SDK. If you run them as root, it should work just fine. Otherwise, you need to insert the proper udev rules to give an unprivileged user access to the device. All of the rooting commands are the same. The only thing you really have to worry about is changing file path syntax from Windows to Linux, but I don't think there's any of that in there.
You could probably use soupkit for the original KF for the binaries and getting your linux environment setup.
Yes it should be the same, once you're in adb. The big difference is that linux usually doesn't require drivers for different phones. Instead you need to configure your udev rules. I'm running Debian and have a file at /etc/udev/rules.d/51-android.rules that looks like this:
#Acer
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", OWNER="jack"
#Dell
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", OWNER="jack"
#Foxconn
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", OWNER="jack"
#Garmin-Asus
SUBSYSTEM=="usb", ATTRS{idVendor}=="091E", MODE="0666", OWNER="jack"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", OWNER="jack"
#HTC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", OWNER="jack"
#Huawei
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", OWNER="jack"
#Kyocera
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", OWNER="jack"
#LG
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", OWNER="jack"
#Motorola
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", OWNER="jack"
#Nvidia
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", OWNER="jack"
#Pantech
SUBSYSTEM=="usb", ATTRS{idVendor}=="10A9", MODE="0666", OWNER="jack"
#Samsung
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", OWNER="jack"
#Sharp
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", OWNER="jack"
#Sony Ericsson
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", OWNER="jack"
#ZTE
SUBSYSTEM=="usb", ATTRS{idVendor}=="19D2", MODE="0666", OWNER="jack"
#Casio
SUBSYSTEM=="usb", ATTRS{idVendor}=="04f2", MODE="0666), OWNER="jack"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", OWNER="jack"
#kindle hd
SUBSYSTEM=="usb", ATTRS{idVendor}=="1949", MODE="0666", OWNER="jack"
Click to expand...
Click to collapse
Once you create this file, you need to reload your udev rules and restart the adb server if it's running.
udevadm control --reload-rules
adb kill-server
adb devices
Click to expand...
Click to collapse
Honestly I still can' seem to get the Kindle Fire HD to show up in adb. But usually this does it, you just need the vendor id. You can find it with the lsusb command.
Related
Configuring USB Access
Under GNU/linux systems (and specifically under Ubuntu systems), regular users can't directly access USB devices by default. The system needs to be configured to allow such access.
The recommended approach is to create a file /etc/udev/rules.d/51-android.rules (as the root user) and to copy the following lines in it. <username> must be replaced by the actual username of the user who is authorized to access the phones over USB.
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard ES)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
# adb protocol on grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0600", OWNER="<username>"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0600", OWNER="<username>"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0600", OWNER="<username>"
# fastboot protocol on grouper (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>"
Click to expand...
Click to collapse
This should practically cover it.
I got the contents from init.grouper.usb.rc same should apply to init.tuna.usb.rc for USB access on Samsung Galaxy Nexus
I am still testing it. But I am maybe sure it will work without installing extra software.
In my blog (http://anddisa.blogspot.de) you can find instructions, how to configure MTP automount on OpenSuse 11.4, but the instructions are so general, that it should work on other Linux systems, too.
Sent from my Nexus 7 using xda app-developers app
ftp?
Thanks for this. Mostly though, I find it easier to use ftp.
does this method works on fedora 17?
Sent from my Nexus 7 using xda premium
To start I will be adding a lot to this over time so dont be upset if I dont have everything.
To open a terminal without finding it in your programs all you need to do is ctrl+alt+t
Heavily used Commands
cd: this command is used to navigate through your directory's. For example if you have a folder named apps on desktop you would type... cd Desktop...then cd apps.
mkdir: this means make directory or folder. For example cd to your directory then do mkdir whatever. Then you can cd right into that directory ever.
pwd: print working directory. This shows you where you are on the filesystem. This helps if your deep in a directory or folders.
ls: this means list. This tells you all the files in your present working directory.
man: this means manual. This prints like a help page in the terminal to guide you on whatever you need. This can be used for many things.
cp: means copy a file or directory
rm and rmdir: remove a file or like rmdir remove a directory.
mv: move a file or directory
The next command is to issue a command. There are a couple of popular ways of doing so.
First
"./": this is to issue or run a command or file that is in your current directory.
Second
"../": this runs the file that is directly above your current directory.
cat: prints a list of provided text files to the screen.
grep or global regular expression print: searches for patterns or a pattern in a list of files. This is great for small editing if thats what your into and so is.....
diff: compares two text files and displays the differences found between the files on the screen.
history: this is very useful. This shows you a list of your recent commands if you forgot the exact command. To select a command on the list use "!". For example if the label for the command is 00 then type "!00". However most linus OS's allow you to use the up arrow and enter key instead.
Also if you guys dont want a full help list using the "man" command you can use this command: --help
Popular Terminal Commands for Android:
adb: also called android debug bridge is used to issue commands to your phone and debug.
Most people use the following:
adb devices: shows what devices are connected to the computer
adb push and pull: can transfer file from computer to phone and vice versa.
if you want to push an apk to your system make sure that apk is in your adb folder and type: "adb push target.apk system/apps"
adb reboot
adb reboot bootloader
adb logcat: if you are either porting, making roms, or just debugging for a dev you need to know how to logcat. Also if you want to just take the log and make it into a txt file to share just issue the following; "adb logcat -d> logcat.txt"
The logcat will go to your adb folder and save as logcat.txt.
fastboot: is a tool used to update the flash filesystem
I use fastboot for a few things including flashing splashes and flashing recoveries. For example:
Take twrp. To flash to htc one you do...
"fastboot flash recovery twrp.img" presuming you are in your fastboot directory in terminal and the recovery.img is in that folder.
Now as you may know htc uses fastboot to unlock and lock the bootloader using the following commands:
"fastboot oem unlock"
"fastboot oem lock"
Of course you should know this by now you need to be in bootloader under fastboot usb mode.
Now to be able to use fastboot and adb u need sdk and java. Lets start.
"sudo apt-get install openjdk-6-jre openjdk-6-jdk icedtea6-plugin"
This will get u java jdk. Sudo means root and apt-get install means terminal is pulling the file from servers and then installing it.
Next you want sdk. So instead of going all around and downloading it just do this.
" wget http://dl.google.com/android/android-sdk_r20-linux.tgz"
Wget means you are "getting the package".And then you want to extract the file.
"tar -xvzf android-sdk_r20-linux.tgz"
Seeing how the file is a tar "tar -xvzf" extracts that tar. Then cd to the sdk folder and you are good to go.
Speaking of compressing and uncompressing files......
tar -zxvf filename.tar.gz
Untar a tarred and compressed tarball (*.tar.gz or *.tgz).
tar -xvf filename.tar
Untar a tarred but uncompressed tarball (*.tar).
gunzip filename.gz
Decompress a zipped file (*.gz" or *.z).
bunzip2 filename.bz2
Decompress a file (*.bz2) zipped with bzip2 compression.
unzip filename.zip
Decompress a file (*.zip).
Next. Processes.
You know hiw windows has task manager with ctrl+alt+delete. Well here is that for terminal.
ps
(=print status) Display the list of currently running processes with their process IDs (PID) numbers.
kill PID
Force a process shutdown. First determine the PID. Use the command "ps".
bg PID
Send the process to the background.The same can be accomplished with z.
any_command&
Run any command in the background the symbol "&" means run the proceeding command in the background.
killall program_name
Kill program or multiple programs by name. This is useful
lpq
Shows your printing queue.
lprm job_number
Remove a printing job "job_number" from the queue. Alot like windows printing task manager.
lpc
Check and control the printer(s). Type "?" to see the list of available commands.
renice -1 PID
(as root) Change the priority of a running process to -1. Make sure you are Root.
*
Ill add more later. My fingers are tired.
Here are some useful admin commands
printtool
Configuration tool for your printer(s).
linuxconfig
(as root, either in text or graphical mode). You can access and change hundreds of setting from it. Be careful.
adduser user_name
Create a new account (you must be root).
userdel user_name
Remove an account (you must be a root).
passwd
Change the password on your current account. If you are root, you can change the password for any user using: "passwd user_name"
chmod perm filename
Change the file access permission for the files you own. You can make a file accessible in three modes: read (r), write (w), or execute (x) to three classes of users: owner (u), group (g), or others (o).
ls -l filename
Checks the files current permissions.
If the file is accessible to all users in all modes it will show:
rwxrwxrwx
The first triplet shows the file permission for the owner of the file, the second for that group, the third for others. A no permission is shown as "-".
su
You will be asked for your password. Type "exit" to return you to your previous login. Don't work on your machine as root. Use it only when you need it.
fdisk
(as root) Linux hard drive partitioning utility. The program gparted I think is better. To install gparted just like many other programs us the command "sudo apt-get install gparted".
fsck -t ext2 /dev/hda2
Check and repair a filesystem.
Sent from my HTCONE using xda premium
Build Environment
Instructions For Setting up a Build Environment for Linux
Make sure you are 64-bit
Have a big hard drive
A good amount of ram
If you dont have java already. Get it.
sudo apt-get install openjdk-6-jdk
You will also need python
sudo apt-get install python
And git
sudo apt-get install git-core
Android SDK:
I showed you guys how to get it in the first post.
Now open your home folder and press Ctrl+H to show hidden files, and open up a file called .bashrc.
Add these lines to the bottom of .bashrc:
# Android tools
export PATH=${PATH}:~/SDK/tools
export PATH=${PATH}:~/SDK/platform-tools
export PATH=${PATH}:~/bin
Now you should also find .profile file in the same place you found .bashrc file. Add this to that file:
PATH="$HOME/SDK/tools:$HOME/SDK/platform-tools:$PATH"
After that you need to install these packages:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
On Ubuntu 12.04:
sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-glx \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev
Also this:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Now Configure your USB.
Type :
gksudo gedit /etc/udev/rules.d/51-android.rules
A blank text will open and now add this code and save:
#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"
#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"
#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"
#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
Once you have saved the file type this:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
Now install your repository:
Type the following:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now all you have to do is initialize your repository and then make a working folder and sync:
mkdir WORKING_FOLDER
cd WORKING_FOLDER
So lets just say you want to sync and build cm10.1 you need the repo so once you cd into the directory type this:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
While that runs in the terminal it is going to ask you to put in your name and email address.
Once all thats done just type:
repo sync
And your good to go. Thats where I stop for now. Any questions just ask.
Sent from my HTCONE using xda premium
How to build a sense kernel from source
Judging that you are reading this and going to try and build a kernel make sure you have looked at the previous posts above as they may be needed to complete this task.
This is the readme from htc dev's website. But why do all this work. Lets use Linux and bash scripts to our advantage.
defconfig file: m7wls_defconfig (arm-eabi-4.6)
Download:
=========
If you are not already using an AOSP toolchain (included in an AOSP build tree), download the corresponding official android toolchain for the arm-eabi specified above for this device:
git clone https://android.googlesource.com/platform/prebuilt for 4.4.3
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6 for 4.6
(use darwin-x86 in place of linux-x86 for mac)
Build the kernel:
=================
set the following environment variables:
export TOP= [where you installed the toolchain or top of android AOSP code base]
export PATH=$TOP/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH (use corresponding arm-eabi bin path)
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
make [the defconfig file for this device above]
make clean (for subsequent builds)
make -j4 (in this example 4 is the number of processors of your build machine)
Output Binary Files:
====================
After the build process is finished, there should be a file named "zImage" found in arch/arm/boot/
If you are building a rom with this kernel ZImage, copy it into your build's output folder and rename it to "kernel".
You will also need the following kernel modules. These will eventually be installed into /system/lib/modules on the device.
kernel modules:
./driver/*.ko
Click to expand...
Click to collapse
The only thing I will ask you to get are the following.
-Download the source from htcdev.
-Get your toolchain and put it in your desired folder. Do that with this command.
"git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6"
-for me I put the toolchain in my directory like this. It is different for each toolchain and device. It doesn't matter. /android/kernel/**toolchain**. That's where the extracted toolchain is.
-Next step open a file and add the following text. Make sure the file is executable so you can run it. Add this....
echo "~m7wls STOCK KERNEL COMPILER~"
cd Kernel-m7wls
export ARCH=arm CROSS_COMPILE=/android/kernel/toolchain/arm-eabi-4.6/bin/arm-eabi-4.6-
echo "Cleaning up source"
make clean && make mrproper
date +%Y%m%d%H%M > CURRENT_VERSION
echo "Making config"
make m7wls_defconfig
echo "Adding Current Version to Kernel"
cp CURRENT_VERSION .version
echo "Building Kernel"
make -j4
echo "Kernel ready"
cp -f arch/arm/boot/zImage /android/kernel/htcone/STOCK-m7wls/zImage
echo "Copying modules"
rm -f /android/kernel/htcone/STOCK-m7wls/boot.img-ramdisk/lib/modules/*
find . -name "*.ko" -exec cp {} /android/kernel/htcone/STOCK-m7wls/boot.img-ramdisk/lib/modules/ \;
cd /android/kernel/htcone/STOCK-m7wls/boot.img-ramdisk/lib/modules/
for i in $(find . | grep .ko | grep './')
do
echo $i
/android/kernel/toolchain/arm-eabi-4.6/bin/arm-eabi-4.6-strip --strip-unneeded $i
done
echo "Stripped Modules"
echo "All done,Press Enter to Quit"
read ANS
Click to expand...
Click to collapse
-This is a quick script that does all the work for me. No need to add paths, etc. As long as your folders and filed match the paths of the script all will be ok. Now this script will have to be edited to suite your computer and the destinations of your kernel folders.
-Now once the script is fully correct and everything is setup just cd to the directory your script is in and type the following assuming your file name is m7wls type:
./m7wls
Once the script has fully run. It should take a while in the folders I made you should see zImage and kernel modules. From there you will need to know how to pack the kernel.
Notice if you downloaded sprints htc one kernel source the source is named m7wls-jb-crc-3.4.10-eb45596. I changed this to just m7wls to make it easier for the script.
Finally, remember you will have to make directories to suit the script for example this line "rm -f /android/kernel/htcone/STOCK-m7wls/boot.img-ramdisk/lib/modules/*" this is where the modules go "*" but I had to make these folders first boot.img-ramdisk/lib/modules/.
If you followed my instructions and did your own fooling around you should have a sense kernel built from source. This is not for beginners. If you have any questions just ask. Message me if you really need some more help.
Happy Building!
I'll add this to the faq guide when I get home from work thanks for the write up
Sent from my HTCONE using xda app-developers app
Cool thanks. Gotta add alot of stuff tho. Need to fix computer first. Doin this on phone is a pain.
Sent from my HTCONE using xda premium
HTC_M7 said:
Cool thanks. Gotta add alot of stuff tho. Need to fix computer first. Doin this on phone is a pain.
Sent from my HTCONE using xda premium
Click to expand...
Click to collapse
Updated Q18
What else would you guys like to know? Let me know. How to build a kernel from htc source? How to use apktool? How to read a logcat?
Sent from my HTCONE using xda premium
HTC_M7 said:
What else would you guys like to know? Let me know. How to build a kernel from htc source? How to use apktool? How to read a logcat?
Sent from my HTCONE using xda premium
Click to expand...
Click to collapse
Yes
Yes and
Yes
Sent from my HTCONE using xda app-developers app
Ok just added my fourth post on how to build a htc sense kernel from source
Im really trying to get this moved to general software section but no mod has contacted me back yet.
Sent from my HTCONE using xda premium
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hello everyone,
Does anyone know the proper udev's setting for Shamu 5.0 (LRX21O) ?
When I plug my shamu to my computer (Kubuntu 14.04) :
In normal operation with Debug Mode
A "lsusb" command from my terminal shows me shamu as Mako (Nexus 4)
lsusb said:
Bus 003 Device 015: ID 18d1:4ee2 Google Inc. Nexus 4 (debug)
Click to expand...
Click to collapse
From fastboot
A "lsusb" command from my terminal shows me shamu as Google Inc.
lsusb said:
Bus 003 Device 016: ID 18d1:4ee0 Google Inc.
Click to expand...
Click to collapse
From recovery (stock), "lsusb" doesn't show anything
"adb devices" doesn't show anything under "List of devices attached"
I didn't find anything on Linux-usb.org/usb.ids or with a search on Google
Edit : If I boot TWRP with command fastboot boot openrecovery-twrp-2.8.2.0-shamu.img
A "lsusb" command from my terminal shows me shamu as Google Inc.
lsusb said:
Bus 003 Device 023: ID 18d1:d002 Google Inc.
Click to expand...
Click to collapse
If I active mtp from TWRP
A "lsusb" command from my terminal shows me shamu as Google Inc. Nexus 4
lsusb said:
Bus 003 Device 026: ID 18d1:4ee2 Google Inc. Nexus 4 (debug)
Click to expand...
Click to collapse
If i select BP Tools from bootloader.
(Restart Bootloader > Recovery Mode > Power Off > Factory > Barcodes > BP Tools)
A "lsusb" command from my terminal shows me shamu as Motorola PCS
lsusb said:
Bus 003 Device 034: ID 22b8:2ea1 Motorola PCS
Click to expand...
Click to collapse
Here is my current android.rules
android.rules said:
### HTC Desire
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87", MODE="0666"
### Iconia Tab A500
SUBSYSTEM=="usb", ATTR{idVendor}=="0502",ATTR{idProduct}=="3325", MODE="0666", SYMLINK+="a500"
SUBSYSTEM=="usb", ATTR{idVendor}=="0955",ATTR{idProduct}=="7820", MODE="0666"
### Samsung Galaxy Y GT-S5360Arrow
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
### Google Nexus One
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e12", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e11", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e13", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
### Google Nexus 7 - adb protocol 16 GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666", OWNER="kowalski"
### Google Nexus 7 - adb protocol 8 GB version
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="kowalski"
### Google Nexus 7 - fastboot protocol
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666", OWNER="kowalski"
### Google Nexus 7 - mtp protocol
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666", OWNER="kowalski"
### Google Nexus 7 - Recovery
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="kowalski"
### Google Nexus 4 & Nexus 5
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee3", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee4", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="kowalski"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="kowalski"
### Android-powered
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="2d00", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="2d01", MODE="0666"
### StarAddict par SFR ZTE Skate
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1355", MODE="0666", OWNER="kowalski"
Click to expand...
Click to collapse
Thank you in advance
If I boot TWRP with command fastboot boot openrecovery-twrp-2.8.2.0-shamu.img
A "lsusb" command from my terminal shows me shamu as Google Inc.
lsusb said:
Bus 003 Device 023: ID 18d1:d002 Google Inc.
Click to expand...
Click to collapse
If I active mtp from TWRP
A "lsusb" command from my terminal shows me shamu as Google Inc. Nexus 4
lsusb said:
Bus 003 Device 026: ID 18d1:4ee2 Google Inc. Nexus 4 (debug)
Click to expand...
Click to collapse
If i select BP Tools from bootloader.
(Restart Bootloader > Recovery Mode > Power Off > Factory > Barcodes > BP Tools)
A "lsusb" command from my terminal shows me shamu as Motorola PCS
lsusb said:
Bus 003 Device 034: ID 22b8:2ea1 Motorola PCS
Click to expand...
Click to collapse
Hello,
I need to know what I am doing wrong. I unlock my bootloader, then I try to flash CM, but once I
run "fastboot flash boot boot.img" and restart, then phone is bricked. Only vibrates. No logo. This happened on 10.6.A.0.454 android 5.02.
I try android 4.1 rooting with DooMLoRD_Easy-Rooting-Toolkit-exploit, installing XZ-lockeddualrecovery2.8.21 and
then flashed Cyanogenmod and bricked my device.
Also I tried to install this way Resurrection-Remix-LP and bricked my device.
Every time my device is bricked, I enter FlashMod and restore an official ROM.
Can anybody help me?
SOLUTION
I managed to get it working with your help.
This was because of Linux permissions. I had to create a file, (if it does not already exists):
Code:
(sudo) touch /etc/udev/rules.d/99-android.rules
and write to it:
Code:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5193", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="6182", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="adde", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0dde", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d001", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d002", MODE="0666"
After this, I managed to run Fastboot without superuser (sudo) and run:
Code:
fastboot flash boot boot.img
This time device boot to recovery!
Ive read several dozen threads and none of them seem to have the same problem.
Note: this is on ubuntu, and a nexus 6 (though I have tried a dozen different phones)
adb devices // can see my device
adb reboot-bootloader // works fine (in boot loader mode now)
sudo fastboot oem unlock // waiting for devices
Everything I try... its always <waiting on devices>
Things Ive tried:
I made sure usb debugging was enabled
Enable oem unlock is checked in dev settings
Its unlikely a driver issue as I compile android apps all the time and deploy them to the device. adb works fine also.
There is a step which can be done where you look up the phone and you add it to a file in /etc and restart udev (ive done that too), but my understanding is sudo fastboot should work just the same.
Have tried a ton of devices always... <waiting on devices>
Read a ton of trouble shooting articles on <waiting on devices> on xdaforums but none seem to fit my problem.
Any help would be greatly appreciated. I need to root devices for development at work.
I would say check drivers but you say you've already done this. but adb can function without proper fastboot drivers.
Maybe I am missing a driver.
I just purged my machine of fastboot, and did sudo apt-get install android-tools-fastboot
Re-running sudo fastboot oem unlock still results in <waiting on devices>
Is there any other driver I need to install?
Is there any way to verify if a running device is in fact in fastboot mode?
It'd look something like this...
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I'm not much of a linux person so I'm not sure about any additional drivers.
Thanks! Yes It id definitely in fastboot mode then.
Now the question remains... why does it always show <waiting for devices> when I run sudo fastboot <insert any fastboot command>
Not real familiar with the ins and outs of Ubuntu (use Fedora myself) but I've always had better luck running ADB and fastboot as root than trying to use sudo. Also, do you need to be in a special group to use the USB hardware for fastboot, maybe??? Like I said, not real familiar with Ubuntu...
Also, is the USB port a USB 3 port? I've had problems like that on USB3 ports but when I switched over to the USB 2 port on the Lenovo, it worked fine. Also, make sure you have a good USB cable...had one that the DATA IN wire was broken... charged fine, could send out, never got anything back. Had another that came with some Bluetooth headphones that turned out to just be for charging, i.e., only POS and NEG connected on the plug, no data at all - near went crazy with that one because it looked just fine, nice and thick, no markings on it to indicate anything. Finally figured it out when I sliced the plastic cover off because I was so mad and figured it wasn't working anyway...only 2 wires inside! Good Luck!
First, you don't need sudo for fastboot.
Then when you switch to user root, you don't use the same environment, so it's possible the path is different, and you are using a different fastboot. If you type "which fastboot", and " sudo which fastboot" what do you get?
But anyway, why do you need sudo?
Sent from my Nexus 6 running cyosp using Tapatalk
gathem said:
adb devices // can see my device
adb reboot-bootloader // works fine (in boot loader mode now)
sudo fastboot oem unlock // waiting for devices
Click to expand...
Click to collapse
Did you try doing fastboot devices first?
istperson said:
First, you don't need sudo for fastboot.
Then when you switch to user root, you don't use the same environment, so it's possible the path is different, and you are using a different fastboot. If you type "which fastboot", and " sudo which fastboot" what do you get?
But anyway, why do you need sudo?
Sent from my Nexus 6 running cyosp using Tapatalk
Click to expand...
Click to collapse
Thanks!
I tried it as user root. Still < waiting for device >
I also tried
# fastboot devices // output: (just an empty line break)
# which fastboot // output: /usr/bin/fastboot
// (as normal user
#sudo which fastboot // output: /usr/bin/fastboot
I am pretty sure I had tested with a brand new usb cable a while back but will acquire another to test it.
Im not exactly sure on the type of cable/port. Its not an old linux desktop
Got a brand new cable and plugged in directly to the front of the desktop linux machine. I can copy files from the phones internal harddrive to my linux desktop so bi-directional communication is possible.
running fastboot oem unlock as root still results in < waiting for device >
Wanted to say... THANK YOU ALL so much for taking the time to help a random internet stranger get unblocked. I need this for work and I need to root 4+ phones but if I cant figure it out today I'm just going to find someone on craigslist to do it for me so I can get back to working on this project.
Maybe your fastboot is outdated. Download the most recent SDK, or even better, use it from the AOSP source. That's what I always do.
But you still shouldn't really need sudo for fastboot.
Have you set up the udev rules in /etc/udev/rules.d/ ? I usually call that file 99-android.rules and put in the necessary USB entries. Also I agree with making sure fastboot is up-to-date.
RMarkwald said:
Have you set up the udev rules in /etc/udev/rules.d/ ? I usually call that file 99-android.rules and put in the necessary USB entries. Also I agree with making sure fastboot is up-to-date.
Click to expand...
Click to collapse
I had them in a file named 70-adnroid.rules
# cp /etc/udev/rules.d/70-android.rules /etc/udev/rules.d/99-android.rules
# service udev restart
still <waiting for devices>
I didnt compile from source but I did freshly sudo apt-get remove android-tools-adb android-tools-fastboot and sudo apt-get install android-tools-adb android-tools-fastboot
Compiling from source seems like a huge pain.
gathem said:
I had them in a file named 70-adnroid.rules
# cp /etc/udev/rules.d/70-android.rules /etc/udev/rules.d/99-android.rules
# service udev restart
still <waiting for devices>
I didnt compile from source but I did freshly sudo apt-get remove android-tools-adb android-tools-fastboot and sudo apt-get install android-tools-adb android-tools-fastboot
Compiling from source seems like a huge pain.
Click to expand...
Click to collapse
I don't think you had to rename it, you could've left it.
What info do you have in that file? Below is what I have, if you have it already I apologize:
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0777", GROUP="plugdev" # MTP mode with USB debug on
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0777", GROUP="plugdev" # MTP mode with USB debug on
Top is when booted normally and TWRP recovery, bottom line is when at bootloader.
# All google devices
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="plugdev"
# HTC devices
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"
# Motorola devices ## This is the device I am currently working on, but as I said I have over 10 various version nexus devices I need to root
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="plugdev"
# Sony Ericsson devices
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0664", GROUP="plugdev"
# NVidia Tegra 250 development board
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0664", GROUP="plugdev"
# Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0664", GROUP="plugdev"
# Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0664", GROUP="plugdev"
# LG devices
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0664", GROUP="plugdev"
# Pantech devices
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0664", GROUP="plugdev"
# Huawei devices
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0664", GROUP="plugdev"
# Nook color
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0664", GROUP="plugdev"
# Acer devices
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0664", GROUP="plugdev"
# FOXCONN
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0664", GROUP="plugdev"
# GARMIN_ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0664", GROUP="plugdev"
# SHARP
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0664", GROUP="plugdev"
# ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0664", GROUP="plugdev"
# KYOCERA
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0664", GROUP="plugdev"
# QUALCOMM
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0664", GROUP="plugdev"
# OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0664", GROUP="plugdev"
# NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0664", GROUP="plugdev"
# PMC
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0664", GROUP="plugdev"
# TOSHIBA
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0664", GROUP="plugdev"
# SK_TELESYS
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0664", GROUP="plugdev"
# KT_TECH
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0664", GROUP="plugdev"
# ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0664", GROUP="plugdev"
# PHILIPS
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0664", GROUP="plugdev"
# K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0664", GROUP="plugdev"
# Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0664", GROUP="plugdev"
# Hisense
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0664", GROUP="plugdev"
# Amazon Kindle
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0664", GROUP="plugdev"
# Nikon
SUBSYSTEM=="usb", ATTR{idVendor}=="04b0", MODE="0664", GROUP="plugdev"
# Intel
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0664", GROUP="plugdev"
# Cellon
SUBSYSTEM=="usb", ATTR{idVendor}=="283b", MODE="0664", GROUP="plugdev"
# TCL
SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", MODE="0664", GROUP="plugdev"
# TeleEpoch
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0664", GROUP="plugdev"
# MTK
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0664", GROUP="plugdev"
# HP devices
SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", MODE="0664", GROUP="plugdev"
# OPPO devices
SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0664", GROUP="plugdev"
# Xiaomi devices
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0664", GROUP="plugdev"
# Razer devices
SUBSYSTEM=="usb", ATTR{idVendor}=="1532", MODE="0664", GROUP="plugdev"
# Archos devices
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0664", GROUP="plugdev"
I noticed your mode is 0777 so I switched 22b8 ti 0777
That didnt help either
I was having issues pushing files but then it just started working, and stops when it wants to, sometimes in the middle of a transfer. I'm using Xubuntu 15.10
Sent from my Nexus 6 using Tapatalk