[GUIDE] ADB & Fastboot not working under Windows? UBUNTU WILL DO! - Nexus 7 (2013) Q&A

The keystone of this guide: make ADB & fastboot working in Ubuntu, when nothing else helps with with Windows. Resent Windows OS versions are getting less flashing-friendly and some brands (like Samsung) release new devices on the market without compatible USB drivers. Before losing countless hours trying to solve the problems, try this, possibly very easy solution.
Compatible devices: ADB will work on nearly all devices, fastboot should be also usable for very most of the devices with bootloader mode: Nexus, HTC, Sony etc.
The guide is posted here in Nexus 7 (2013) thread for high amount of reported bootloops right after unlocking the bootloader- or problems with executing fastboot commands in Windows, which must work to unbrick the device.
DISCLAIMER:
Code:
* [I]I am not responsible for bricked devices or PCs, personal crisis, depressions[/I]
* [I]sleeples nights, termonuclear wars, electricity blackouts, short circuits,[/I]
* [I]or for bad weather in your region that will brick your Android device or your PC.[/I]
* [I]I try to help here, but it may not work for you. You do all on your own risk.[/I]
Click to expand...
Click to collapse
INSTALL ONLY FASTBOOT :
Windows can cause so many problems, that sometimes ADB & Fastboot simply won't work.
Run therefore ADB or fastboot in Ubuntu if Windows fails.
Installing ONLY fastboot in Ubuntu (should work with 10.x, 11.x and 12.x)
(internet connection required)
Run in the Terminal:
Code:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
Reboot isn't required.
Save all the flashing files on home folder, or navigate with "cd" to your files.
Happy flashing!
For the case it doesn't work after this, try THIS method which is little bit more complicated, but should work in actually all Linux OS variants.
Click to expand...
Click to collapse
INSTALL ADB AND FASTBOOT :
To fix a bootloop, for unbricking, to root, to unlock/relock the bootloader, for flashing of a stock firmware, kernel, or recovery: for all those things fastboot must work reliably. And in Windows, it sometimes simply won't work at all, whatever you try.
Windows OS is complicated. And needs drivers at all times. Successful use of ADB or Fastboot with Windows is totally dependent on perfectly installed drivers. And there we have the source of many problems. As way around all those in fact Windows related promblems, we will use here Linux instead of Windows. Linux needs no drivers. Linux is free. Linux needs no antivirus software. Linux gets optimized day by day. Your Android device is Linux based.
After reading how many users encounter day by day countless issues by attempt to run fastboot and ADB commands (especially here in Nexus threads), I've decided to make this guide. There are some longer and complicated guides here around. I like fast, easy and secure way- so I hope this will help.
STEP 1: how to run Linux on Windows PC
There are many variants of Linux OS, but to keep the things really simple I will refer here entirely to the most popular variant of Linux: Ubuntu.
Windows users have three common ways to run Ubuntu on their Windows PC:
OPTION 1: installing Ubuntu permanently (my personal preference)
Pros: you will gain Ubuntu OS besides Windows and possibility for dual-boot. Reboot between Windows and Ubuntu takes about 1 minute. Full functionality of both operating systems.
Cons: in very seldom cases the installation of Ubuntu doesn't work flawless and if Ubuntu gets installed on the same HDD, Windows OS can get partly damaged or unusable, or has to be re-installed. Part of HDD memory space has to be permanently reserved for Ubuntu (min. 10GB recommended) and won't be accessible from Windows anymore.
OPTION 2: running Ubuntu from bootable live-CD
Pros: Ubuntu won't get physically installed, it runs 100% virtually from bootable live-CD and uses only RAM of the PC. People who don't desire to install Ubuntu permanently will have no changes on their PSs. No potential risks due to unsuccessful installation. In general, works with most of the computers.
Cons: No data or settings can get permanently saved in Ubuntu, especially Linux novices will have to learn quickly about setting the permissions: each time again after restarting Ubuntu session from the live-CD. Ubuntu is considerably slower this way.
OPTION 3: running Ubuntu from VirtualBox (in your Windows OS)
Pros: easy way to run Ubuntu directly from Windows in kind of "sandbox"
Cons: doesn't work well with some PCs
STEP 2: INSTALLING FASTBOOT & ADB IN UBUNTU
Now when your Linux OS is working, we can finally go for it!
Make sure to have internet connection
open the Software Center in Ubuntu
install openjdk-7-jdk
install Eclipse
download adt-bundle for your respective OS (32-bit or 64-bit version) from http://developer.android.com/sdk/index.html
extract the folder and paste the extracted folder to prefered folder and rename it to your prefered folder name
run the Terminal and navigate (cd) to the unzipped folder into "platform-tools"
Example for novices: I have pasted my extracted adt-bundle folder under "Home" and renamed it to "SDK", so I have to navigate to my platform-tools this way:
Code:
cd /home/tetakpatak/SDK/sdk/platform-tools
After this, you should be able to execute all the ADB and fastboot commands
Now just mind to paste all the files you desire to flash or push or sideload into your "platform-tools" folder!
Happy flashing!
Click to expand...
Click to collapse
DOWNLOAD LINKS
Ubuntu OS: DOWNLOAD HERE
Virtual Box: DOWNLOAD HERE
Warning: VirtualBox supports only the 32-bit version of Ubuntu, so also owners of 64-bit PC-systems should make sure to download the 32-bit version of Ubuntu, and not the 64-bit version!
ADDITIONAL INFORMATION AND USEFUL LINKS
Checklist for ADB:
for using in Android OS make sure to enable USB debugging under "developer options"
ADB works in Android OS and in the recovery mode, but not in the bootloader mode
make always sure at the very beginning that your ADB connection works by typing "adb devices" (the response must include a serial number on the left and "device" right after it!)
Basics about ADB: check for example this excellent ADB guide
Checklist for fastboot:
fastboot commands can be executed only in bootloader mode
fastboot commands will work also if USB debugging was disabled
make always sure at the very beginning that your fastboot connection works by typing "fastboot devices" (the response must include a serial number on the left and "fastboot" right after it!)
by using fastboot for the first time on a PC or Android device, never start with bootloader flashing! Missmatched bootloader flashing can hard-brick the device. Rather first execute "fastboot reboot-bootloader" and try to flash a kernel or recovery to make sure flashing commands are working and the connection is established.
Flashing with fastboot (example Nexus 7 v2012): check this excellent guide by @comminus
My self made video of flashing a full factory image with manually done fastboot commands in real time (example Nexus 7 v2012):
Click to expand...
Click to collapse
Please use "thanks" button beyond my posts if you find this guide useful. I've spent my time to help you, who read this.

TROUBLESHOOTING:
Occasionally, the device's storage doesn't get recognized in Ubuntu (something like MTP Camera error, can't mount camera, or so). The source of this problem is, that Ubuntu 12.04 doesn't support MTP natively yet, hopefully 13.04 will do.
This is the solution that should work with Ubuntu 12.04, enter in Ubuntu Terminal following:
Code:
sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update
sudo apt-get install gvfs
restart your PC, now everything should work (enable USB debugging if it doesn't)
If this method wasn't successful, you can try alternatively to do the same thing with these two repos:
Code:
sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs
After the last command just reboot the PC
Also this repo could work:
Code:
sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update
sudo apt-get dist-upgrade
If none of both repos works and you want to uninstall both of them, just enter:
Code:
sudo ppa-purge ppa:webupd8team/unstable
sudo ppa-purge ppa:langdalepl/gvfs-mtp

great tutorial!
tetakpatak said:
reserved
Click to expand...
Click to collapse
Hey brother, great tutorial...
I know this will help so many people in the future and i love to see anything linux based! I have been using linux/bsd based operating systems for years and i love the way linux and android work together!
Take care my friend and thanks again for all of the hard work.
-droidshadow

You can also put your computer in test mode which bypasses msm kernel mode code signing policy. This will enable the ability to install the drivers needed. From the administration profile on your PC open a command prompt and type
Bcdedit.exe -set TESTSIGNING ON
Then restart your computer.
Edit: This is for Windows 7 X64 and Windows 8 users alike.
Sent from my Nexus 7 Flo running CM 11 4.4.2 with ElementalX Kernel using XDA Premium 4 mobile app

I keep getting a keyserver error when entering first command.

Got it to install the problem I see now is with java

Steve One said:
I keep getting a keyserver error when entering first command.
Click to expand...
Click to collapse
Which Linux version do you use?
tetakpatalked from Nexus 7 flo

tetakpatak said:
Which Linux version do you use?
tetakpatalked from Nexus 7 flo
Click to expand...
Click to collapse
Mint15

Here's another shot

Steve One said:
Here's another shot
Click to expand...
Click to collapse
Please google a bit, I think you need another repo for Mint 15, I think I saw it somewhere in www last week. Sorry, I can't research right now until end of week.
tetakpatalked from P5110

tetakpatak said:
Please google a bit, I think you need another repo for Mint 15, I think I saw it somewhere in www last week. Sorry, I can't research right now until end of week.
tetakpatalked from P5110
Click to expand...
Click to collapse
I'm truly stumped went from Windows Vista to all Linux to be able to use adb and still can't get it to recognize my device.
I installed the java 7 sdk but it still doesn't recognize my device..........guess I will try to get a Petra CD don't know what else to do ha ha and I thought this was the easy way to get adb to work. Thank you for your help kind Sir.

Steve One said:
I'm truly stumped went from Windows Vista to all Linux to be able to use adb and still can't get it to recognize my device.
I installed the java 7 sdk but it still doesn't recognize my device..........guess I will try to get a Petra CD don't know what else to do ha ha and I thought this was the easy way to get adb to work. Thank you for your help kind Sir.
Click to expand...
Click to collapse
It should definitely work with Ubuntu versions 10. 11. and 12.04 even without extra installing Java. I didn't try it with other Linux versions.
Which Linux did you install? Did you enable USB debugging?
Check in www as there are different repos available for ADB and fastboot.

Opening post updated: added procedure for enabling all ADB and fastboot functions in Ubuntu, for the short way with enabling fastboot only doesn't work with every Ubuntu version.
tetakpatalked from the legendary i9000

Related

adb

how can i use adb if i cant install drivers to windows 7..maybe linux??
sorry for being a complete noob
ADB is working in Ubuntu without any drivers needed.
davebugyi said:
ADB is working in Ubuntu without any drivers needed.
Click to expand...
Click to collapse
can you give me a thread about that?i want to know more!
In these tutorials the android SDK is outdated - Download it from the official site, to get the latest version.
I used the first method to set it up on Ubuntu 11.04 Natty. I can confirm it works.
http://forum.xda-developers.com/showthread.php?t=537508
http://forum.cyanogenmod.com/topic/116-tutorial-ubuntu-android-sdkadbfastboot-updated/
orsidoc said:
how can i use adb if i cant install drivers to windows 7..maybe linux??
sorry for being a complete noob
Click to expand...
Click to collapse
ADB works fine in Windows 7, even on x64. Download the latest HTC Sync, run the setup file then cancel it after the first stage (driver install) if you only want the drivers. Then go to your adb directory via command prompt and type adb remount (make sure the phone is plugged in and turned on, doesn't need to be unlocked or set to Disk drive though)

[Q] Cyanogenmod 7 and Linux

Hi all,
I have just received my Defy and I'd like to flash Cyanogenmod 7, I've flashed numerous roms to numerous phones in the past but I was always using Windows. I now use Linux (latest ubuntu derivative).
Is there a guide anywhere for flashing from a linux machine? My google-fu is pretty much pulling up a blank on the subject!
Thanks very much
Follow steps from FAQ for CM7, and just use this : http://forum.xda-developers.com/showthread.php?t=1076138 for flashing SBF and rooting,
It's my second post for the same question today
There's just two things to know:
1) You don't use RSD Lite to flash sbf files, you use this instead: http://blog.opticaldelusion.org/2011/02/sbfflash-updates.html
2) To root the phone you don't use SuperOneClick. Instead, get this DefyRoot pack: http://forum.xda-developers.com/showthread.php?t=1076138. Extract the pack, run the script using sudo.
And that's that. With the above differences in mind, you can follow the usual instructions: http://forum.xda-developers.com/showthread.php?t=1065798
Edit: Damn, bikerabhinav was faster
Thank you guys for the quick replies! time to give it a go
Sorry but you don't happen to know the link for installing adb on linux do you? presumably I need it hehe
I got the SDK and extracted to a directory of my choice, how on earth do I use it though, executing android in a terminal does not work, the rest is simple, can't believe I'm stuck on this part lol
I sorted that, I ran android and downloaded the development tools, I now have adb. I need to research more now, ran adb via terminal, then tried to run the rootdefy.sh but it told me adb wasn't started! see this is going to be a learning curve in Linux
You don't need the SDK, the RootDefy pack has everything necessary. I never installed the SDK.
ADB starts automatically if it isn't running yet. Did you run the script as sudo, like I told you? If not, there can be various problems. It's not necessary to run it with sudo if there's an udev rule for the phone. The script attempts to write one, but I'm not sure if it still works with the latest udev versions.
So let's do it manually:
- unplug the phone
- create a /etc/udev/rules.d/51-android.rules file containing this:
Code:
ATTRS{idVendor}=="22b8", MODE="0666"
- now reload udev:
Code:
sudo udevadm control --reload-rules
- just to be sure, kill all previous adb instances:
Code:
sudo pkill adb
- now plug the phone in and run the script again; with or without sudo, it shouldn't make a difference anymore
Thanks very much, all done and dusted now

[GUIDE ME] I wanna Dev

[New Question.] So let's start with the first things I'll need to know.....
how do I build root into a stock rom?
How do I create a flashable .Zip from scratch for my rom to go in?
How do I edit the text from cwm when I flash this rom?
And yes this thread is going to become a guide once I learn all I need to know about Building roms for the epic =]
[ANSWERED]So I'm thinking about kicking windows out the, erm, window lol..... I want to start learning about developing and want to start a few projects to pay back the community..... I'm guessing I can't develop on windows so I was wondering what would be the best version of Linux to use?..... and would it be possible to port a driver from windows to Linux?[ANSWERED]
A little how to for this guide..... Thank you mkasick =]
mkasick said:
Download Superuser su-2.3.6.3-efgh-signed.zip. Unzip, and copy "su" to "/system/xbin/su" on your phone, and run:
Code:
chown root.shell /system/xbin/su
chmod 4755 /system/xbin/su
from an adb root shell or terminal emulator. Then optionally copy Superuser.apk to /system/app. The part is optional because you can also install it to /data like a normal .apk, or install it from the Market, there's nothing special about it.
Grab tws_fix_ringer_vib_silent-EC05-deodex.zip (from this thread). Unzip and delete "META-INF/MANIFEST.MF", "META-INF/CERT.SF", "META-INF/CERT.RSA", and "system/framework".
Now, place whatever you want in the appropriate subdirectory of "system", creating them as necessary. Edit "META-INF/com/google/android/updater-script" to match the description of whatever you want to flash. And zip everything back up, e.g.,:
Code:
zip -9r update-unsigned.zip META-INF system
Note the zip should contain "META-INF/com/google/android/update-binary" and "META-INF/com/google/android/updater-script", in addition to anything you've placed in "system".
At this point the update.zip is flashable in ClockworkMod, but it's nice to sign it so that it can also be flashed in a test-keys stock recovery. To do so, download the attached "signapk.tar.gz". Extract it, then run:
Code:
java -jar signapk/signapk.jar -w signapk/testkey.x509.pem signapk/testkey.pk8 update-unsigned.zip update.zip
The resulting update.zip of which you can now distribute.
As for the "from scratch", update-binary and signapk.jar are both build from Froyo AOSP sources, specifically the android-cts-2.2_r2 branch. If you get an AOSP build environment setup as described, update-binary is made with:
Code:
make out/target/product/generic/system/bin/updater
cp -a out/target/product/generic/system/bin/updater update-binary
and signapk.tar.gz with:
Code:
make out/host/linux-x86/framework/signapk.jar
mkdir signapk
echo "java -jar signapk.jar -w testkey.x509.pem testkey.pk8 update-unsigned.zip update.zip" > signapk/README
cp -a out/host/linux-x86/framework/signapk.jar build/target/product/security/testkey.* signapk
tar cf signapk.tar signapk
gzip -9 signapk.tar
See above, but basically just modify the "ui_print" strings in "META-INF/com/google/android/updater-script".
Click to expand...
Click to collapse
If you've never used Linux before I would recommend using something like Mint just to get your feet wet.
Oh I've used mint, opensuse,Ubuntu, fedora, and debian before..... but I don't know which one is best for developing roms and compiling kernels and all that jazz..... and I don't think my wifi USB has a native driver for Linux so that's what's really keeping me from overwriting windows.....
theduce102 said:
Oh I've used mint, opensuse,Ubuntu, fedora, and debian before..... but I don't know which one is best for developing roms and compiling kernels and all that jazz..... and I don't think my wifi USB has a native driver for Linux so that's what's really keeping me from overwriting windows.....
Click to expand...
Click to collapse
I use Ubuntu, I know a lot of people use gentoo but it's definitely not like debian based distros lol
Like you said with the driver, it all comes down to what is available and compatible with your system. I recommend Ubuntu just because of the (duh) massive support base compared to other distributions in terms of drivers and such.
Sent from my SPH-D700 using XDA Premium App
thomasskull666 said:
I use Ubuntu, I know a lot of people use gentoo but it's definitely not like debian based distros lol
Like you said with the driver, it all comes down to what is available and compatible with your system. I recommend Ubuntu just because of the (duh) massive support base compared to other distributions in terms of drivers and such.
Sent from my SPH-D700 using XDA Premium App
Click to expand...
Click to collapse
Thank you for the advice =]
EDIT: I don't know much about command lines..... what do people mean when they say "cd" like "cd to the folder in the terminal"?
Change Directory
So something like cd /sys/app nvigates you in the "app" directory within the system *folder* you will then be installing / modify / editing or whatever to the files in that specified directory.
Okay well I just installed Ubuntu 11.04 on top of vista and I can already tell I'm going to be spending most of my time on Linux instead of windows if I can get this driver installed without causing wwIV
EDIT: Okay so everytime I type "sudo" to gain root the terminal asks for my password but it won't let me type it???? What do I dooo!!!!
For application and kernel development it doesn't really matter which distribution you're running as the commonly used packages (e.g., Android SDK/NDK, Java, Sourcery G++ Lite) are fairly agnostic.
If you wanted to compile the AOSP source tree, Ubuntu might be the best route, only because the documentation uses Ubuntu configurations and package names as examples.
And yes, it worth going through command line tutorials. I don't recommend that one specifically, it was just the first hit on Google.
As for your sudo issue, just type the password. It doesn't show you the password as you type it for privacy purposes.
mkasick said:
As for your sudo issue, just type the password. It doesn't show you the password as you type it for privacy purposes.
Click to expand...
Click to collapse
Yeah I went ahead and typed it but no go..... ill boot back into Ubuntu and try it again but if its still not working what's my next move? Sorry for being such a Linux noob in xda lol
theduce102 said:
Yeah I went ahead and typed it but no go..... ill boot back into Ubuntu and try it again but if its still not working what's my next move? Sorry for being such a Linux noob in xda lol
Click to expand...
Click to collapse
Did you install or are you running live?
Got this from http://ubuntuforums.org/
You can't login as root. Ubuntu does not use the root account. You can use sudo if you need to do anything as root, see: https://help.ubuntu.com/community/RootSudo
As far as I know, the password on the live CD is empty. Just press Enter when it asks for a password after entering "sudo <command>".
Well I did the dual boot option so when I boot my system I choose between Ubuntu and vista..... I had to choose a password and it worked when I typed it this time..... but now I have another problem lmao.....
I can enter "sudo make" and it does its thing, then I enter "sudo make install" and all goes well, but then I enter "sudo modprobe rt3572sta" and it returns "Invalid module format".....
I copied the entire terminal convo if it would help I can post it?
Any ideas?
EDIT: yeah I made an account over their at the forums but it seems pretty slow especially when I need help with one specific device?
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Lol I once compiled a driver to use my blackjack 2 as a modem on a 300mhz thin client rdp computer that I got puppy linux to run on in 2007
Sent from my SPH-D700 using XDA Premium App
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Good suggestion, makes things a lot easier. The only thing is performance, you will be running on (usually) half the power of the computer which will slow compile times to a crawl for example.
As far as the root password goes, use the passwd command to change it:
Code:
sudo passwd root whateverpassword
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Thanks that's what I was thinking about doing but like thomasskull said it likely gonna take a dump on performance but may be the only choice I have....
thomasskull666 said:
Good suggestion, makes things a lot easier. The only thing is performance, you will be running on (usually) half the power of the computer which will slow compile times to a crawl for example.
As far as the root password goes, use the passwd command to change it:
Code:
sudo passwd root whateverpassword
Click to expand...
Click to collapse
Well I don't really care much about changing password anymore cause I was finally able to enter the password but as always there's another problem..... ill probably post the terminal readings later on tonight when I get back to my computer.... and as for using a virtual machine, is there another way to go without dumping performance and without dealing with installing drivers through the terminal.....
Thank you all so much.... you guys have no idea how much I appreciate your help =]
So I downloaded VMware Player, where do I go from there to get the drivers installed so that I can reboot into Ubuntu and use the wifi card?
Well, under vmware workstation you should be able to just install a vm with just the iso file or the cd of the ubuntu build you want to install, its prescripted, and easy t use. With vmware workstation you can define hoow many proscessors you want to use, threads, ram, w/e... then vmware also installs a network service under windows that uses windows to transfer the network data into your vm. No need to configgure your wifi under linux anymore
Also, I think you're missing the point of a Virtual Machine. A VM runs alongside your current OS install. Software like VMWare Workstation acts as if its a virgin computer and makes an image file on your hard drive that acts as a hard drive for the VM. You can be running windows and linux simutaneously with a VM. For instance, whenever I develop or need linux, I open my vm nd use it on my seccond monitor. One monitor windows, the other linux, and you can even drag and drop **** to each other os. Its amazing. Just make sure you allocate uenough threads and ram to your vm and you should be fine.
Can I use all the ram and threads because I only have 1GB ram and a 3GHhz dual core processor..... or is that enough to run it
with only 1gb of ram, you probably wouldn't want to run a VM since you'd really not want to use more than 512mb of your total 1gb.. With that little ram, your best choice is the dual boot setup.

Galaxy Nexus MTP and Ubuntu or Mint Linux solved

I didn't have a GN until this week so my only LIMITED experience was with my nephew's GN and I was not able to connect it to my Ubuntu 11.10, 11.04, 10.10 or Mint 12. I got my own this week and started the search. Here is how you do it courtesy of Shannon VanWagner
and his website Humans Enabled
Shannon's info:
https://plus.google.com/115207567016362184954/about
Thanks Shannon. Here is the what you should do: again all credit goes to Shannon VanWagner. Fire up a terminal session:
1-
Code:
sudo apt-get install libusb-dev
2- download libmtp tar.gz from http://sourceforge.net/projects/libmtp/files/libmtp/
3-cd to the directory you downloaded to: Download in this case, case sensitive
Code:
cd Downloads
4- extract the tar package
Code:
tar xvf libmtp-1.1.1.tar.gz
please make sure you check the file version, this file changes as it is updated and change it accordingly per the above website
5- cd to the newly created folder that has the extracted file:
Code:
cd libmtp-1.1.1
again don't forget to change the name if the version has changed
6- compile and install: do each step separately
Code:
./configure --prefix=/usr
Code:
make
Code:
sudo make install
7- while in the same directory in the terminal, copy the rules from there to the udev folder:
Code:
sudo cp 69-libmtp.rules /etc/udev/rules.d
8- install gMTP:
Code:
sudo apt-get install gmtp
9- open up gMTP, go to edit/prefrences and check the box for Always Show Download Path. This way when you are downloading from the phone to your computer, you are asked to choose a location. Use the Add button to upload from your Linux Box to the phone. Delete does, well, Delete a file.
Thanks so much for this. I was having all kinds of problems! Worked flawlessly!
I'm just wondering, why people still using USB cable for file transfers? There's gazillion threads here about broken USB ports and all of them are reall. I had my self that problem on SGS2 and since then i started to use Wifi Explorer. It's just safer and easier.
Don't take this as thread spoiling, i'm really thankful to everyone who shares info. l'm just trying to warn you, because USB port problem does exist even if you're extremely careful as i am.
Sent from my super Galaxy Nexus plus®
I love Wifi Explorer as well but you do run a much greater risk of a corrupted file over wifi as opposed to usb.
I didn't have to do step 2. All I did was install libusb-dev and install gMTP and it worked.
That said I hate what google did here! I can no longer play music via usb on my car deck because of this
MS. said:
I'm just wondering, why people still using USB cable for file transfers? There's gazillion threads here about broken USB ports and all of them are reall. I had my self that problem on SGS2 and since then i started to use Wifi Explorer. It's just safer and easier.
Don't take this as thread spoiling, i'm really thankful to everyone who shares info. l'm just trying to warn you, because USB port problem does exist even if you're extremely careful as i am.
Sent from my super Galaxy Nexus plus®
Click to expand...
Click to collapse
Thanks for the suggestion. I do use that especially since Amazon App store had it as the Free Paid app of the day a few months back. But you still need your wired connection for important files like radios, kernels, and roms. hate corrupted radios
Then i must be lucky, had no corrupted transfers yet (or at least i didn't notice that)
apt-get install gmtp fails.... I get the following::
Reading package list... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gmtp
What now? I'm running 64bit Ubuntu 10.04 LTS
Hello, I wonder if can I expect a Fedora solution?
DAG425 said:
apt-get install gmtp fails.... I get the following::
Reading package list... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gmtp
What now? I'm running 64bit Ubuntu 10.04 LTS
Click to expand...
Click to collapse
I'm sure you did sudo apt-get, right?
gMTP is in the Ubuntu software center. I guess you can get it that way too.
Yes, any time i know im gonna need sudo multiple times i just run root terminal.... Got it from package manager! Thanx!!
Anyone else noticing massive slow ups when transferring files? The only things that happens quick is to download something from the device, uploading, and deleting take forever.
Thanks man for the guide.
its working but its supposed to be so slow(connect takes so long)??
Hi I've followed your guide down to the letter but my Nexus won't mount gMTP hangs and refuses to respond. What do you suggest?
emmib said:
Hi I've followed your guide down to the letter but my Nexus won't mount gMTP hangs and refuses to respond. What do you suggest?
Click to expand...
Click to collapse
a little info may help. What version of Ubuntu are you running? Any errors?
You may also want to look in to mtpfs which is a FUSE filesystem providing access to MTP devices. It's easy to use and with correct permissions you can mount the device as a user.
I've been using it and there is a long pause mounting the device for some reason but read / write speeds are very good. When the phone is connected you simply mount it with:
mtpfs [mount point]
Lost Dog said:
You may also want to look in to mtpfs which is a FUSE filesystem providing access to MTP devices. It's easy to use and with correct permissions you can mount the device as a user.
I've been using it and there is a long pause mounting the device for some reason but read / write speeds are very good. When the phone is connected you simply mount it with:
mtpfs [mount point]
Click to expand...
Click to collapse
so you just connect the point and type the above? Do you have to specify the mount point? What do you use?
loveubuntu said:
so you just connect the point and type the above? Do you have to specify the mount point? What do you use?
Click to expand...
Click to collapse
Make a directory to mount it at (~/phone or something). Connect your phone in MTP mode then type:
mtpfs ~/phone
It's user space so you don't need to use su or sudo. You do however need to have FUSE support in your kernel. You may need some of the other dependencies but if you install mtpfs in mint it should pull those in (I'm using Mint 12).
loveubuntu said:
a little info may help. What version of Ubuntu are you running? Any errors?
Click to expand...
Click to collapse
I'm terribly sorry about that, how rude of me XD I'm not running Ubuntu, I'm running Linux Mint 12, 32-bit. My Nexus is completely stock, GSM, running 4.0.2.
I finally can transfer files between ubuntu and my galaxy Nexus. Dumb google.
It took me days to find this thread. Wow you are amazing. I have tried different tutorial that would freeze my pc. Thanks for for sharing.

Xperia on Ubuntu (Udev rules, Flashtool, ADB&Fastboot)

This is a thread written to try and get poor MilkyJoePD up and running with his Ubuntu build, but it should be of help to anyone.
First of all, what you need:
1) Any version of Ubuntu from 10.04 onwards, with superuser access. The upcoming LTS Ubuntu 12.04 will be a great idea when it comes out, as it'll be maintained for 5 years (so the instructions to install it there will be valid for all that time).
2) Your Xperia Play (or any Xperia phone actually).
3) A Micro USB cable to connect it.
4) An open mind about terminal emulators. They're useful because they allow you to do things quickly and cleanly, if you just know their syntax.
What will we be doing in this thread: we'll set up our Xperia Play so that it gets recognized properly by Ubuntu. In addition, we'll set up ADB and Flashtool, which are programs with which our Xperia Play can interact. Lastly, we'll cover how to summon the "adb" and "fastboot" commands from any point in the terminal, by adding them to the $PATH variable.
Setting up the Xperia phone: udev rules
Android devices don't need specific drivers to work in Linux: you can plug an Android phone and it will be recognised as a flash drive. However, if we want deeper levels of interaction, such as the ones which ADB, Fastboot and Flashtool provide, we have to set up udev rules. Long story short, udev rules allow us to give the proper permissions that these modes require without having to function as superuser the whole time (an undesirable state of things in Ubuntu). Much more about them can be found here for the curious minds out there.
But let's not get lost. We want to set up udev rules, so we'll do it. First of all, we need to know the following: a device connected while it functions normally is not "seen" as the same device when it's connected in the Flash or Fastboot modes. In order to identify it, we can run "lsusb" which lists all of the ports, and connected devices, in our computer.
So, let's connect a Xperia phone which is turned on. We don't have to mount the sdcard as a flash drive, just plug it in. Once you have done that, open a terminal and type
Code:
lsusb
It will list you a boatload of devices, but only one of them is relevant to you right now:
Code:
Bus 00x Device 00y: ID 0fce:aaaa Sony Ericsson blah blah
The device is identified with two alphanumeric chains. The first one is the vendor ID, and the second one is the Product ID, which are the identificators we're going to use for the udev rules later on.
Let's switch off our phone, and plug it in "Flash" mode (hold the Back button while you connect it). Run "lsusb" again in the terminal again, and you'll find:
Code:
Bus 00x Device 00y: ID 0fce:bbbb Sony Ericsson blah blah
The Vendor ID is the same (0fce) for all Sony Ericsson devices, but the Product ID is different, as you can see. This is consistent with the idea that it's identified as "another" device.
The last part would be plugging the phone in Fastboot mode, holding the Search key while we plug the phone. Typing "lsusb" in the terminal again will give us:
Code:
Bus 00x Device 00y: ID 0fce:cccc Sony Ericsson blah blah
Which is, as we know already, a different Product ID.
Now that we have the device ID needed for the udev rules, we can write them. The most expedite way is to write in that lovely terminal:
Code:
sudo gedit /etc/udev/rules.d/99-android.rules
That means, we'll use the standard text editor (gedit) to create the file 99-android.rules in the /etc/udev/rules.d folder. If we visit said folder we'll find other udev rules created already, but they're not interesting for our task. Notice that we ask for superuser permissions with "sudo" as we need them to write or modify udev rules. Once we have put our password we'll find an empty text file. And now we just copy-paste the following syntax:
Code:
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”aaaa″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”bbbb″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”cccc″, MODE=”0666″
In human language, this means "Give the devices that are connected through USB and which have the mentioned ID codes the permissions 0666 (read/write access), which need root access".
Once we've filled the gaps, we just save the file. After we close it, we have to type in the terminal "sudo restart udev" and we've taken care of that part. Rebooting the computer has the same effect, but it's a bit of overkill, really.
Flashtool
With the udev rules fixed, we can go to the next step, which would be using Flashtool. It is necessary to mention that unlike the Windows version, Flashtool doesn't need any installation of any kind in Linux, you just run the program (the file called Flashtool) and you're set. You have to download the Flashtool folder, uncompress it and run the program. The folder is compressed in .7z format: Ubuntu doesn't manage 7z packages "out of the box", but that's no problem: go to your terminal, type:
Code:
sudo apt-get install p7zip-full
and that should take care of it. If you're not familiar with that command, "apt-get install" is the way to install packages from your existing repositories in Debian/Ubuntu; installing software in Ubuntu requires superuser access, as I'm sure you know. p7zip-full is a package which adds 7zip support to the archive manager of Ubuntu.
I won't cover how to use Flashtool, since I already did so in this post. While I made the tutorial for an older version of Flashtool, the base functions are exactly the same as before.
Optional: ADB and Fastboot; setting them in $PATH
OK, now we're going to the stronger stuff: if you want to do a bit more than restoring official ROMs and flashing kernels you'll do well in using the ADB and Fastboot programs. They're part of the platform tools of the Android SDK. You can download the latest Android SDK here: http://developer.android.com/sdk/index.html
Once you've downloaded and uncompressed the Linux version of the SDK, go to the "tools" folder and run the "android" file (you need to mark it as executable first, in the properties). That file is the Android SDK Manager. Once it's running, you only need to install the SDK Platform Tools package. The rest are not necessary for our purposes.
Once you install the package, you'll notice that the folder where you unpacked the SDK is bigger. You'll find there the "platform-tools" folder, which contains adb and fastboot. You can run them from a terminal, but that requires you to have your terminal running in the exact folder where your /<Path/to/SDK> directory lies. This can get old really quickly if you use ADB and/or Fastboot frequently, so we'll do a trick that will allow us to summon them from any folder: we'll add them to our PATH variable.
In order to do this, we need to open a new terminal. It will start in our home directory. There is a file called .bashrc in our home folder that we need to tweak, so let's go to it. You don't see it normally, as it's hidden. All files which begin with a . in Linux will be hidden by default. You can see them in Nautilus by pressing Ctrl+H, and in a terminal by typing "ls -a". At any rate, this file is hidden because you usually don't need to touch it, but we'll do it here.
In our terminal, we write
Code:
gedit .bashrc
Again, gedit is the standard text editor in Ubuntu.
We see a lot of stuff we don't need to touch. We just need to go to the final line, after the word "fi" and write below:
Code:
# ADB and Fastboot direct link (this is a comment, so we remember what we did)
PATH=$PATH:/home/Path/to/SDK/platform-tools/
export PATH
We save the modified file, close any terminal we had left open, and now we can use adb and fastboot directly from any folder. Just connect your device with debug mode on for example, and type "adb devices": you should see the ADB identificator of your device.
And with that, I cover the installation guide of Xperia phones in the Ubuntu environment. I hope it's useful to everyone, particularly to MilkyJoePD who has inspired me to write it. If I've missed something I should have mentioned, by all means say it.
Haven't used Ubuntu for a while but I'm taking note of this for later. Thank you for the info.
Sent from a Galaxy far, far away
don't forget to install de dependencies:
Code:
sudo apt-get install libusb-1.0
on 64 systems, you need 32bits libraries, so run:
Code:
sudo apt-get install ia32-libs
With the news of Sony not releasing ICS, I decided to try again to get fastboot working.
While installing the dependencies, I get this:
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/main i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_main_binary-i386_Packages)
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/restricted i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_restricted_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Where do I go from here?
Remove CD-ROM reference from sources
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD). It should be the first thing you turn of after any install anyway. In my humble opinion.
Then run
sudo apt-get update
sudo apt-get -f install
this should resolve any pending issues and get you running.
skeltonh said:
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD).
Click to expand...
Click to collapse
How do I do that?
Sent from my R800i using XDA
Or can somebody can tell me what it means so I can Google it?
Sent from my R800i using XDA
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
On what OS? If it's Linux, you have to add a Dotslash to execute the file.
Swypesation
I have created udev rules as said above, but flashtool still says 'Add udev rules'.
What I am missing here. I'm using Ubuntu 12.04.
Any help is appreciated.
You must start flashtool with root acces
is rooting ur play a wise decission?
wat is better 4 my play, ics or gingerbreadman?
where/what is the search key on a mini pro?
Thanks
Big Thanks for this Tutorial Logesman. :good: Just wanted to add that I think...anyone having trouble installing SDK + Manager has to install Java JDK first. Yes, I got stuck at installing SDK.:silly: I tried to run android file in tools folder (as executable) which opens manager.
From Terminal:
sudo apt-get install openjdk-7-jdk openjdk-7-jre
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
install windows might be easier.
Sent from my Xperia Play using Tapatalk 2
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
Have you tried running adb as root? (After a week of testing 12.04, I left to go back to 10.04, a much better release, imo)
Pax
Sent from my R800x using Tapatalk 2
IE-coRe said:
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
Click to expand...
Click to collapse
seems like you didn't path the fastboot command correctly, try check back again at your .bashrc
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
same case as the above
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
would you mind telling what does the error says?

Categories

Resources