I want to post my findings here. It could be useful for developers playing with bootloaders, and for users who accidentally break their Droid.
DISCLAIMER: I am not responsible for any damage, caused to your phone, when you did something using information from this thread. Be extremely careful shorting any pins (and to do at YOUR OWN RISK)
There is two types of bricked device (by bricked I mean no fastboot available):
1. Device does not boot up, but responding to USB VIDID = 05c6:9008 = QHSUSB_DLOAD mode
This is qualcomm standard emergency download mode. This device become serial port (it is required drivers for Windows), and could be flashed with special protocol.
Attached is package which successfully recover Droid Ultra.
Once you see device with VIDID = 05c6:9008 = QHSUSB_DLOAD, you should run this command:
python qdload.py MPRG8960_MOTO.bin -ptf _ultra/partitions.txt
after this you should be able to use fastboot to flash desired official image back.
Tested on Windows, drivers for QHSUSB_DLOAD now included into package, serial port auto detection added, same command use. For both windows and linux you should have Python >= 2.6 installed, and PySerial installed.
2. Device not responding to USB, but start responding after battery disconnect (you need to disassemble your phone) as VIDID = 05c6:f006 = Qualcomm modem mode.
In most cases this mean that you has HARD bricked device. I still could not provide soft way to switch from this mode to QHSUSB_DLOAD mode, so currently with this situation you has only one possibility - is to find pin, which will force device to QHSUSB_DLOAD mode. For droid Ultra (and I believe Maxx) you could find this pin marked on picture attached. On my picture you could see, that I remove shield completely, but you could reach this pin by opening shield cup only. This is the shield near display connector. This pin should be grounded to force QHSUSB_DLOAD mode. Once you see device with VIDID = 05c6:9008 - STOP shorting pin to ground and follow unbrick 1 procedure.
If you not stopping SHORT ping to gound, you may have issues with uploading images in step 1 !!!
This both unbrick tested on Droid Ultra, but I assume it should work on Droid Maxx as well (I include _maxx folder with files for maxx).
Instruction to generate partitions.txt from working phone (Note you could have different name instead of mmcblk0):
1. adb shell dd if=/dev/block/mmcblk0 of=/sdcard/pt.bin bs=1024 count=10
2. adb pull /sdcard/pt.bin .
3. ./gpt_parser.py pt.bin > partitions.txt
Edit: Split package into 5 packages: 1. Image files for MAXX, 2 Image files for ULTRA, 3. Loader .bin for Motorola_8960 4. Window drivers for QHSUSB_DLOAD mode, 5. qdload.py script
qdload.py script updated to V1.2 with lot of usefull info printed.
move gpt_parser.py script to main post
VBlack said:
I want to post my findings here. It could be useful for developers playing with bootloaders, and for users who accidentally break their Droid.
DISCLAIMER: I am not responsible for any damage, caused to your phone, when you did something using information from this thread.
There is two types of bricked device (by bricked I mean no fastboot available):
1. Device does not boot up, but responding to USB VIDID = 05c6:9008 = QHSUSB_DLOAD mode
This is qualcomm standard emergency download mode. This device become serial port (it is required drivers for Windows), and could be flashed with special protocol.
Attached is package which successfully recover Droid Ultra.
Once you see device with VIDID = 05c6:9008 = QHSUSB_DLOAD, you should run this command:
python qdload.py MPRG8960.bin _ultra/partitions.txt
after this you should be able to use fastboot to flash desired official image back.
I didn't test it on Windows, but it could work, you just need to specify COM port, by additional parameter to qdload.py:
python qdload.py -tty COM10 MPRG8960.bin _ultra/partitions.txt
2. Device not responding to USB, but start responding after battery disconnect (you need to disassemble your phone) as VIDID = 05c6:f006 = Qualcomm modem mode.
In most cases this mean that you has HARD bricked device. I still could not provide soft way to switch from this mode to QHSUSB_DLOAD mode, so currently with this situation you has only one possibility - is to find pin, which will force device to QHSUSB_DLOAD mode. For droid Ultra (and I believe Maxx) you could find this pin marked on picture attached. On my picture you could see, that I remove shield completely, but you could reach this pin by opening shield cup only. This is the shield near display connector. This pin should be grounded to force QHSUSB_DLOAD mode. Once you see device with VIDID = 05c6:9008 - follow unbrick 1 procedure.
This both unbrick tested on Droid Ultra, but I assume it should work on Droid Maxx as well (I include _maxx folder with files for maxx).
Click to expand...
Click to collapse
WOW! Nice job, bud.
I would normally ask you to add a disclaimer to be extremely careful shorting any pins (and to do at YOUR OWN RISK), but anyone who needs to do this is already in a pickle, and their device useless.
Great work, impressive.
samwathegreat said:
WOW! Nice job, bud.
I would normally ask you to add a disclaimer to be extremely careful shorting any pins (and to do at YOUR OWN RISK), but anyone who needs to do this is already in a pickle, and their device useless.
Great work, impressive.
Click to expand...
Click to collapse
Done, I also add note about stop shorting this pin to ground once you get to QDL MODE, since it will cause eMMC instability, and may forbid to flash images.
Add: Package repacked with drivers for windows and updated version of qdload.py with windows serial port auto detection.
VBlack said:
I want to post my findings here. It could be useful for developers playing with bootloaders, and for users who accidentally break their Droid.
DISCLAIMER: I am not responsible for any damage, caused to your phone, when you did something using information from this thread. Be extremely careful shorting any pins (and to do at YOUR OWN RISK)
There is two types of bricked device (by bricked I mean no fastboot available):
1. Device does not boot up, but responding to USB VIDID = 05c6:9008 = QHSUSB_DLOAD mode
This is qualcomm standard emergency download mode. This device become serial port (it is required drivers for Windows), and could be flashed with special protocol.
Attached is package which successfully recover Droid Ultra.
Once you see device with VIDID = 05c6:9008 = QHSUSB_DLOAD, you should run this command:
python qdload.py MPRG8960.bin _ultra/partitions.txt
after this you should be able to use fastboot to flash desired official image back.
I didn't test it on Windows, but it could work, you just need to specify COM port, by additional parameter to qdload.py:
python qdload.py -tty COM10 MPRG8960.bin _ultra/partitions.txt
Tested on Windows, drivers for QHSUSB_DLOAD now included into package, serial port auto detection added, same command use. For both windows and linux you should have Python >= 2.6 installed, and PySerial installed.
2. Device not responding to USB, but start responding after battery disconnect (you need to disassemble your phone) as VIDID = 05c6:f006 = Qualcomm modem mode.
In most cases this mean that you has HARD bricked device. I still could not provide soft way to switch from this mode to QHSUSB_DLOAD mode, so currently with this situation you has only one possibility - is to find pin, which will force device to QHSUSB_DLOAD mode. For droid Ultra (and I believe Maxx) you could find this pin marked on picture attached. On my picture you could see, that I remove shield completely, but you could reach this pin by opening shield cup only. This is the shield near display connector. This pin should be grounded to force QHSUSB_DLOAD mode. Once you see device with VIDID = 05c6:9008 - STOP shorting pin to ground and follow unbrick 1 procedure.
If you not stopping SHORT ping to gound, you may have issues with uploading images in step 1 !!!
This both unbrick tested on Droid Ultra, but I assume it should work on Droid Maxx as well (I include _maxx folder with files for maxx).
Click to expand...
Click to collapse
This is great!! Mind if i add it here? With proper credits of course? Or quote you?
http://forum.xda-developers.com/moto-x/general/how-to-resurrecting-bricked-moto-x-t2629057
Sure, no problem, but you need your own set of files for moto x (could be obtained from fastboot oficial image), and partitions.txt.
partitions.txt you could obtain using following instruction from working phone:
1. adb shell dd if=/dev/block/mmcblk0 of=/sdcard/pt.bin bs=1024 count=10
2. adb pull /sdcard/pt.bin .
3. ./gpt_parser.py pt.bin > partitions.txt
Edit: gpt_parser moved to main post.
VBlack said:
I want to post my findings here. It could be useful for developers playing with bootloaders, and for users who accidentally break their Droid.
DISCLAIMER: I am not responsible for any damage, caused to your phone, when you did something using information from this thread. Be extremely careful shorting any pins (and to do at YOUR OWN RISK)
There is two types of bricked device (by bricked I mean no fastboot available):
1. Device does not boot up, but responding to USB VIDID = 05c6:9008 = QHSUSB_DLOAD mode
This is qualcomm standard emergency download mode. This device become serial port (it is required drivers for Windows), and could be flashed with special protocol.
Attached is package which successfully recover Droid Ultra.
Once you see device with VIDID = 05c6:9008 = QHSUSB_DLOAD, you should run this command:
python qdload.py MPRG8960.bin _ultra/partitions.txt
after this you should be able to use fastboot to flash desired official image back.
I didn't test it on Windows, but it could work, you just need to specify COM port, by additional parameter to qdload.py:
python qdload.py -tty COM10 MPRG8960.bin _ultra/partitions.txt
Tested on Windows, drivers for QHSUSB_DLOAD now included into package, serial port auto detection added, same command use. For both windows and linux you should have Python >= 2.6 installed, and PySerial installed.
2. Device not responding to USB, but start responding after battery disconnect (you need to disassemble your phone) as VIDID = 05c6:f006 = Qualcomm modem mode.
In most cases this mean that you has HARD bricked device. I still could not provide soft way to switch from this mode to QHSUSB_DLOAD mode, so currently with this situation you has only one possibility - is to find pin, which will force device to QHSUSB_DLOAD mode. For droid Ultra (and I believe Maxx) you could find this pin marked on picture attached. On my picture you could see, that I remove shield completely, but you could reach this pin by opening shield cup only. This is the shield near display connector. This pin should be grounded to force QHSUSB_DLOAD mode. Once you see device with VIDID = 05c6:9008 - STOP shorting pin to ground and follow unbrick 1 procedure.
If you not stopping SHORT ping to gound, you may have issues with uploading images in step 1 !!!
This both unbrick tested on Droid Ultra, but I assume it should work on Droid Maxx as well (I include _maxx folder with files for maxx).
Click to expand...
Click to collapse
this should be stickied for all of android. while i realize your methods were device specific, i'm guessing there are enough similarities in your situation that it can be applied globally.
640k said:
this should be stickied for all of android. while i realize your methods were device specific, i'm guessing there are enough similarities in your situation that it can be applied globally.
Click to expand...
Click to collapse
It is Qualcomm specific. Most of current Qualcomm chips has emergency download mode. the only problem is to have proper load file MPRG8960.bin is for 8960 chips family, and looks like Motorola specific (maybe I'm wrong). So for sure not all Android device could use this, but most Qualcomm device should be fine, you just need model specific set of files, which, for example, Motorola provides with fastboot flashable images.
good points and good observations. this thread definitely shouldn't get buried in a single (aging) device. there's good info here.
I don't know if it is a problem, but I used this script to try and unbrick my phone.
When running as #1 as you state above, there is a "finished with errors" after the script. So I looked at it and saw that "MPRG8960.bin" was going to be pushed to the phone and the next line states "File not found "MPRG8960.bin." Looking at the files, the file it was looking for was named "MPRG8960_MOTO.bin," so I changed it to the file it was looking for and it worked great.
I'm a noob when it comes to the guts of programming and utilities, but it's something I spotted and figured I would let you know.
This seems really promising for my bricked xt907...
HamBone625 said:
This seems really promising for my bricked xt907...
Click to expand...
Click to collapse
Op has no fix files for the M, they have never been leaked.
HamBone625 said:
This seems really promising for my bricked xt907...
Click to expand...
Click to collapse
Since XT907 use same Qualcomm chip MSM8960 - you could try to use this utility, but first you need to obtain partitions.txt from working XT907 according to instructions.
Files needed you could take from latest firmware package (sbl1.mbn, sbl2.mbn, sbl3.mbn, tz.mbn, rpm.mbn, emmc_appsboot.mbn is aboot.mbn)
MOTO X
Hi. Can somebody post the partitions.txt for the moto X? please
To get the partition.txt from a working moto X it has to be root?
thanks
When I execute the script on my Droid Mini, with their proper partitions txt file and the MBN files from the ULTRA, I got this:
QDLoad utility version 1.2 (c) VBlack 2014
Found TTY port: com64
Requesting Params...
Params:
Version: 8
Min version: 1
Max write size: 1536 (0x00000600)
Model: 144
Device size: Invalid or unrecognized Flash device, or Flash device progr
amming not supported by this implementation
Device type: Intel 28F400BX-TL or Intel 28F400BV-TL
Requesting SoftwareVersion...
Version: PBL_DloadVER2.0
Requesting SerialNumber...
Serial number: 00,00,48,03
Requesting HW Id...
HW Id: 00,00,48,03,e1,10,7e,00
Requesting PublicKey...
PublicKey: 39,c4,ee,3e,b5,be,eb,87,8e,2f,e3,b8,53,4d,14,6f,91,ca,fd,bb,94,2a,0d
,aa,d0,1e,b0,87,62,d4,b9,b8
Uploading file 'MPRG8960_MOTO.bin' to addr 0x2a000000...
Executing...
Found TTY port: com64
Sending MAGIC ...
QCOM fast download protocol targ:
Version: 7
Compatible version 2
Maximum block size 1024 (0x00000400)
Base address of Flash 0x00000000
Flash: eMMC
Window size: 30
Number of sectors: 128
First sector size: 2097152 (0x00200000)
Feature bits: 09
Sending secureMode...
Sending openMulti ...
LOG: Open multi failed, unknown error
ERROR: 0x00000007: Open multi failed, unknown error
Sending SBL Reset...
Done, with errors!!!
Where I can get the MBN files for a Droid Mini?
Hi, you could try to find it inside one of official (fastboot) package for empty flashing like in Ultra package. It fails in very strange place - I will look at it on Monday.
Sent from my XT1080 using Tapatalk
VBlack said:
Hi, you could try to find it inside one of official (fastboot) package for empty flashing like in Ultra package. It fails in very strange place - I will look at it on Monday.
Sent from my XT1080 using Tapatalk
Click to expand...
Click to collapse
I tried the MBN files from a 4.4 fastboot from an Ultra and from the Droid Mini too, but i'm getting this errors, I don't know what's wrong or what I'm doing worng.
My phone powers up and can enter to fastboot, but it fails to boot, when i use "fastboot reboot" it reboot to QHSUSB_DLOAD... but well, something is wrong,,,
HELP
When i do the third step yo obtain partitions.txt (./gpt_parser.py pt.bin > partitions.txt)
i got a message
can't create partitions.txt: Read-only file system
any help?
C:\droid_ultra>python qdload.py MPRG8960_MOTO.bin -ptf _ultra/partitions.txt
'python' is not recognized as an internal or external command,
operable program or batch file.
BUZZAPT said:
When i do the third step yo obtain partitions.txt (./gpt_parser.py pt.bin > partitions.txt)
i got a message
can't create partitions.txt: Read-only file system
any help?
Click to expand...
Click to collapse
You should execute it on PC in writable folder.
Sent from my XT1080 using Tapatalk
Hi everyone,
I have a Nexus 6P which simply refuses to connect via USB on my Mac (i.e. it doesn't show up as a valid device under adb devices or via Android File Transfer). I believe it was working at some point but it seems to have stopped now. Might be worth noting, I did try connecting it to my car's charger a few months ago but had the worst time with it, it would charge and disconnect every few seconds (may or may not be relevant in this case as it pertains to the USB). I tried a different charger and it works fine with it though.
I have tried a lot of different things (which I'll list below) but have had no luck getting my Nexus 6P being recognized as a device when I connect it to my Mac (or any other). I do have the Developer settings enabled and I am able to switch to MTP but I never get the prompt to change USB mode. Anytime I connect my device, adb devices doesn't list it at all. I tried ADB File transfer as well and that also says "Please connect your device".
Here are some of the things I have tried so far:
1. Used different cables - no luck
2. Used a different mac - no luck
3. Tried a different Nexus 6P with my cable, it works fine (so it is not a cable issue)
4. Tried a different Nexus 6P with my mac, it works fine (so my Mac seems to be OK too)
5. Restarted in recovery mode - no luck
6. Tried removing a bunch of apps in case there was something conflicting - no luck so far
7. Chatted up Google support - They couldn't tell me much outside of the last option - Factory Reset - I have been holding off on that since I want to be able to transfer my files out first but I really want to avoid having to try that before exhausting all other options. They did offer to replace with a refurb'ed device but I had to decline that.
I did create a bug report dump using the device to see if anything interesting showed up and the only thing noticeable there is an exception related to USB. I am putting that info here in case it is useful in helping with this.
Code:
DUMP OF SERVICE usb:
USB Manager State:
USB Device State:
mCurrentFunctions: mtp,adb
mCurrentFunctionsApplied: true
mConnected: false
mConfigured: false
mUsbDataUnlocked: false
mCurrentAccessory: null
Kernel state: DISCONNECTED
Kernel function list: mtp,ffs
USB Debugging State:
Connected to adbd: true
Last key received: null
User keys:
IOException: java.io.FileNotFoundException: /data/misc/adb/adb_keys: open failed: ENOENT (No such file or directory)
System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
USB Host State:
USB Port State:
otg_default: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=true, currentMode=ufp, currentPowerRole=sink, currentDataRole=device, supportedRoleCombinations=[source:host, sink:device]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false
USB Audio Devices:
USB MIDI Devices:
Settings for user 0:
Device permissions:
Accessory permissions:
Device preferences:
Accessory preferences:
Any help here is really appreciated! Thanks
desimunda42 said:
Code:
USB Debugging State:
Connected to adbd: true
Last key received: null
User keys:
IOException: java.io.FileNotFoundException: /data/misc/adb/adb_keys: open failed: ENOENT (No such file or directory)
System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
Click to expand...
Click to collapse
That seems suspicious. Was this taken while the phone was connected to your mac?
Here's my phone's dump while NOT connected to a computer
Code:
USB Manager State:
USB Device State:
mCurrentFunctions: mtp,adb
mCurrentFunctionsApplied: true
mConnected: false
mConfigured: false
mUsbDataUnlocked: false
mCurrentAccessory: null
Kernel state: DISCONNECTED
Kernel function list: mtp,ffs
USB Debugging State:
Connected to adbd: true
[COLOR="red"] Last key received: blahblahblahblah (not null)
User keys: blahblahblahblah (no exception)
[/COLOR] System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
Here it is when connected to computer
Code:
DUMP OF SERVICE usb:
USB Manager State:
USB Device State:
mCurrentFunctions: mtp,adb
mCurrentFunctionsApplied: true
[COLOR="red"] mConnected: true
mConfigured: true
[/COLOR] mUsbDataUnlocked: false
mCurrentAccessory: null
[COLOR="red"] Kernel state: CONFIGURED
[/COLOR] Kernel function list: mtp,ffs
USB Debugging State:
Connected to adbd: true
[COLOR="Red"] Last key received: blahblahblahblah (not null)
User keys: blahblahblahblah (no exception)
[/COLOR] System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
Are you on a custom rom? Do you get an authorization prompt if you call "adb device" after doing "Revoke USB debugging authorizations" from Develop options?
adotkdotjh said:
That seems suspicious. Was this taken while the phone was connected to your mac?
Are you on a custom rom? Do you get an authorization prompt if you call "adb device" after doing "Revoke USB debugging authorizations" from Develop options?
Click to expand...
Click to collapse
I wasn't connected to my Mac at the time I pulled the report (I confirmed by repeating it just now and still get that 'FileNotFoundException" in the logs for USB device. I don't have a custom rom, I have the standard OEM from the Google Store and didn't do anything else with it.
Also, I did revoke the USB debugging auth multiple times and inspite of that I never get any prompt when I connect.
I also got the report while connected to the Mac and am still seeing the same exception:
Code:
DUMP OF SERVICE usb:
USB Manager State:
USB Device State:
mCurrentFunctions: mtp,adb
mCurrentFunctionsApplied: true
mConnected: false
mConfigured: false
mUsbDataUnlocked: false
mCurrentAccessory: null
Kernel state: DISCONNECTED
Kernel function list: mtp,ffs
USB Debugging State:
Connected to adbd: true
Last key received: null
User keys:
IOException: java.io.FileNotFoundException: /data/misc/adb/adb_keys: open failed: ENOENT (No such file or directory)
System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
USB Host State:
USB Port State:
otg_default: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=true, currentMode=ufp, currentPowerRole=sink, currentDataRole=device, supportedRoleCombinations=[source:host, sink:device]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false
USB Audio Devices:
USB MIDI Devices:
Settings for user 0:
Device permissions:
Accessory permissions:
Device preferences:
Accessory preferences:
desimunda42 said:
Hi everyone,
I have a Nexus 6P which simply refuses to connect via USB on my Mac (i.e. it doesn't show up as a valid device under adb devices or via Android File Transfer). I believe it was working at some point but it seems to have stopped now. Might be worth noting, I did try connecting it to my car's charger a few months ago but had the worst time with it, it would charge and disconnect every few seconds (may or may not be relevant in this case as it pertains to the USB). I tried a different charger and it works fine with it though.
I have tried a lot of different things (which I'll list below) but have had no luck getting my Nexus 6P being recognized as a device when I connect it to my Mac (or any other). I do have the Developer settings enabled and I am able to switch to MTP but I never get the prompt to change USB mode. Anytime I connect my device, adb devices doesn't list it at all. I tried ADB File transfer as well and that also says "Please connect your device".
Here are some of the things I have tried so far:
1. Used different cables - no luck
2. Used a different mac - no luck
3. Tried a different Nexus 6P with my cable, it works fine (so it is not a cable issue)
4. Tried a different Nexus 6P with my mac, it works fine (so my Mac seems to be OK too)
5. Restarted in recovery mode - no luck
6. Tried removing a bunch of apps in case there was something conflicting - no luck so far
7. Chatted up Google support - They couldn't tell me much outside of the last option - Factory Reset - I have been holding off on that since I want to be able to transfer my files out first but I really want to avoid having to try that before exhausting all other options. They did offer to replace with a refurb'ed device but I had to decline that.
I did create a bug report dump using the device to see if anything interesting showed up and the only thing noticeable there is an exception related to USB. I am putting that info here in case it is useful in helping with this.
Code:
DUMP OF SERVICE usb:
USB Manager State:
USB Device State:
mCurrentFunctions: mtp,adb
mCurrentFunctionsApplied: true
mConnected: false
mConfigured: false
mUsbDataUnlocked: false
mCurrentAccessory: null
Kernel state: DISCONNECTED
Kernel function list: mtp,ffs
USB Debugging State:
Connected to adbd: true
Last key received: null
User keys:
IOException: java.io.FileNotFoundException: /data/misc/adb/adb_keys: open failed: ENOENT (No such file or directory)
System keys:
IOException: java.io.FileNotFoundException: /adb_keys: open failed: ENOENT (No such file or directory)
USB Host State:
USB Port State:
otg_default: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=true, currentMode=ufp, currentPowerRole=sink, currentDataRole=device, supportedRoleCombinations=[source:host, sink:device]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false
USB Audio Devices:
USB MIDI Devices:
Settings for user 0:
Device permissions:
Accessory permissions:
Device preferences:
Accessory preferences:
Any help here is really appreciated! Thanks
Click to expand...
Click to collapse
I usually only get the key prompt for ADB authorzation when I connect my device and type "adb devices"..... If worse comes to worse, You can restore your phone to factory settings without wiping your sd card. Then you could test that option with compromising your data. Just flash each image from the archive yourself when restoring the firmware as opposed to using the flash-all scipt, or resetting the phone from settings... DO NOT flash the "userdata.img" included in the factory firmware archive or issue the command "fastboot format userdata" during the restore process and all of your files will be fine. This may be an option as long as fastboot is still functional on your device. Ive come across so many different devices in so many different conditions over the years, as long as the device could power on and the usb port was functional, fasboot has worked time and time again.
PS adb on Mac can be a bit tricky especially if this is the first time youre attempting to o install and use it. Unless you set the correct enviornment variables during the install process, you will oly be able to access adb from inside the folder that its stored in on your mac. Youll have to pull up your terminal and and direct it to the folder containing adb and fastboot. Its usually ina a folder called "platform-tools" Which can be found in the dictory in whch you installed the Android SDK or SDK Tools packages... Now that I think about it, you have to download adb from the SDK package I just mentioned. After doing so, youll find the platform tools folder and it should contain what you need. As long as java is correctly installed on your mac then everything should work once you issue the "adb devices" command in a terminal session thats points at the "platform-tools" folder. YOU ALSO HAVE TO HAVE JDK INSTALLED in order for it to work with your device. I just looked at what you posted and it looks like youred missing JDK"...
If you havent done any of this yet the thats the problem. If everything I just typed seems confusing then you can try this which explains everything you need to do to set up adb a whole lot better than my attempt above lol buts its going to take some time to accomplish https://seo-michael.co.uk/how-to-setup-adb-on-os-x/
or
You can also install and configure adb a whole lot easier by issuing the following commands from within your mac terminal.... (This will install Brew on your Mac, if you arent familiar with what it is, Its a software distrobution platform. Sort of like git hub and linux software repos. When in doubt, do a little reading first. It'll solve all your problems....
-Install Brew - Copy and paste this command into a mac terminal and follow the prompts that show up.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-Once that finishes, next use this command
brew update && brew cask install java
-Once that is complete enter this last command
brew install android-platform-tools
Those 3 commands will do 99 percent of the work. When its done just find the platform tools folder and go from there. Hope this helps.
Sass86oh said:
PS adb on Mac can be a bit tricky especially if this is the first time youre attempting to o install and use it. Unless you set the correct enviornment variables during the install process, you will oly be able to access adb from inside the folder that its stored in on your mac. Youll have to pull up your terminal and and direct it to the folder containing adb and fastboot. Its usually ina a folder called "platform-tools" Which can be found in the dictory in whch you installed the Android SDK or SDK Tools packages... Now that I think about it, you have to download adb from the SDK package I just mentioned. After doing so, youll find the platform tools folder and it should contain what you need. As long as java is correctly installed on your mac then everything should work once you issue the "adb devices" command in a terminal session thats points at the "platform-tools" folder. YOU ALSO HAVE TO HAVE JDK INSTALLED in order for it to work with your device. I just looked at what you posted and it looks like youred missing JDK"...
Click to expand...
Click to collapse
He says he already tried adb devices which didn't list anything. That tells me adb is configured correctly. Otherwise it should've given errors. Plus, he also said another Nexus 6P worked on the same mac.
adotkdotjh said:
He says he already tried adb devices which didn't list anything. That tells me adb is configured correctly. Otherwise it should've given errors. Plus, he also said another Nexus 6P worked on the same mac.
Click to expand...
Click to collapse
Yep
Sass86oh said:
I usually only get the key prompt for ADB authorzation when I connect my device and type "adb devices"..... If worse comes to worse, You can restore your phone to factory settings without wiping your sd card. Then you could test that option with compromising your data. Just flash each image from the archive yourself when restoring the firmware as opposed to using the flash-all scipt, or resetting the phone from settings... DO NOT flash the "userdata.img" included in the factory firmware archive or issue the command "fastboot format userdata" during the restore process and all of your files will be fine. This may be an option as long as fastboot is still functional on your device. Ive come across so many different devices in so many different conditions over the years, as long as the device could power on and the usb port was functional, fasboot has worked time and time again.
PS adb on Mac can be a bit tricky especially if this is the first time youre attempting to o install and use it. Unless you set the correct enviornment variables during the install process, you will oly be able to access adb from inside the folder that its stored in on your mac.
Click to expand...
Click to collapse
Thanks for the detailed steps but like adotkdotjh mentioned, I already have a working adb (and it worked fine with a different Nexus 6P on the same mac). How would 'fastboot' work if the computer does not even see my device under list of devices? I've never done any image flashing before so that would be quite an unfamiliar territory but I'd be willing to explore. Where would I get these image files and how do I issue the command to the device while it is not being recognized? Thanks
desimunda42 said:
Yep
Thanks for the detailed steps but like adotkdotjh mentioned, I already have a working adb (and it worked fine with a different Nexus 6P on the same mac). How would 'fastboot' work if the computer does not even see my device under list of devices? I've never done any image flashing before so that would be quite an unfamiliar territory but I'd be willing to explore. Where would I get these image files and how do I issue the command to the device while it is not being recognized? Thanks
Click to expand...
Click to collapse
Fastboot (also refered to as "download mode") is a tool used to essentially reprogram your device in the event that you are unable to enter into recovery mode in oreder to fix whatever issue your device is having. Android devices have 3 working modes, normal function, recovery mode, and fastboot. Number one is obvious, recovery allows you to completely reset your device without using a computer if every other measure youve tried hasn't worked. When you use this feature everything on your device is erased and your phone is completely restored to factory settings. Its convienet becuase not everyone is computer savvy and its to the point. But say you were updating (system update) your phone and accidently dropped it causing the battery to fall out and the device to shut off in the middle of the update process. What will most likely happen is the system partition will become corrupt, causing the phone to stick at the initial boot screen. Usually if that happens you can still access recovery mode and just reset but if for some reason that didnt work you would go to the manufacturers website and download the latest firmware for your device. You put the phone into fastboot mode by holding volume down and then pressing and holding the power button at the same time (while the phone is off).The process varies bydevice, If done correctly you will see on your screen a bunch of info along with Andy (the Android) chillin with his hatch open. You connect your phone to your computer and as long as your computer is set up correctly with adb and fastboot, you now have the abailty to reprogram (flash) your device using a series of commands that are issued from either the command line (windows) or terminal (linux/mac).
YOUR BOOTLOADER NEEDS TO BE UNLOCKED BEFORE CONTINUING. IF YOU DONT SEE A LITTLE LOCK AT THE BOTTOM OF YOUR DEVICE UNDER THE GOOGLE LOGO WHEN YOU FIRST TURN IT ON THEN YOU NEED TO GO TO SETTINGS, ABOUT DEVICE, FIND BUILD NUMBER AND TAP IT RAPIDLY UNTIL YOU SEE A MESSAGE POP UP SAYING YOU UNLOCKED DEVELOPER OPTIONS. GO BACK TO THE SETTINGS MENU AND SELEC DEVELOPER OPTIONS WHICH SHOULD NOW BE THERE AND INSIDE THERES AN OPTION CALLED "ALLOW OEM UNLOCKING" TURN IT ON. AND CONTINUE
Eextract the firmware archive you downloaded which will produce a folder containing 2 ".img files" files, another ".tar" archive, and some script files that you can use to make the process pretty much automated.
There are two of them, one for Windows (flash-all.bat) and one for Linux and Mac (flash-all.sh)....
Open the folder that was extracted from the firmware archive... Hold shift then right click a blank area in the folder. Select "open command prompt here" (Windows)
or
Type in terminal : cd ~/downloads/xxx where "xxx" is the name of the folder that was extracted but make sure that folder is moved to your "downloads" directory first
Then type the following commands:
IF YOU HAVENT UNLOCkED YOUR BOOTLOADER BEFORE THEN THIS IS WHERE YOU WILL NEED TO:
For Mac/Linux type: ./fastboot flashing unlock **Make sure you use the ./ or the command wont be recognized**
For Windows type: fastboot flashing unlock
Select yes on the phone when it asks if youre sure..... BAM, unlocked bootloader.
Your phone is completely free of restrections if you want to install custom firmware now. If not you can relock it after flashing the stock firmare by enterning fastboot mode again and typing
fastboot flashing lock or ./fastboot flashing lock (mac/linux).....
Now we can proceed with flashing the device...
For Windows: flash-all.bat and hit enter. The computer will do the rest.
Linux/Mac: ./flash-all.sh Make sure you use the ./ or the command wont be recognized.
If youre feeling brave you can do the entire process yourself by extracting the files in that second archive that was produced and flash each of them individually using a series of command in a specific order.
The 2nd extracted archive will give you a folder with five .img files
boot.img
cache.img
system.img
recovery.img
userdata.img ***** DO NOT FLASH THIS IMAGE. FORGET ITS EVEN THERE****
Take all five and move them to the original folder that was extracted. There are 2 other .img files that were extracted from the first archive also like I mentioned above, one that says "BOOTLOADER.xxx.xx.img" and one that says "RADIO.xxx.xxx.img"... Rename RADIO.xxx.xxx.img to | radio.img |and the other to| bootloader.img |ALL LOWER CASE keep them in that folder along with the other five. Now you should have 7 total image files in one folder. (Its smart to use the folder that your command prompt or terminal was opened in, if you decide to use a different folder then you have to direct each fastboot command to the folder where the .img file is located.
from the command line you flash each img individually with the following commands.....
(Mac/Linux need to include ./ before every fastboot command begins like this: ./fastboot or it wont work.
fastboot flash bootloader bootloader.img
fastboot reboot-bootloader (phone will reboot then go back into fastboot mode, dont worry should only take seconds)
fastboot flash radio radio.img
fastboot reboot-bootloader (reboots again)
fastboot flash boot boot.img
fastboot erase cache
fastboot flash cache cache.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot format userdata (this command takes place of the "userdata.img" file I told you to forget about)
fastboot reboot
As long as you see action on the screen and a "complete" after every command then youre in business. If you get an error check your spelling. THE COMMAND LINE IS CASE SENSETIVE. You might type the correct words but if one letter is capital the command wont work. If theres an extra space between words then the command wont work so check everything. Safe rule: Everything should be in lower case letters with 1 space after every word.... THIS S*** MATTERS
Its not as hard as it seems if you arent familiar with the process, but its also not something to mess with unless youve done your homework. Read up on it, there are so many good posts and people in here so you'll be able to find everything you need without any issue.
Fastboot can also be used to install a custom recovery like TWRP which would then allow you to install custom firmware (roms) on your device as long as theres support for it. Nexus devices are built for that very reason! They tend to have a huge selection of development within the Android community. They come with Android as Google intended it to be! No extra BS.... And its wicked easy to unlock the bootloader. That is why they are, in my opinion, the best Android devices available. But someone who doesnt really care much for things like modding and installing custom firmware might see the Nexus as plain device which lacks the bells and whistles included in other devices. Which is ok! I personally love the simplicity of pure Android and the whole philosophy behind the Nexus Program. To each is own! If you need anything else send me a message!
Have not read it all on here lol install this on your Mac https://www.android.com/filetransfer/ and see if it sees you 6p make sure you plug in them change from charging to file transfer on the phone then exit out of the app and reboot that will tell you if your Mac sees your phone