Related
Hi everyone,
i've bought a SCLCD Nexus S (GT-i9023).
I've tried to get the device recognized by the Google Android USB driver packaged with the Android SDK r10.
But the android_winusb.inf file provided with the USB drivers version r4 doesnt mention the Nexus S :
Code:
; HTC Dream
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF
; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01
;
;Moto Sholes
%SingleAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB
%CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB&MI_01
;
;Google NexusOne
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
Having a look at Windows devices manager, i've added my Nexus S device identifier ton the .inf file :
Code:
;
;Google NexusS
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
With this i've been able to use fastboot and unlocked my phone.
But when im trying to use ADB, my device is not listed as connected. So i've modified the previous lines by these one:
Code:
;
;Google NexusS
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20&MI_01
But it doesn't change anything :x
Do you succeed in using the Google Android USB drivers
With wich Nexus S version ?
Does it have ever worked ?
Go Google go !!! This device is month old
Hi folks,
final answer, to make the GT-i9023 works with Google Android USB drivers you got to edit the "android_winusb.inf" file located in the "extras\google\usb_driver" dir of your Android SDK installation to add the following line to both "[Google.NTx86]" and "[Google.NTamd64]" sections :
Code:
;
;Google Nexus S GT-i9023
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
If this is not working, you got to :
* go to the Windows devices manager and uninstall the driver for every Nexus S sub-devices as describe in the attachment
* wait for windows to ask for installing the new devices using your new .inf file
* restart adb : adb kill-server & adb start-server
Should be working fine then
Still cannot recognize my i0923
I was trying to write a recovery image to my nexus s (i9023 with SCLCD), and have successfully installed the usb driver for my nexus s, but both fastboot and adb just cannot recognize the device. When I typed
Code:
fastboot devices
and
Code:
adb devices
, nothing shows up. Is there anything that I can do to fix this? Thanks!
I solved the previous problem
I browsed your guide to unlock nexus s and found someone suggested in the reply to copy AdbWinApi.dll and AdbWinUsbApi.dll from platform-tools directory to tools directory, then it worked.
Hope someone sees this and it will work for them.
Thanks for this, now my Nexus S bootloader is unlocked.
( no need for Pdanet program or other crazy solutions)
one more Trick
i did all the above and it didn't work but i added an another trick that worked
C:\Program Files (x86)\Android\android-sdk\tools>adb devices
List of devices attached
....
no devices were found , though SNS was found in Device manager ,
to fastboot unlock , i did the below command
C:\Program Files (x86)\Android\android-sdk\tools>fastboot.exe -s YOUR_SERIAL_NUMBER oem unlock
...
OKAY [ 38.590s]
finished. total time: 38.590s
and it worked , give it a try if you faced drivers issues
NEWBIE HERE. I have the i9020T. Will any of these fixes work for this one? And I'm a little confused on where to start. Where do I type all these commands?
jrocka01 said:
NEWBIE HERE. I have the i9020T. Will any of these fixes work for this one? And I'm a little confused on where to start. Where do I type all these commands?
Click to expand...
Click to collapse
Have you found your answer?
If not, try this link.
http://forum.xda-developers.com/showthread.php?t=895545 - AllGamer has put the process step by step very clearly, and this thread is specifically for i9020T for Gingerbread 2.3.3, I am pretty sure it is same for 2.3.4 as well.
If you want to know where to type all these and all, pm me and I will get you some answers.
If you don't want to get into typing a lots of commands, you can't get away with it completely, but try doing what vincentleung says, put those two files into the directory, it worked for me as well.
creativedevil said:
Have you found your answer?
If not, try this link.
http://forum.xda-developers.com/showthread.php?t=895545 - AllGamer has put the process step by step very clearly, and this thread is specifically for i9020T for Gingerbread 2.3.3, I am pretty sure it is same for 2.3.4 as well.
If you want to know where to type all these and all, pm me and I will get you some answers.
If you don't want to get into typing a lots of commands, you can't get away with it completely, but try doing what vincentleung says, put those two files into the directory, it worked for me as well.
Click to expand...
Click to collapse
I've lost USB connectivity so this won't work. Do you know of a way to do it OTA?
Might be obvious but is there a chance you can root your device using improper drivers?
Needed to do the exact same thing on my brand new Vidéotron Nexus S this week-end.
I added these lines:
Code:
; Google Nexus S
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20&MI_01
My Nexus S required the following lines:-
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
Note the change of ID from 4E20 to 6860
1st one works for recovery, second is for ADB
Device is running Koush ICS (CM9 Alpha 12)...
Not sure if that's why they are different.
Update: after installing the driver make sure to change the folder in cmd to \android-sdk\platform-tools and then run fastboot, as that's where fastboot.exe is (newly).
kursk said:
Hi folks,
final answer, to make the GT-i9023 works with Google Android USB drivers you got to edit the "android_winusb.inf" file located in the "extras\google\usb_driver" dir of your Android SDK installation to add the following line to both "[Google.NTx86]" and "[Google.NTamd64]" sections :
Code:
;
;Google Nexus S GT-i9023
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
If this is not working, you got to :
* go to the Windows devices manager and uninstall the driver for every Nexus S sub-devices as describe in the attachment
* wait for windows to ask for installing the new devices using your new .inf file
* restart adb : adb kill-server & adb start-server
Should be working fine then
Click to expand...
Click to collapse
thank u for this guide...it really saved my rest this night
worked for me!
TrickyEarlobe said:
My Nexus S required the following lines:-
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
Note the change of ID from 4E20 to 6860
1st one works for recovery, second is for ADB
Device is running Koush ICS (CM9 Alpha 12)...
Not sure if that's why they are different.
Click to expand...
Click to collapse
Worked for me! Thanks! Just had to go next to device manager and select the file for the driver.
Thanks
sampainho said:
Worked for me! Thanks! Just had to go next to device manager and select the file for the driver.
Thanks
Click to expand...
Click to collapse
Does this work for the NS4G as well? I can't find a forum post similar to this and I've been trying for hours to get my drivers correct.
Jyro275 said:
Does this work for the NS4G as well? I can't find a forum post similar to this and I've been trying for hours to get my drivers correct.
Click to expand...
Click to collapse
It should work, you must add the correct lines inti the .inf file. To find the correct strings, check the properties of the unknown device in the Windows hardware manager.
I'm also having problems with finding a driver. Going to try this when I get home.
Verstuurd vanaaf miene Oneplus One mit CM11-M11
kursk said:
Hi folks,
final answer, to make the GT-i9023 works with Google Android USB drivers you got to edit the "android_winusb.inf" file located in the "extras\google\usb_driver" dir of your Android SDK installation to add the following line to both "[Google.NTx86]" and "[Google.NTamd64]" sections :
Code:
;
;Google Nexus S GT-i9023
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E20
If this is not working, you got to :
* go to the Windows devices manager and uninstall the driver for every Nexus S sub-devices as describe in the attachment
* wait for windows to ask for installing the new devices using your new .inf file
* restart adb : adb kill-server & adb start-server
Should be working fine then
Click to expand...
Click to collapse
This worked! I want to kiss you!:good::good::good::good::good::good::good:
Hello everyone.
Could please let you know how to install ADB driver on Windows7 OS?
This is because in the Windows7 devices manager there was no other device section related with Thinkpad tablet.
Is there any special method to installation of Thinkpad ADB deivers on Windows 7 OS?
I noticed you are a new member, I am too so I'm not going to flame you for not searching. However, the creed here on xda is search, and I personally answered a similar question yesterday on this forum.
The short answer is that lenovo has provided specific drivers for the thinkpad. The standard adb honeycomb drivers wont work. The full guide to setting up adb on windows and the link to the thinkpad driver can be found here:
http://www.thinkpadtabletforums.com...ent/complete-setup-guide-android-sdk-and-adb/
Follow the guide to the letter, windows and adb seem to have a mind of their own at times. Try not to leave anything out. Good luck
Thank you for the reply.
If my behaviors makes you an uncomfortable and I'm really sorry.
I read few times above links of your articles but I'm not sure if I've got a find the answer of my questions.
so I was posted a same question Lenovo and XDA-forum.
And you know that Installation of ThinkPad table ADB drivers on Windows7 64bit has a little bit different procedures.
In My case, I was not found a any kind of other devices section on my computer management tool.
So, I was do a following method but was not started normally.
1. In the device manager on my computer I manually added a ThinkPad tablet using downloaded driver from Lenovo.
2. I saw there are two kind of device that following when I manually added.
First one is “Lenovo ThinkPad tablet ADB interface” and second one is “Android Bootloader Interface”.
I added all of those device drivers.
3. However, Those two drivers were not a started normally, and marked a yellow in the device manager.
But, there were my mistakes that I don't know added of following information.
And I read your post from top to bottom and found below information someone's reply your post.
-----------------------------------------------------------------------------------------
In the downloaded Lenovo ThinkPad tablet ADB driver folder please open an android_winusb.inf then in a INF file
find a [Google.NTamd64] and added a following.
[Google.NTamd64]
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_17EF&PID_741C
%CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_741C&MI_01
;
sometimes, adb, drivers and windows seem to have different minds. I never understand . when in doubt, its a good idea to reboot both the windows and TPT just to have a clean connection.
I also suggest following the steps below to the letter:
1. Uninstall those unrecognised devices in device manager
2.enable usb debugging on tablet
3. connect to pc via usb cable
3. on the 2nd tab at the top of device manager click "scan for hardware changes"
4. when the thinkpad shows up, right click it, select update driver software, and browse your folder to where you unzipped the downloaded TPT driver and OK.
5. Let it scan and install
Hopefully, the steps above will get the thinkpad to play nice with windows and adb
Good luck
jeong760 said:
Thank you for the reply.
If my behaviors makes you an uncomfortable and I'm really sorry.
I read few times above links of your articles but I'm not sure if I've got a find the answer of my questions.
so I was posted a same question Lenovo and XDA-forum.
And you know that Installation of ThinkPad table ADB drivers on Windows7 64bit has a little bit different procedures.
In My case, I was not found a any kind of other devices section on my computer management tool.
So, I was do a following method but was not started normally.
1. In the device manager on my computer I manually added a ThinkPad tablet using downloaded driver from Lenovo.
2. I saw there are two kind of device that following when I manually added.
First one is “Lenovo ThinkPad tablet ADB interface” and second one is “Android Bootloader Interface”.
I added all of those device drivers.
3. However, Those two drivers were not a started normally, and marked a yellow in the device manager.
But, there were my mistakes that I don't know added of following information.
And I read your post from top to bottom and found below information someone's reply your post.
-----------------------------------------------------------------------------------------
In the downloaded Lenovo ThinkPad tablet ADB driver folder please open an android_winusb.inf then in a INF file
find a [Google.NTamd64] and added a following.
[Google.NTamd64]
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_17EF&PID_741C
%CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_741C&MI_01
;
Click to expand...
Click to collapse
Ok, it took me a while to find out why this wasn't working in my case: I had to change the device ID to the one that applies to my tablet! So that's how I did it: In devcie manager right click on ThinkPad Tablet - go to properties and choose the "Details" tab. Here choose "Hardware Ids" and have a look what it says there. In my case this is:
USB\VID_17EF&PID_741B&REV_9999
USB\VID_17EF&PID_741B
So I changed jeongs entries to:
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_17EF&PID_741B
%CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_741B&MI_01
;
Then it worked like a charm!
Thank you! This fixed my problems as well. Cheers,
ChiefOHara said:
Ok, it took me a while to find out why this wasn't working in my case: I had to change the device ID to the one that applies to my tablet! So that's how I did it: In devcie manager right click on ThinkPad Tablet - go to properties and choose the "Details" tab. Here choose "Hardware Ids" and have a look what it says there. In my case this is:
USB\VID_17EF&PID_741B&REV_9999
USB\VID_17EF&PID_741B
So I changed jeongs entries to:
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01
;
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_17EF&PID_741B
%CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_741B&MI_01
;
Then it worked like a charm!
Click to expand...
Click to collapse
in my case it was very weird.... because i had to enable storage first, otherwise i saw the ThinkPad in the device manager, but was not able to enable the driver for it... instantly after i enabled the storage, the ADB Driver was enabled and i could saw the device with adb devices...
raph3ix said:
in my case it was very weird.... because i had to enable storage first, otherwise i saw the ThinkPad in the device manager, but was not able to enable the driver for it... instantly after i enabled the storage, the ADB Driver was enabled and i could saw the device with adb devices...
Click to expand...
Click to collapse
very strange. for me it only works when set to "charging only" and MTP deactivated. Im on win7 64.
worked with adb devices in windows cmd console.
otherwise I only get the lenovo window where you can select, browse, sync office etc. and nothing listed in console.
I was experiencing massive issues getting adb to work for my phone. It had been working at one stage prior to a firmware update (Now on Android 4.0.4 on a UK Samsung Galaxy s2 i9100) and it randomly stopped working. Im on XP 64 and it may only be an issue for 64 bit operating systems.
Usb debugging had always been set, the drivers were installed, but adb would not work.
Numerous help guides all seem to concentrate on getting the correct drivers to install with kies or with extracted drivers from kies only but this was largely not my problem (or the drivers with kies for the samsung s2 no longer allow adb?) My phone is rooted with superuser and busybox only but otherwise has completely standard firmware (had been rooted and was unrooted when android 4.0.4 was upgraded).
So starting from a point with the drivers installed I can connect to my phone as an MTP, as a Camera, as a Mass Storage device and with Kies. I have Kies installed and have had it reinstall the drivers multiple times but this should probably work fine without Kies and just the latest drivers installed as available from here http://forum.xda-developers.com/showthread.php?t=961956. I have a device listed in Device Manager "Samsung Android ADB Interface" with driver version "2.9.505.831" but no ADB.
It appeared I had an issue with the uart connection on my phone (as shown in the phoneutil screen) and also I needed to be able to install the adb interface driver from the google sdk.
I was able to do neither of these using the standard methods/guides I was able to find elsewhere.
To change the uart setting back to pda and the usb connection back to pda the special code *#7284# no longer works on the Samsung Galaxy s2 i9100 Android 4.0.4 (or at least not for me) I had to download the bettercut apk (which I may very well had to pirate because I couldn't find it in the market) and made a shortcut to phoneutil manually
bettercut > new shortcut > no > all activities > phoneutil
There you can change the settings to modem and back to pda (when connected in modem mode xp listed a new device "7 CDS's" which would not install).
After that I had to install the google driver from the sdk (adt-bundle-windows-x86_64\sdk\extras\google\usb_driver)
And to allow Windows XP 64 to install the drivers you need to edit "android_winusb.inf" to add the samsung galaxy as a valid device.
I added the following lines to [Google.NTx86] and [Google.NTamd64].
android_winusb.inf
[Google.NTx86]
; Samsung galaxy
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_00
%SingleBootLoaderInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_04
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&adb
%SingleBootLoaderInterface% = USB_Install, USB\VID_04E8&PID_6860&adb
[Google.NTamd64]
; Samsung galaxy
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_00
%SingleBootLoaderInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_04
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&adb
%SingleBootLoaderInterface% = USB_Install, USB\VID_04E8&PID_6860&adb
I found instructions to add a device USB\VID_04E8&PID_6860&MI_00 however this did not match my phone, I needed to manually determine the device ID and add it myself before windows would let me install the drivers.
Device Manager > Samsung Android Phone > Samsung Android ADB Interface > Properties > Details > Matching Device ID
And the phone ADB interface had the following ID USB\VID_04E8&PID_6860&adb
Which I added as above (if your phone doesnt match you would need to do this too I think). I then updated the driver for "Samsung Android ADB Interface" using the "Android Bootloader Interface" which I can now select from the Google SDK Driver.
Install "Android Bootloader Interface" from google SDK.
I then was able to reinstall the "Samsung Android ADB Interface" driver as before or the "Android Composite ADB Interface" from the google SDK and ADB started working (as tested with ADB Devices, mine is now listed, woot!).
So i think the problem was mainly the lack of the Android Bootloader Interface driver, with the UART thing possibly having some effect?
However I did have adb working BEFORE i decided to re-root my phone (only discovered it stopped working when I couldn't use ADB Explorer however I am failry certain I had used it not 10 minutes before). So why it stopped working I haven't a clue. I am pretty certain nothing changed on my pc, so perhaps setting the uart mode back and forcing the drivers to reinstall was enough to fix it. However maybe adb no longer works for the standard samsung drivers and you need to install the drivers from the sdk too?
Id be interested to know if there are other folk in the same boat, if they have any idea what happened
SDK Drivers
View attachment 1608810
SDK drivers for those who dont want to download the whole SDK. (its a rar by the way).
henryjfry said:
View attachment 1608810
SDK drivers for those who dont want to download the whole SDK. (its a rar by the way).
Click to expand...
Click to collapse
To all the 133 viewers no, don't thank me. Your immense gratitude is thanks enough.
Anyone that spends any time on these forums can attest that this has been an ongoing problem for quite some time, and as long as I've been here, there hasn't been any concrete solution that users can rally around.
A while back, I bought a used laptop for the purpose of running Linux. Mac doesn't have good support for dual booting and there are certain unavoidable issues when running on a VM - but, I digress. This laptop came with Windows XP, and while I have no real purpose for it, I decided to keep in on there, just in case. Recently, I decided to see how hard it really was to get ADB to connect in Windows. I've found, while it isn't really that difficult, I can see why there are so many people having trouble with it. A lot of the information out there regarding this topic is kind of all over the place and none of it really helps users to understand why they're being instructed to do these things. So when something doesn't work exactly like a tutorial says it should, many people are left wondering what to do next and then go on to try other things they don't understand, while all at the same time accomplishing nothing. I created the SoupKit to try and alleviate some of the problem, and while it has been moderately successful in doing so, there are still many for whom it is out of the question. So...the purpose of this thread is to talk about what I have learned from this process and open a discussion on how to apply what I've learned to coming up with a solution that will work for everyone.
That being said...
I'm using the Kindle Fire Utility's 'install_drivers.bat' as an example because it seems to be the the goto choice for many users and it is a much better solution than installing the entire Android SDK, but there are some caveats...so keep reading.
The very first problem I ran into when trying to get ADB to work in Windows was the unsigned driver issue. There are many tutorials out there for installing unsigned drivers and disabling signature checking for each of the different operating systems but I found that even disabling signature checking alone didn't do much good. In the case of the Kindle Fire Utility, drivers are installed via the Windows Driver Package Installation Wizard (dpinst.exe), so disabling signature checking for the system alone may have no effect. The solution I found from the Microsoft's Dev center library, is to run the driver install package with the "Legacy Mode" (/lm) switch on.
In the KFU's 'install_drivers.bat', there are two lines used to envoke the 'dpinst.exe', one for 32bit and one for 64bit machines:
Code:
::We are 32bit, lets run 32bit installer.
[B]start .\drivers\dpinst32.exe [/B]
) ELSE (
::We are 64bit, lets run 32bit installer.
[B]start .\drivers\dpinst64.exe[/B]
before Legacy Mode
{
"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"
}
To enable Legacy Mode and disable signature checking for the dpinst.exe, those lines should be edited like so:
Code:
::We are 32bit, lets run 32bit installer.
[B]start .\drivers\dpinst32.exe /lm[/B]
) ELSE (
::We are 64bit, lets run 32bit installer.
[B]start .\drivers\dpinst64.exe /lm[/B]
after Legacy Mode
Considering the fact that Microsoft doesn't like to update too much, that fix should work across all Windows operating systems. (if not, let me know)
The next problem I ran into was that the KFU's 'install_drivers.bat' didn't create the '.android' folder in the User directory where the 'adb_usb.ini' should go. I'm not quite sure why...I barely know anything about Windows batch scripting, but from what I can tell, this should work:
Code:
if not EXIST %userprofile%\.android\ ( mkdir %userprofile%\.android\ )
copy drivers\kindle\adb_usb.ini %userprofile%\.android\adb_usb.ini
...which is basically saying, "If the '.android' folder doesn't exist in the User directory, create it, then copy the 'adb_usb.ini' file to it." The '%userprofile%', I'm guessing, is a Windows batch global variable that represents the current user's home directory, much like "$HOME" in Linux. Why that didn't work for me or for a lot of users I've seen, I couldn't say, but I was able to create the directory via the command line very easily (apparently you can't create directories in Explorer that start with a "." ). When you open a command prompt in Windows, it should start from the User directory (C:\Documents and Settings\Username) by default. With that being the case, anyone can ensure the directory is created with the following command:
Code:
mkdir .android
Copying the 'adb_usb.ini' to the .android folder is pretty straightforward and can be done via the command line or Windows Explorer.
Now here's where things gets a little tricky...hardware IDs.
Not really tricky, but it is clearly the source of many of the problems users are experiencing. For every ROM, bootloader, and (as of late) recovery build, the hardware IDs that are listed for that build may vary. Why is this important? Because KFU's 'android_winusb.inf' only accommodates a small number of hardware IDs, and depending on your build, you could be left out.
When you plug your device into the USB, something should show up in the Device Manager. You can check the hardware ID listed for your device in the state that it's in by looking at the device's properties in the Device manager.
From there (speaking from a Windows XP perspective) you should be able to click on the details tab and select "Hardware Ids" from the drop-down menu.
In the 'android_winusb.inf' that comes with the KFU, there are hardware ID's already listed...
Code:
;Kindle Fire
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0100
...
...
...but you'll need to add the hardware ID for whatever your device is reporting in the particular state that it's in. So using the image posted earlier as an example, you would have to add the following:
Code:
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0216&MI_01
A couple of things to note when doing this:
If you're using a custom ROM, chances are it can be in one of three states; Android (ADB) debugging, UMS & MTP. Do not add the hardware ID for MTP or UMS (UMS is when the stock Kindle Fire shows the black screen with a USB cable and the "disconnect" button). Doing so will most likely break your ability to mount your sdcard to USB.
If you've already installed the drivers before editing the 'android_winusb.inf' to accommodate the new hardware IDs, you may need to manually uninstall the drivers and remove the 'android_winusb' folder from yourWINDOWS directory and reboot. The exact location of this folder may vary between different versions of Windows, but I couldn't say for sure. I can, however, explain where it is in Windows XP and hopefully you can find it on your own OS and reply to this post if the location is different.
In the WINDOWS directory under "system32', I found a hidden folder called 'DRVSTORE' (you may have to enable showing of hidden folders). In that folder, you should see something similar to the following (assuming you have already run the 'install_drivers.bat'):
Just delete that folder, reboot, edit the 'android_winusb.inf' that comes with KFU and run the 'install_drivers.bat' again.
With this information, anyone should be able to get ADB working in Windows with little or no problem. Obviously, each Windows version is different, so if you see something that is different in your OS, please reply to this post so I can edit it accordingly.
P.S. With that being said, I decided to gather a bunch of the most popular ROM's and recovery's hardware IDs and created a more comprehensive list that should work in 90% of all situations (if you have a hardware ID that is different, post it so we can add it to the list):
Code:
[Google.NTx86]
;Kindle Fire
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0100&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0100
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0100
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0100&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0001
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0001&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0001&REV_0216&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0004&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&REV_0216&MI_00
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0004&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_00
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0216&MI_01
[Google.NTamd64]
;Kindle Fire
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0100&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0100
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0100
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0100&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0001
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0001&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0001&REV_0216&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0004&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&REV_0216&MI_00
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0004&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_00
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_0216&MI_01
I hope this helps people to figure out what's going on and how to get ADB working properly. If anyone has any questions or has something to add PLEASE let us know so I can edit this post accordingly. Also, if you have found this informative, or if it helps you in figuring out how to get things working, please consider hitting the thanks button. Your appreciation is MUCH appreciated. Thank you.
Credit goes to kinfauns for spotting this problem ages ago. I'm surprised it is so constantly overlooked.
Wow, I actually took the time and read all of that! Thank you, I personally didn't need it, (thank god) but I'm sure many newcomers will find this very useful.
Fantastic job Soupmagnet as always. Windows xp is by far the hardest out of all the windows variants to get adb going properly. You have touched on some very good points here especially when it comes to the hardware id changes per system and or state. Most the time I can fiddle around enough to get xp to accept an unsigned install but usually that is not without the extra bloat of jdk and sdk. From there is still a series of twists to get the proper effect, then when you upgrade your kindle to a different os once again you revisit the nightmare. Thank you for putting this together because even though xp is an aging os people will continue to use it because they have no other option. With each and every Android advancement for the Kindle Fire I have amassed a long list of changes to the win_usb.inf which may not all be perfect but it functions, I would be happy to see that you get my copy in case there are some differences to be added to your list. Thank you again for your hard work and effort.
KFU still doesn't pick up my device (waiting on device)
justin111 said:
KFU still doesn't pick up my device (waiting on device)
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2182450
I believe your device IDs need correction. At least for my device to work I had to make the following changes to my android_winusb.inf:
yours :
Code:
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&REV_0216&MI_00
mine :
Code:
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0007
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&MI_01
Note the difference? Mine follows the same structure as the rest of the file, which never has the &MI_XX with the SingleAdbInterface line, and also does not ever have &REV_XXXX anywhere. After doing this, my device is not only properly recognized by device manager (which your mod allowed) it is also working with ADB (which your mod did not allow, as it would show "offline" - so at least on my XP machine, your changes did not actually get the driver installed properly. But, thanks for the guide, it helped me get this working, as I just got this KF for doing some PC work for my dad...
I copied the IDs as I saw them in the ROMs I tested. As I said before, different builds can have different IDs, so I appreciate you bringing a new one to my attention so it can be added to the list. Thank you.
So some comments:
In Win7 64bit home premium, when I first ran KFU 9.6 back in August some time, I didn't have much trouble installing the driver.
I first let Windows install the correct driver for the original, unmodded kindle. I then proceeded to either roll back the driver or uninstall the driver. At this point, I ran the drivers installer from KFU without any problem, and it correctly installed them, as far as I can remember.
I also have (for as long as I can remember) had the .android folder in the place it is designated. I obviously have it there now, and I didn't have to do any fancy stuff.
Now as far as the DRVSTORE goes, I found in in the same place you had it; It only had the folders included in the picture.
Thanks for your list of Device IDs. I will continue to see if mine match up, and update as necessary. Maybe put a list of what ROMs these came from?
So I am going to run KFU clean with everything that you have here. I am going to delete the drv folder, but should I also go ahead and delete .android folder?
This definitely needs to be stickied! :good:
Try to search your computer for 'android_winusb.inf' hidden somewhere in the WINDOWS directory and let me know if you find anything.
[Edit:] Oh, and there's no reason to delete the '.android' folder
soupmagnet said:
Try to search your computer for 'android_winusb.inf' hidden somewhere in the WINDOWS directory and let me know if you find anything.
[Edit:] Oh, and there's no reason to delete the '.android' folder
Click to expand...
Click to collapse
here is what pops up.
Apparently the folder you need to delete is in DriverStore instead of DRVSTORE.
[Edit:] I should add, that you don't delete DRVSTORE or DriverStore, only the folder that contains 'android_winusb.inf'.
soupmagnet said:
Apparently the folder you need to delete is in DriverStore instead of DRVSTORE.
[Edit:] I should add, that you don't delete DRVSTORE or DriverStore, only the folder that contains 'android_winusb.inf'.
Click to expand...
Click to collapse
Here's where it is located for me. Is there a way to delete a folder from cmd? When I select delete (with administrator priviledges) it still says that I can't perform the action because I need administrator priviledges. Do you know a way around this? Obviously I have the administrator priviledges.
--edit--
Sorry. I guess I didn't include the pic. Here you go!
Was stuck in recovery for ages until I found this thread, thanks! My device mgr H/W IDs were "USB\VID_1949&PID_0008&MI_00" and "USB\VID_1949&PID_0008&REV_0216&MI_00". Finally got the driver to install by adding these three lines to the ini file. Wouldn't work with just the two lines for me.
;Kindle Fire HD 8.9
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0008
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0008&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0008&REV_0216&MI_00
Kindle Fire otter device shows as USB\VID_1949&PID_0005 and can't get drivers to work
I know this is an old thread, but just got around to wanting to reset my Kindle back to factory default and just use it as a reader, KitKat just runs too slow on it. Main problem is getting the drives installed and the device recognized. I've been all over the xda forum, but just can't get it to work.
Device is rooted with N2A Kitkat on it, and twrp 2.6.3 (mainly because I couldn't get the drivers to consistently work). I followed the normal factory reset instructions, got the update-kindle-6.3.4_D01E_4120720.bin, but this version of TWRP cannot read the update.zip file, gets the unknown command error. Running Win7 x86 on PC.
Further reading indicated that I need to go back to twrp 2.2.2.1 to get the update.zip recognized. So that is when I pulled the 0.9.9 version of the Kindle Fire Utility, made all the changes you recommend here and tried to install the drivers. Tried all sorts of different methods based on other posts, but still no luck.
The only thing I see as different is that when normal booted and plugged in, my device shows up as USB\VID_1949&PID_0005 instead of one of the standard PID numbers in the winusb file. I used pnputil to delete all of the android drivers except the one for my Samsung S4 phone, rebooted so everything was clean, then went through the driver install again with the new lines added.
USB\VID_1949&PID_0005
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0005
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&REV_0216
Device shows up as Android Compostie ADB Interface, but no luck connecting to device in File manager or adb.
When I looked at the resulting file under win\system32\driverstore\filerepository, the contents does not include anything for the PID_0005:
[Amazon.NTx86]
Kindle/Recovery ADB Mode | Gen1 = USB_Install, USB\VID_1949&PID_0006&REV_0216&MI_01
Kindle ADB Mode | Gen2 = USB_Install, USB\VID_1949&PID_000A&REV_0216&MI_01
Recovery ADB Mode | Gen2 = USB_Install, USB\VID_18D1&PID_6868&REV_0216&MI_01
N2A ADB Mode / Kindle ADB Mode | HD 7 = USB_Install, USB\VID_1949&PID_0007&REV_0216&MI_01
Kindle ADB Mode | HD 8.9 = USB_Install, USB\VID_1949&PID_0008&REV_0216&MI_01
Kindle Orange Fastboot Mode | Gen1 = USB_Install, USB\VID_1949&PID_0006&REV_0100
Kindle Blue Fastboot Mode | Gen1 = USB_Install, USB\VID_18D1&PID_0100&REV_0100
Kindle Fastboot Mode | Gen2 = USB_Install, USB\VID_1949&PID_000A&REV_0100
Fastboot Mode | HD 7 = USB_Install, USB\VID_1949&PID_0007&REV_0100
Fastboot Mode | HD 8.9 = USB_Install, USB\VID_1949&PID_0008&REV_0100
Recovery ADB Mode | HDs = USB_Install, USB\VID_18D1&PID_D001&REV_0216
Recovery ADB Mode | Gen1 44 = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_01
If I boot device into TWRP and connect, it installs the driver correctly via the popup, with Recovery ADB Mode | Gen1 44 and device shows as Kindle Fire with Hardware ID PID_004.
Any ideas you have would be greatly appreciated!!!
wnardone said:
I know this is an old thread, but just got around to wanting to reset my Kindle back to factory default and just use it as a reader, KitKat just runs too slow on it. Main problem is getting the drives installed and the device recognized. I've been all over the xda forum, but just can't get it to work.
Device is rooted with N2A Kitkat on it, and twrp 2.6.3 (mainly because I couldn't get the drivers to consistently work). I followed the normal factory reset instructions, got the update-kindle-6.3.4_D01E_4120720.bin, but this version of TWRP cannot read the update.zip file, gets the unknown command error. Running Win7 x86 on PC.
Further reading indicated that I need to go back to twrp 2.2.2.1 to get the update.zip recognized. So that is when I pulled the 0.9.9 version of the Kindle Fire Utility, made all the changes you recommend here and tried to install the drivers. Tried all sorts of different methods based on other posts, but still no luck.
The only thing I see as different is that when normal booted and plugged in, my device shows up as USB\VID_1949&PID_0005 instead of one of the standard PID numbers in the winusb file. I used pnputil to delete all of the android drivers except the one for my Samsung S4 phone, rebooted so everything was clean, then went through the driver install again with the new lines added.
USB\VID_1949&PID_0005
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0005
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0007&REV_0216
Device shows up as Android Compostie ADB Interface, but no luck connecting to device in File manager or adb.
When I looked at the resulting file under win\system32\driverstore\filerepository, the contents does not include anything for the PID_0005:
[Amazon.NTx86]
Kindle/Recovery ADB Mode | Gen1 = USB_Install, USB\VID_1949&PID_0006&REV_0216&MI_01
Kindle ADB Mode | Gen2 = USB_Install, USB\VID_1949&PID_000A&REV_0216&MI_01
Recovery ADB Mode | Gen2 = USB_Install, USB\VID_18D1&PID_6868&REV_0216&MI_01
N2A ADB Mode / Kindle ADB Mode | HD 7 = USB_Install, USB\VID_1949&PID_0007&REV_0216&MI_01
Kindle ADB Mode | HD 8.9 = USB_Install, USB\VID_1949&PID_0008&REV_0216&MI_01
Kindle Orange Fastboot Mode | Gen1 = USB_Install, USB\VID_1949&PID_0006&REV_0100
Kindle Blue Fastboot Mode | Gen1 = USB_Install, USB\VID_18D1&PID_0100&REV_0100
Kindle Fastboot Mode | Gen2 = USB_Install, USB\VID_1949&PID_000A&REV_0100
Fastboot Mode | HD 7 = USB_Install, USB\VID_1949&PID_0007&REV_0100
Fastboot Mode | HD 8.9 = USB_Install, USB\VID_1949&PID_0008&REV_0100
Recovery ADB Mode | HDs = USB_Install, USB\VID_18D1&PID_D001&REV_0216
Recovery ADB Mode | Gen1 44 = USB_Install, USB\VID_1949&PID_0004&REV_0216&MI_01
If I boot device into TWRP and connect, it installs the driver correctly via the popup, with Recovery ADB Mode | Gen1 44 and device shows as Kindle Fire with Hardware ID PID_004.
Any ideas you have would be greatly appreciated!!!
Click to expand...
Click to collapse
How To revert to Stock 6.3.4 Rom (2015)
Sent from my XT912 using Tapatalk
Sent from my SM-G900V using XDA Free mobile app
Right, I don't know what kind of sorcery my nexus 7 tablet is employing, but it simply isn't getting the ADB treatment.
I've tried installing Samsung drivers, Naked drivers, all the drivers, bleh, test mode- the whole kaboodle and nothing's working.
ADB isn't recognizing my nexus 7, and I have absolutely no idea why.
I thought maybe it'd have something to do with these specs, maybe?
OS: Windows 8 Pro x64
ROM: ParanoidAndroid 3.1 (Newest, formerly 2.54 but still same problem)
Recovery: TWRP
MTP and PTP are offered at connection. Debugging is available on Nexus 7, but computer seems entirely oblivious to its existence as an ADB device. Device Manager lists Nexus as 'Android ADB Composite Device' after I installed Google's SDK Drivers
Ask questions away
Thanks
A lot of users have luck by using toolkits that install the drivers for you. I simply used the drivers from the Asus website on my Win 8 x64 laptop.
Sent from my SGH-I777 using xda premium
korockinout13 said:
A lot of users have luck by using toolkits that install the drivers for you. I simply used the drivers from the Asus website on my Win 8 x64 laptop.
Sent from my SGH-I777 using xda premium
Click to expand...
Click to collapse
Yep, that's the problem:
I've used:
1) WugFresh drivers
2) ASUS drivers
3) SDK Drivers
4) Whatever else- drivers there are on those toolkits
Three phrases that should never be used on XDA are:
a) "Nothing's working"
b) "I've tried everything"
c) "It doesn't work"
Why? Because they don't really provide any useful details to a reader that might otherwise be able to help.
Look - You said that you observed "ADB Composite Interface" in you device manager, and yet you said NOTHING about whether Windows noted that the device was not working correctly.
At a minimum, that means that you DO (or did) have a driver successfully installed, and moreover, the device on the far end of the cable is properly communicating and asserting a VID/PID hardware identifier that selects the installed Windows driver that is supposed to handle that device. Otherwise you would see nothing or an unknown device in the device manager.
What your OP does not mention is what exactly the symptoms of "doesn't work" actually are: are you saying that "running the command 'adb devices' from the command line produces an 'offline' message"?
Also, you failed to mention whether you are trying to communicate via adb to the regular OS or the custom recovery. It makes a difference because most windows wingnuts end up installing TWO drivers for adb - the custom recoveries claim a completely different VID/PID device identifier than what is used by the OS, and the unmodified Asus/Google drivers don't claim the custom recovery VID/PID hardware ID.
One other thing to note: with jb4.2.2, if /default.prop has
ro.adb.secure=1
then you need to have the screen unlocked when you fire up adb on the PC so that you can accept the connection from the tablet side, otherwise it will report an "offline" device. (This only applies to the OS, not the recoveries. As I noted, you didn't' say which & I don't know what PA does in its ramdisk anyway.)
good luck
Hi. Simple solution for this. Uninstall all the nexus drivers you have and reboot your machine, then go here:
http://support.asus.com/Download.aspx?SLanguage=en&m=Nexus+7&p=28&s=2
download the driver software and reinstall. That should sort you out
Thanks for the response
Well, to clear things up...
I mean, the Nexus 7 says 'USB Debugging connected' when connected.
adb devices displays 'List of devices attached' as nothing, and adb reboot gives 'error: device not found'.
Hardware/PIDs for 'Android Composite ADB Interface', (comes up on Device Manager when Nexus 7 plugged in)
USB\VID_18D1&PID_4E42&REV_9999&MI_01
USB\VID_18D1&PID_4E42&MI_01
General Tab for ADB Interface properties says Device Type: Android Device, Status 'Is working properly'
Opening up recovery yields yet the same problem on ADB- nothing is found.
Plugging in my ZTE Skate with CM7= adb devices picks IT up perfectly and i can do whatever I want with it.
The result is exactly the same on my Windows 7 laptop. The adb I'm trying to communicate with is a Windows 8 x64 'Test Mode' System
MTP/PTP works fine. USB OTG with NTFS is a total failure and doesn't detect
I'm trying to communicate with the normal system OS. But both TWRP and OS are undetected by adb devices
Edit: I've never needed to 'accept' anything from the tablet side- that's odd.I've tried adding certain PIDs to the Google drivers .ini and unin/reinstalling the drivers in vain (I'm unfortunately not exactly sure what those PIDs should look like stuck in the .ini driver file anyway, sorry)
Edit 2: @BluDRed - just tried that again for good measure- still nothing.. thanks anyway
Edit 3: THIS GUIDE does not work > http://zacktutorials.blogspot.ca/2012/08/nexus7-android-development.html
tigrey said:
Hardware/PIDs for 'Android Composite ADB Interface', (comes up on Device Manager when Nexus 7 plugged in)
USB\VID_18D1&PID_4E42&REV_9999&MI_01
USB\VID_18D1&PID_4E42&MI_01
Click to expand...
Click to collapse
Last time I went through all the mode combinations was on 4.2.1 (see the VID/PID listing at the end of the first post in this thread); judging from that info the above sort of looks like ADB mode without either MTP or PTP turned on. Don't know if it is important or not, but I have noticed reports in here with slightly different results than mine - some folks saying "I couldn't get MTP to work unless ADB was turned off" ... my result was the exact opposite! But frankly, I don't remember anyone having the reverse problem where they couldn't get ADB to work and solved it by fooling with MTP/PTP toggling.
tigrey said:
Opening up recovery yields yet the same problem on ADB- nothing is found.
Click to expand...
Click to collapse
Both TWRP and CWM should show up at USB\VID_18D1&PID_D001. So the driver that loads for "adb" from the custom recovery will be different (or "unknown device") unless the .inf file in the driver install kit from Asus/Google claims this VID/PID pair... or you have a completely separate driver installed.
tigrey said:
MTP/PTP works fine.
Click to expand...
Click to collapse
This seems like a very important observation/clue. MTP seems to work extremely well on my Win 7 x64 box - transferring big files at something like 80-90 Mbits/sec! If your pair of devices is capable of those kinds of speeds, it certainly seems to rule out a scenario where the hardware link succeeds at low speed (and thus gets the driver properly set up), but then later screws up after the link transitions to high speed.
tigrey said:
Edit: I've never needed to 'accept' anything from the tablet side- that's odd.I've tried adding certain PIDs to the Google drivers .ini and unin/reinstalling the drivers in vain (I'm unfortunately not exactly sure what those PIDs should look like stuck in the .ini driver file anyway, sorry)
Click to expand...
Click to collapse
That security dialog is new in 4.2.2 stock. As I mentioned in my previous post, you might not notice it in a custom ROM (even if based on 4.2.2) if the ROM dev toggled off that adb security property.
Tell you what - typing detailed posts on my N7 is lame. I'll post this now, and then add some further comments using a real keyboard in a couple minutes...
OK, this isn't meant to be a prescription - more like a recounting of experiences to see if perhaps you get some further ideas.
When I first got my N7 in early January, I already had on my Win7 Pro x64 box the Google SDK, and (iirc) I had a variety of ADB/fastboot drivers installed for a different Android devices. (HTC and Samsung)
Fired it up, and of course no communication to the N7 with either adb or fastboot. So I updated the entire SDK and the Google driver, and now ADB & fastboot worked (with the N7's regular OS).
Rooted the device, installed a custom recovery, and - no communication with the custom recovery via ADB. WTF?
Well, it turns out that my prior Android experience had been with a custom recovery where the developer took pains to make sure that the VID/PID pair used by the custom recovery was the same as that used by the OS for ADB - so only a single "adb" driver was needed for both situations.
But that's not the case for either TWRP or CWM for the N7 - the PID is different than any values appearing in the .INF file for the Google SDK USB driver or the Asus USB drivers. That means that without modification the Google or Asus drivers simply will not work with ADB from the custom recovery.
I didn't know that at the time, so I punted and installed the XDA "Universal Naked" (and unsigned) driver - origin unknown. Ugh.
After seeing all the troubles that other people seemed to be having, and not being too happy about installing random unsigned drivers off of the internet, I decided I wanted to clean up this mess of a situation - even though it was working perfectly fine for me!
So I went and downloaded the Asus drivers (R06 2012-06-24).
Next, I hacked the .INF file "android_winusb.inf" in the Asus driver bundle.
Code:
$ diff android_winusb.inf.distro android_winusb.inf
30,41[b]d[/b]29
[color=red]< ;Google Nexus One
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
<
< ;Google Nexus S
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01
<[/color]
47[b]a[/b]36
[color=green]> %CustomRecoveryAdbInterface% = USB_Install, USB\VID_18D1&PID_D001[/color]
51,62[b]d[/b]39
[color=red]< ;Google Nexus One
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
< ;Google Nexus S
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
< %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23
< %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01
<[/color]
68[b]a[/b]46
[color=green]> %CustomRecoveryAdbInterface% = USB_Install, USB\VID_18D1&PID_D001[/color]
130[b]a[/b]109
[color=green]> CustomRecoveryAdbInterface = "Custom Recovery ADB Interface"[/color]
The above might be a little hard to read, but basically I deleted all the lines pertaining to Nexus One (PIDs 0D02, 4E11, & 4E12) and Nexus S (PIDs 4E21, 4E22, 4E23, 4E24), and added to the Nexus 7 sections the line
Code:
%CustomRecoveryAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
to both the [Google.NTx86] and [Google.NTamd64] sections of the .INF file
The deletions of the Nexus One and Nexus S were not necessary - if you want, they could be left in there. I wanted to be sure that this driver would ONLY be used with the Nexus 7 though.
Also - note the string "CustomRecoveryAdbInterface" - this needs to be defined in the [Strings] section at the end of the .INF file. It was shown above, but I'll show it again here:
Code:
CustomRecoveryAdbInterface = "Custom Recovery ADB Interface"
The reason I did it this way is because this is the string which will be displayed in the Windows device manager when this particular driver loads! If you want, you can customize this behavior - including putting your own name or other string in there - so that when the driver loads in Windows you will be 100% sure Windows is using the driver you intend!
For instance, I could have used
%MyFearsomeHackedDriver% = USB_Install, USB\VID_18D1&PID_D001
in the [Google.NTx86] and [Google.NTamd64] sections of the .INF file, and
MyFearsomeHackedDriver = "TWRP/CWM Recovery Using Asus Driver R06"
in the [Strings] section of the .INF file. Anyway, you get the idea. Change those strings to say whatever you want (but avoid using any special characters).
Important Note: I would avoid using Wordpad or any other editor which is likely to fool with line termination characters in the .INF file. - edit the .INF file using Notepad
OK, onward.
What I did next was to:
1) Disconnect my PC from the internet.
2) Disconnected N7 from the PC
3) Put "devmgr_show_nonpresent_devices=1" into the Windows Environment - system variables (search for devmgr_show_nonpresent_devices=1 if you don't know what it means. Computer->Properties->Advanced System Settings->Environment Variables)
4) Start up the device Manager, and then View->show hidden devices
#3 and #4 together will display every driver ever installed on your computer, even for devices which are not attached. (Devices which actually are attached will show up in bold, rather than washed-out colors)
Then what I did was - looking in all the usual places in the Device Manager - e.g.
"ADB Interface", or "Android Phone" or "Other Devices"
I laboriously inspected every driver's VID/PID pair one by one. For any that matched
VID_18D1&PID_4E40 - N7 bootloader
VID_18D1&PID_4E41 - ADB off + MTP on
VID_18D1&PID_4E42 - ADB on + MTP off (&REV_9999&MI_01) or MTP on (&REV_9999&MI_00)
VID_18D1&PID_4E43 - ADB off + PTP on
VID_18D1&PID_4E44 - ADB on + PTP on
VID_18D1&PID_D001 - Custom Recovery (either CWM or TWRP)
I not only removed them as the driver, but when presented with the option "do you want to also delete this driver", I clicked YES.
NOTE: You can skip over the section in the device manager labeled as "Portable Devices", as these pertain to MTP/PTP drivers. OR, depending on how you feel about them, you could also uninstall them - just don't say yes to the "do you want to also delete this driver" query. The idea is that we are trying to rid the machine of prior Asus/Google or other drivers matching the N7 - but not delete Microsoft drivers for MTP/PTP. If you uninstall them, they will get re-installed the next time the device starts up.
The reason for this is that Windows maintains a hidden database of every driver that has ever been installed on the machine, and includes with them the matching conditions that cause them to be loaded once they are installed - in particular, VID/PID USB hardware IDs. This is how Windows can re-instate an old driver as soon as you plug the hardware into the machine - even without asking you first!
After walking through all drivers that look like they might match (Note for instance you might have drivers for other Android Devices that you want to leave alone - they will show up with different VID/PID pairs however), and deleting ALL of them that match the above-listed Nexus 7 (and "Universal Naked Google VID/PID of VID_18D1&PID_D001), your machine should be expunged of old drivers.
The disconnection from the internet was to also make sure that Windows wouldn't automatically go out onto the internet and start downloading stuff. I wanted to be SURE that it only was capable of a manual driver install of my choosing.
So, I booted the N7 into the OS, made sure that ADB debugging was enabled, and plugged the N7 into my PC. I suppose it might have been even better to boot into the custom recovery and attach - if Windows installed a driver before it offered me a chance to manually install one, that would mean that I hadn't properly expunged matching drivers from the machine.
When given the option to install a driver, I pointed it at the folder with my (modded) Asus driver, and asked it to install.
Now the Asus driver is signed - and modifying the .INF file breaks the signing. So, in my case Windows 7 complained about the broken signature - but at least it let me over-ride it's complaints and install it anyway. Windows 8 is more fussy about this sort of thing I suppose - at a minimum you would need to be in Win 8 test mode when you do this; perhaps even worse.
Anyway - long story short is that it worked. No Google USB driver, no "Universal Naked Driver" - only a single hacked Asus driver for everything: fastboot and ADB (from both the OS and the custom recoveries - I've used it with both TWRP and CWM).
If you go through this procedure correctly, you should not need to re-connect to the Internet in order to install any drivers - everything you need should already be on the machine. If you want, before you re-attache to the internet, you can toggle on and off MTP/PTP, boot into the the OS and enable/disable ADB, boot into the custom recovery - and verify that all connections are satisfied with your "hacked" Asus driver plus any drivers previously on the machine (hopefully only for the MTP and PTP modes).
I don't know if this will work for you - it sounds like youve tried similar stuff (although perhaps were fuzzy about the .INF mangling). I hope this post provides you with some things to attempt.
As I said before - if you really can transmit lots of data at high speed (via MTP), that suggests that problem is not hardware, and this entire nightmare revolves around Windows drivers issues. TBH though, I would feel a whole lot better about saying this if you were using rooted stock instead of a dev ROM. In either event, you can certainly use TWRP or CWM - that would remove any question about "is it the ROM?".
Another way to validate that it is not hardware is to attempt the whole thing using Linux: boot a Linux "live" CD/DVD Distro on the PC, and cobble together a fastboot/adb executable (plus any required shared libs not present in the Linux distro) and speak to the N7 device using exactly the same PC hardware and cabling, but eliminating Windows temporarily. If it works, the problem has to be Windows.
Jeebus. To think that neither the Mac nor any Linux box need any driver at all for this crap - it really is amazing that "easy to use Windows" is the hardest platform to get this stupid sh!t working. The ADB and fastboot protocols used "on the wire" are incredibly, incredibly bare and simplistic.
anyway, I hope this helps somebody, even if the OP's troubles can't be resolved.
cheers
bftb0 said:
-snip-
Click to expand...
Click to collapse
Good news and bad news!
First, thanks for taking time to answer my cry for help The effort was amazing.
Bad news being... it didn't work :/
I managed to mangle the INF into this:
Code:
;
; Android WinUsb driver installation.
;
[Version]
Signature = "$Windows NT$"
Class = AndroidUsbDeviceClass
ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider = %ProviderName%
DriverVer = 05/24/2012,6.0.0000.00000
CatalogFile.NTx86 = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat
;
; This section seems to be required for WinUsb driver installation.
; If this section is removed the installer will report an error
; "Required section not found in INF file".
;
[ClassInstall32]
Addreg = AndroidWinUsbClassReg
[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64
[Google.NTx86]
;Google Nexus 7
%TWRPNexus7Recovery% = USB_Install, USB\VID_18D1&PID_D001
%bootloader% = USB_Install, USB\VID_18D1&PID_4E40
%ADBoff_MTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E41
%ADB_MTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E42&MI_00
%ADB_MTPoffNexus7OS% = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%ADBoff_PTPoffNexus7OS% = USB_Install, USB\VID_18D1&PID_4E43
%ADB_PTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E44
[Google.NTamd64]
;Google Nexus 7
%TWRPNexus7Recovery% = USB_Install, USB\VID_18D1&PID_D001
%bootloader% = USB_Install, USB\VID_18D1&PID_4E40
%ADBoff_MTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E41
%ADB_MTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E42&MI_00
%ADB_MTPoffNexus7OS% = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%ADBoff_PTPoffNexus7OS% = USB_Install, USB\VID_18D1&PID_4E43
%ADB_PTPNexus7OS% = USB_Install, USB\VID_18D1&PID_4E44
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install
[WinUSB_Install]
KmdfLibraryVersion = 1.9
[USB_Install.HW]
AddReg = Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"
[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1
WdfCoInstaller01009.dll = 1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 2
WdfCoInstaller01009.dll = 2
[Strings]
ProviderName = "Google, Inc."
SingleAdbInterface = "Android ADB Interface"
CompositeAdbInterface = "Android Composite ADB Interface"
SingleBootLoaderInterface = "Android Bootloader Interface"
WinUSB_SvcDesc = "Android USB Driver"
DISK_NAME = "Android WinUsb installation disk"
ClassName = "Android Phone"
TWRPNexus7Recovery = "TWRP Nexus 7 Recovery"
bootloader = "Nexus 7 Bootloader"
ADBoff_MTPNexus7OS = "ADB off, MTP on Nexus 7 OS"
ADB_MTPNexus7OS = "ADB on, MTP on Nexus 7 OS"
ADB_MTPoffNexus7OS = "ADB on, MTP off Nexus 7 OS"
ADBoff_PTPoffNexus7OS = "ADB off, PTP off Nexus 7 OS"
ADB_PTPNexus7OS = "ADB on, PTP on Nexus 7 OS"
I then went around into recovery and fiddled about with the MTP PTP settings after enabling devmgr to show hidden drivers. I uninstalled them all, then reinstalled them from the Asus R06 drivers with my ethernet link disabled.
When booting into the Nexus 7 OS with ADB on and MTP off, then installing the drivers, the description ADB on, MTP off Nexus 7 OS was seen in device manager, and the hardware ID was
Code:
%ADB_MTPoffNexus7OS% = USB_Install, USB\VID_18D1&PID_4E42&MI_01
Therefore, it installed properly.
But running cmd>adb kill-server>adb start-server>adb devices
yielded... nothing.
So, I rebooted into recovery, and "TWRP Nexus 7 Recovery" showed up in devmgr. But adb devices remained oblivious.
I think I'm lost to this cause :/
P.S- you mentioned MTP could do up to 80mbit/s? Mine is very slow indeed. I use a USB OTG cable to do any transfers, and it doesn't work with NTFS, even with Paragon NTFS/HFS+ root app :/
P.P.S- word of advice, Windows 8 is the most useless, horrendous, unusable and awful OS you could ever use if you don't have a touchscreen. 1) Hacky unsigned driver install leaves you open to attacks 2) Boots a useless 'Metro' start screen with crap app selection that eats memory. 3) Clearly doesn't work with Android out of the box. Or any other Linux OS for that matter. for the love of god DON'T. GET. IT.
@tigrey
Sorry it didn't work out. Really strange though that it seems to function correctly for some things but not others.
Way OT question... is it possible to boot that Win 8 machine with anything else, or does it have mandatory signing requirements that prevents that from happening? (e.g. will it boot a Linux "live" CD?). Just curious - I haven't been keeping up with what M$ has been forcing on their hardware partners.
bftb0 said:
@tigrey
Sorry it didn't work out. Really strange though that it seems to function correctly for some things but not others.
Way OT question... is it possible to boot that Win 8 machine with anything else, or does it have mandatory signing requirements that prevents that from happening? (e.g. will it boot a Linux "live" CD?). Just curious - I haven't been keeping up with what M$ has been forcing on their hardware partners.
Click to expand...
Click to collapse
Well, it doesn't have a CD drive, but I'm sure i'd be able to make a live USB boot before windows. I haven't tried it.
I don't know anything about Linux, sorry, so I wouldn't know how to 'cobble together a fastboot/adb executable' :/
I think you can: http://mjg59.dreamwidth.org/20522.html for select distros
tigrey said:
Well, it doesn't have a CD drive, but I'm sure i'd be able to make a live USB boot before windows. I haven't tried it.
I don't know anything about Linux, sorry, so I wouldn't know how to 'cobble together a fastboot/adb executable' :/
I think you can: http://mjg59.dreamwidth.org/20522.html for select distros
Click to expand...
Click to collapse
Well the fastboot executable for Linux is dynamically linked; exactly analogous to how dynamically-linked executables for Windows require supporting .DLLs, Linux executables require ".so" files (Shared Object libraries). Usually, most of them are already part of the distro, but perhaps one of two are shipped with the executable. The last time I used a Linux Live CD with Google's fastboot for Linux, I only had to grab two files out of the Google Linux SDK - the fastboot executable itself and a single .so file - and put them on a USB key drive in order to use fastboot (from the live cd boot) without installing the Google SDK.
There is only one additional trick to getting this done - adding an environment variable LD_LIBRARY_PATH - to the command shell's environment so that when you start up "fastboot" it knows where to find the missing .so file(s).
PM me if you want some assistance - but it sort of sounds like you don't want to go down that path, especially if it were to turn out that the N7 really is the source of the trouble.
Thanks for the link - it sure looks like that UEFI/ secure boot technology is in play and some sort of signed boot shim from M$ is needed. Ugh.
Are you sure Win 8 is accepting Un-signed drivers?
I had issues before. Un-installed any android related drivers.
Accepted unsigned drivers.
Reboot.
Install Android drivers.
BAM!
bftb0 said:
Well the fastboot executable for Linux is dynamically linked; exactly analogous to how dynamically-linked executables for Windows require supporting .DLLs, Linux executables require ".so" files (Shared Object libraries). Usually, most of them are already part of the distro, but perhaps one of two are shipped with the executable. The last time I used a Linux Live CD with Google's fastboot for Linux, I only had to grab two files out of the Google Linux SDK - the fastboot executable itself and a single .so file - and put them on a USB key drive in order to use fastboot (from the live cd boot) without installing the Google SDK.
There is only one additional trick to getting this done - adding an environment variable LD_LIBRARY_PATH - to the command shell's environment so that when you start up "fastboot" it knows where to find the missing .so file(s).
PM me if you want some assistance - but it sort of sounds like you don't want to go down that path, especially if it were to turn out that the N7 really is the source of the trouble.
Thanks for the link - it sure looks like that UEFI/ secure boot technology is in play and some sort of signed boot shim from M$ is needed. Ugh.
Click to expand...
Click to collapse
Holy mother of jesus
After a month of tinkering, I just solved the problem! I have no idea how any of this is linked together, but I updated the bootloader from 4.13 to 4.18 and bam, the device is now recognised in ADB. Since fastboot and adb are mutually exclusive, I find it odd that it worked. Thanks for the help, thought I'd end the thread with some closure
tigrey said:
Holy mother of jesus
After a month of tinkering, I just solved the problem! I have no idea how any of this is linked together, but I updated the bootloader from 4.13 to 4.18 and bam, the device is now recognised in ADB. Since fastboot and adb are mutually exclusive, I find it odd that it worked. Thanks for the help, thought I'd end the thread with some closure
Click to expand...
Click to collapse
Ouch!
Well, at least it is working now - congrats on your persistence (although I'm sure you would have preferred to have spent the time on other stuff). I don't know why that would make a difference for adb, either.
I had a similar issue as the OP with Win7 x64 presenting my Nexus 7 as an "Android Composite ADB Interface" but no devices showing up in 'adb devices'. This is using the auto-downloaded Windows Update drivers; nothing special.
On a whim, I pulled down the notification where it said, "Connected as a Media Device. Select to change" and changed it from a Media device (MTP) to a Camera (PTP). Windows beeped and booped, installed two more drivers, and I immediately got the prompt to authorize connection via ADB on the tablet. Now 'adb devices' shows the device and I'm ready to rock.
- Dave
ViperGeek said:
I had a similar issue as the OP with Win7 x64 presenting my Nexus 7 as an "Android Composite ADB Interface" but no devices showing up in 'adb devices'. This is using the auto-downloaded Windows Update drivers; nothing special.
On a whim, I pulled down the notification where it said, "Connected as a Media Device. Select to change" and changed it from a Media device (MTP) to a Camera (PTP). Windows beeped and booped, installed two more drivers, and I immediately got the prompt to authorize connection via ADB on the tablet. Now 'adb devices' shows the device and I'm ready to rock.
- Dave
Click to expand...
Click to collapse
You Sir, are a legend.
BS...
I know this is an old thread but it shows up on Google, so I thought I would add something useful to it.
If you don't want to hack your drivers and mess with unsigned drivers on Windows 8, I suggest you install the UniversalADBDriver
https://github.com/koush/UniversalAdbDriver
Your device might show up under another name in the device manager, but who cared. It works.
Continuing the work of @ofutur and @ViperGeek, there's one other suggestion that it doesn't appear to have fully been made that has been known to work...
Go into your device manager for your computer, and where the device shows up when you plug it in (Android/Portable Devices/wherever...), go to the device properties and select the Driver tab, and down at the bottom, select Uninstall. There will be a small prompt that has a check-box in it that says "Delete the driver software for this device", and check that box. When it's done removing everything, unplug the device and go into it's developer options (selecting debugging on) and going into your storage options (selecting MTP/Media Device), and then plug the device back into the computer. Drivers will start installing themselves, and when they complete, refresh your C:/ folder to see if anything's appeared there (namely, your device). If it has, in MTP mode, you're good to go. If nothing's shown there while you're in MTP mode on your device, then what's happened is that your computer used other drivers that (still) aren't compatible upon the new installation. The reason why this happened is because you have so many different driver options on your computer that it essentially doesn't know which of the multiple options you have is the right one. NakedDrivers/Cyogenmod Drivers/CompanyDrivers/WhateverDrivers, there's a lot of options out there that many people have used/installed. Effectively, you need to weed out which ones are completely compatible, and which ones aren't. So keep plugging in your device, uninstalling the drivers (and the driver software), un-plugging and re-plugging in your device (and there-by installing different drivers), until your computer installs the drivers that are the correct and most compatible drivers. Upon doing this, chances are your computer will show a different driver type in the installation, including MTP in it. From there, you should be good to go. In short, you don't need to download and install anything, you just need to uninstall whatever software and drivers you have on your machine until when you plug your device in, they communicate in the way they're supposed to.
i have spent hours stuffing around with my nexus 7 2012 (wifi) and wanted to share a tip. hope this helps someone!
i wanted to downgrade from 5.x back to 4.4.4 so i could play the old tetris (mission failed anyway, no longer available, where do you get old versions of apps & games?) anyway i found that adb 1.0.32 only shows devices once my nexus is fully powered on to the normal state
when i reboot into bootloader aka fastboot mode, i was being driven mad by adb "not showing my device"
then i realised that both the bootloader image and the 4.4.4 zip file only needed the "fastboot" command not the "adb" command. also noticed that "adb devices" has a similar command "fastboot devices" and in bootloader mode, fastboot devices DID return my device...
so i was trying to solve a problem that didn't exist! adb does not need to see devices in bootloader aka fastboot mode!! and so i was able to use fastboot to do the last steps of boot image and system zip file update
Code:
fastboot flash bootloader [bootloader file].img
fastboot -w update [image file].zip
PS. i had stumbled onto these "manual" commands at first, but they failed, so i assumed it was because of adb no devices. it turns out the nexus 7 has a 2013 model (wifi) called "flo-flo" i had downloaded from android central. well, my device was listed further down under nexus 7 2012 (wifi) called "grouper". this was the root cause of the fastboot error (not adb lack of devices in bootloader aka fastboot mode) once i used "grouper" the boot.img and image.zip worked fine. my nexus 7 actually had a little echo up top left saying "signature match" which i presume was the "flo-flo" vs. "grouper" issue.