Getting USB Debugging Drivers to install for HD+ with CM10.1 SDCARD on Windows - Nook HD, HD+ General

After installing CM10.1 sdcard, I got ADB connecting with WiFi no problem, but it bugged me that USB didn't work. None of the guides I could find here would work with CM10.1, but with a bit of hacking around finally got it to install and debug and thought I'd share so others don't get as frustrated.
Usual disclaimer: This worked for me on Win 7 64bit, but try it at your own risk. May cause loss of data, corruption of drivers, or a series of small black holes to devour Earth, or other minor or major catastrophes.
Also I am not trust worthy enough to post links myself, so you'll have to copy/paste manually. :silly:
Turns out all you have to do is change the android_winusb.inf file that comes with the Nook developers drivers from B&N
URL: nookdeveloper.zendesk.com/entries/22084221-windows-drivers-for-nook
(Registration required).
Follow the Nook Developer instructions
URL: nookdeveloper.zendesk.com/entries/21943338-nook-developer-startup-guide#_Install_Android_Drivers
After you unzip the driver file in step 5 of section 4.1, go to the folder and open up android_winusb.inf file there in Notepad.
Find the lines, which appear in two places (for 32 bit and for 64 bit) for the Nook HD+
Code:
; Barnes & Noble NOOK HD+
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0005&MI_01
Add this additional line just after those lines in both places:
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_6860&MI_01
Continue and follow the rest of the instructions and you should have a working ADB USB connection. :fingers-crossed:
The completed edit should look like this and appear twice about 20 lines apart:
Code:
; Barnes & Noble NOOK HD+
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0005&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_6860&MI_01
;
Running adb devices got me this:
Code:
M:\Projects\Android\adt-bundle-windows-x86_64-20130514\sdk\platform-tools>adb devices
List of devices attached
0123456789ABCDEF device
And selecting that device when debugging ran the app. :highfive:

Thank you. I could not get adb working and the BN drivers to install. I wouldn't have thought of simply adding the hardware id to the ini.
In my case, I copied your line but without the "&MI_01" at the end. Then it worked.
I have cm10.1 emmc.

jamus28 said:
Thank you. I could not get adb working and the BN drivers to install. I wouldn't have thought of simply adding the hardware id to the ini.
In my case, I copied your line but without the "&MI_01" at the end. Then it worked.
I have cm10.1 emmc.
Click to expand...
Click to collapse
Glad I could contribute something back.

Hi
I'm playing with modding themes and apks so I need to get adb working. I installed the driver using instruction above in Windows 7 64bit and Windows now sees my nook hd+ as a an adb device (under android phone). The problem is when I run "adb devices" nothing is listed. Even stranger, when I turn off adb on the nook Windows still sees it as an adb device. I can no longer connect the nook as a usb storage device. So I can't connect either by usb or adb.
Since the pac man rom has an option for wireless debugging I tried that too, but adb cannot connect to the address given (192.168.1.10:5555) either. This is very frustrating. Anyone has an idea?

Follow-up: what I needed to do was disable mtp. Settings / storage / menu (top right hand corner) / usb connection

Related

[Solved] [Q] ADB over USB on 1.1

Has anyone gotten ADB over USB working with the NST 1.1 firmware? There seem to be guides all over the place, but they're either for the 1.0 firmware or for the original Nook, and every set of instructions I've followed doesn't do anything for me.
I'm trying to figure out why when I connect the NST to my computer via USB, adb can't see the device, no matter what I do. Looking at the ramdisk and the init.rc, it seems I have everything set up correctly. Of course, I could just use adb wireless that came with touchnooter, but I'd really like to get the USB version working again.
So, has anyone had any luck?
Not sure what ramdisk you're using but these are the ones used by most rooting methods around here.
The USB one works just fine, but I must say that getting the drivers set up on Windows 7 was a bit of a pita..
After trying several pre-packaged drivers I ended up editing the inf file in the android usb driver pack manually and got it working both at home and at work now, no problems.
Runs good on 1.1. here. I also tried a lot of drivers and the working one only after 3 installs. I think it was the driver of the forum here (but Im not sure anymore after that mess).
Gogolo2 said:
Runs good on 1.1. here. I also tried a lot of drivers and the working one only after 3 installs. I think it was the driver of the forum here (but Im not sure anymore after that mess).
Click to expand...
Click to collapse
Well, it's important to know that all those driver packages are actually based on the one you get with the Android SDK.
So people should save themselves the hassle and just get that one, and edit the android_winusb.inf manually.
Just add this to both the [Google.NTx86] and [Google.NTamd64] sections:
Code:
;B&N Nook Simple Touch
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0003&MI_01
---------- Post added at 09:53 PM ---------- Previous post was at 09:51 PM ----------
Ah, and ofc you need to add/edit %USER/.android/adb_usb.ini
Code:
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x2080
Thanks for the replies folks. Good to know that those ramdisks work well with 1.1 (those are the ones I've been using too)...so I must be doing something wrong, or my computer must be set up incorrectly. I'm on a Mac, so AFAIK, I don't need to install any extra usb drivers or anything.
I can connect fine to my phone with adb over usb, so I'm not sure why the nook is failing.
michaelwill said:
Thanks for the replies folks. Good to know that those ramdisks work well with 1.1 (those are the ones I've been using too)...so I must be doing something wrong, or my computer must be set up incorrectly. I'm on a Mac, so AFAIK, I don't need to install any extra usb drivers or anything.
I can connect fine to my phone with adb over usb, so I'm not sure why the nook is failing.
Click to expand...
Click to collapse
Well the ramdisks are nothing but a copy of the 1.1.0 ramdisk with adb enabled.
I have zero experience with OSx, but you might want to look at the Linux adb threads..
Yeah - there must be something wrong with my machine. I just reverted to the 1.0 version of the firmware, and went through the rooting procedure again, but my machine still can't see the device over ADB. I swear I had this working some weeks ago.
By the way, when you guys plug in the nook, and it shows the "USB mode" screen, do you first eject it from your PC, and then ADB works? Or does ADB work for you regardless of whether the NOOK drive is ejected or not?
Answering my own question here:
It turned out to be a fairly trivial solution - here's to not checking over your setup carefully enough.
It all came down to adding 0x2080 (the nook touch vendor id - which happens to be the same as the nook color vendor id - you can verify by using lsusb on linux) to the ~/.android/adb_usb.ini file, which basically just tells adb to look at additional vendor ids. This is stated clearly in the nook color docs, and I could have sworn that I did that hours ago, but when I re-looked at the file, I found mine was blank . As soon as I added 0x2080 back, everything started working perfectly.
Note, this is necessary for both mac and linux.
And, it doesn't matter if your NST is on the "Usb mode" screen or not; I got it to work both ways.

Help kindle fire not recognized

Adb isn't. Finding my kindle fire 6.2.2 NEED HELP IM TRYING TO ROOT IT
Did you set up the device drivers as outlined in this?
http://forum.xda-developers.com/showpost.php?p=22145030&postcount=6
Adb still says its offline
When you go into device manager, what does it display it as?
It says Android Composite Adb Interface
Th3-Chronikk said:
It says Android Composite Adb Interface
Click to expand...
Click to collapse
This is what I recommend: if you installed Android SDK, go ahead and uninstall it. It's only an absolute necessity if you're a developer or running it a virtual environment. Clean all traces of any part of Android drivers or leftovers files and folders. Next, uninstall the drivers from Device Manager under Computer or My Computer. Reboot your PC or laptop.
Next, download vashypoo's Kindle Fire Utility, available in the Kindle Fire's Android Development forum, and extract it. Inside of the extracted folder should be a .bat file to install drivers. Right click, select Run As Administrator, and follow the on-screen instructions. Once it's completed, reboot.
Inside one of the KFU folders (I can't remember if it's files or tools) is ADB. Right click while pressing Shift on your PC keyboard, open a command window, and type the following:
adb devices
If all goes well, your Fire should be listed. These are the steps I followed when I ran into this exact same issue. I hope it works!
Sent from my Kindle Fire using xda premium
Thats what I did I truer both the SDK method and the kindle fire utility my kindle fire isn't recognized by either one
Does anyone know what I can do
did you try to cold-reset ? hold pwr ~20sec and pwr on again
sometimes restarting the computer helps ...
Yes tryed that and still no luck
the driver (android composite adb interface) is the right one
did you check the adb_usb.ini file in .android folder in your personal folder ?
ist should include 0x1949 & 0x18d1 - if not add in a new line
restarting adb : adb kill-server
check again: adb devices
I did that already
sorry i'm really running out of ideas at this point ...
adb relies on:
adb_usb.ini in .android folder with the correct entries:
0x1949 & 0x18d1
drivers with the correct entries in android_winusb.inf (drivers of kfu do):
;Kindle Fire
%SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006
%CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0100
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0100&MI_01
in the 32 and 64 bit section
Did that.... still not recrecognized
Have you tried a different usb port? My Fire is finocky about which port i use.
Sent from my Kindle Fire using Tapatalk
WhoRuJudge said:
Have you tried a different usb port? My Fire is finocky about which port i use.
Sent from my Kindle Fire using Tapatalk
Click to expand...
Click to collapse
Yes I did no luck
This is before doing anything to it yet? (just to make sure we're on the same page)
Does it show up as an external drive in Windows? Windows, right?
Seems possible to me that if you haven't done anything at all yet and it doesn't show up in Windows you might have a bad USB cable or port on your device.
If you haven't done anything yet, have you tried calling Amazon for troubleshooting / possible replacement?
(Sorry, I'm just trying to cover the things that haven't been asked.)
gadgetman13 said:
This is before doing anything to it yet? (just to make sure we're on the same page)
Does it show up as an external drive in Windows? Windows, right?
Seems possible to me that if you haven't done anything at all yet and it doesn't show up in Windows you might have a bad USB cable or port on your device.
If you haven't done anything yet, have you tried calling Amazon for troubleshooting / possible replacement?
(Sorry, I'm just trying to cover the things that haven't been asked.)
Click to expand...
Click to collapse
It is recognized by windows as a storage device but what I'm saying is that it wouldnt show up on Adb even after I added the kindle fire driver
Use the app in unlockroot.com you won't need driver
Sent from my LG-P500 using xda premium

ADB not recognizing nexus 7 (Piece O'****)

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.

Guide: adb on Nook HD/HD+ with CM10.1 emmc

ADB has all kinds of uses, but it's a pain to enable on Windows 7* with a Cyanogenmod Nook HD/HD+, especially with the spread out documentation. Not with this guide, however. (This is for emmc, no idea if it works with sdcard/hybrid installs)
Credit to Leapinlar for noticing the changed device ID.
EDIT: As jamus28 noted, you will also need the Google USB drivers. They come with the ADT.
1. Download usb_driver_r04-windows-B&N.zip here, courtesy of Leapinlar and B&N.
2. Enable Android debugging in developer settings.
3. Plug Nook into PC and open Device Manager.
4. Go to Portable Devices/BN Nook HD/HD+ and open properties.
5. Go to the details tab and then hardware ID's in the menu.
6. Leaving that window open, unzip the usb driver. Open the folder, and then open android_winusb.inf in an editor. (I used Notepad++)
7. In the .inf file, scroll through [Google.NTx86] and find your device name. Replace USB\whatever with the first hardware ID in the list from step 5.
8. Do the same in [Google.NTamd64]
9. Save and close the file, and then go back to device manager. Click update driver/browse my computer for software in properties.
10. Navigate through and choose the modified usb_driver_r04-windows folder.
11. Open your adb file location in command prompt and type adb devices. If a random string of letters and numbers show up labeled device, it worked. You can now use adb over usb. (and wifi, after enabling network adb on your device)
*Probably similar for other versions of Windows
I had to install the Google USB android drivers from the SDK as well. Without these, I spent hours trying to get it to work. The b&n drivers alone were not enough.
Win 7 x64
jamus28 said:
I had to install the Google USB android drivers from the SDK as well. Without these, I spent hours trying to get it to work. The b&n drivers alone were not enough.
Win 7 x64
Click to expand...
Click to collapse
Thanks both Ardent_V and jamus28 for the explanation.
Yes I have to apply both methods in order to have the adb command to recognize my Nook HD+ device ID.
I'm using windows 7 x64.
Sorry. I assumed if you had adb you would have the SDK and Google drivers as well.
On previous devices, adb.exe and a few DLLs were enough.
Thank you for posting this!!!
I did have to deviate from the instructions a bit to get it working though.
1. In the INF file, I had to use the *second* line from Hardware Id's, not the first. The value that worked for me in the INF file is:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_6860&MI_01
The first Hardware Id's line has a "REV_02" in it; Windows would not accept the driver with that in it. Took that part out and it worked!
2. Instead of updating the driver in Device Manager from Portable Devices, I had to update the "BN NookHD+" that was listed with a yellow symbol under "Other devices." Then I got the expected Android Phone -> Android Composite ADB Interface device to show up in the list.
3. ADB at first listed the device as "offline." I had ADB working on stock and didn't realize that the newer version of Android has an extra security check. I actually had to Google it to realize that I just had to unlock the tablet and hit "Accept" on a dialog box on the device! After that, it went from "offline" to "device" and all was well.
What's a bit strange is that before ADB listed a random bunch of letters and numbers (a device ID I guess?). But now it lists the Nook as 012345679ABCEDEF. I'm guessing that's just how it works under CM10.1? I suppose it hardly matters.
The bottom line is that I got it to work, thanks to this thread. Nice!
Steve Tack said:
What's a bit strange is that before ADB listed a random bunch of letters and numbers (a device ID I guess?). But now it lists the Nook as 012345679ABCEDEF. I'm guessing that's just how it works under CM10.1? I suppose it hardly matters.
Click to expand...
Click to collapse
That's just me being lazy and not gettin around to pass around serial number yet.
Steve Tack said:
Thank you for posting this!!!
I did have to deviate from the instructions a bit to get it working though.
1. In the INF file, I had to use the *second* line from Hardware Id's, not the first. The value that worked for me in the INF file is:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_6860&MI_01
The first Hardware Id's line has a "REV_02" in it; Windows would not accept the driver with that in it. Took that part out and it worked!
2. Instead of updating the driver in Device Manager from Portable Devices, I had to update the "BN NookHD+" that was listed with a yellow symbol under "Other devices." Then I got the expected Android Phone -> Android Composite ADB Interface device to show up in the list.
3. ADB at first listed the device as "offline." I had ADB working on stock and didn't realize that the newer version of Android has an extra security check. I actually had to Google it to realize that I just had to unlock the tablet and hit "Accept" on a dialog box on the device! After that, it went from "offline" to "device" and all was well.
What's a bit strange is that before ADB listed a random bunch of letters and numbers (a device ID I guess?). But now it lists the Nook as 012345679ABCEDEF. I'm guessing that's just how it works under CM10.1? I suppose it hardly matters.
The bottom line is that I got it to work, thanks to this thread. Nice!
Click to expand...
Click to collapse
Made sure that I had updated Google Drivers and tried both strings and Windows showed no erros but when I type adb devices it is blank.
verygreen said:
That's just me being lazy and not gettin around to pass around serial number yet.
Click to expand...
Click to collapse
Hehe, figured it was something like that. Is there any downside to not having the real serial number returned? Doesn't seem to cause any issues that I've seen.
---------- Post added at 01:41 PM ---------- Previous post was at 01:36 PM ----------
dawgpoundfan said:
Made sure that I had updated Google Drivers and tried both strings and Windows showed no erros but when I type adb devices it is blank.
Click to expand...
Click to collapse
Do you see a device category in Device Manager called Android Phone? On my system, I see that and under that is a device called Android Composite ADB. Both times I've set it up, it wouldn't show up in ADB until I got to the point where that device showed up in the list.
If you do see that device, I suppose you could try "adb kill-server" before "adb devices" just for grins.
Steve Tack said:
Hehe, figured it was something like that. Is there any downside to not having the real serial number returned? Doesn't seem to cause any issues that I've seen.
Click to expand...
Click to collapse
Dunno, but 6/30 release added that. I imagine some apps might be using serial number for things like ensuring you don't steal stuff, also google play probably uses that to distinguish between several identical device you might have
If you are running the latest Carbon B11 emmc, and are wondering why you can't get "adb devices" to show your device, you need to insert a line to:
%userprofile%\.android\adb_usb.inf
add: 0x2080
Without this, ADB will not recognize a device with a B&N VID.
---------- Post added at 11:31 PM ---------- Previous post was at 11:28 PM ----------
Crap, just realized I skipped step 7 in Leapinlar's thread on setting up ADB...
error
Ardent_V said:
ADB has all kinds of uses, but it's a pain to enable on Windows 7* with a Cyanogenmod Nook HD/HD+, especially with the spread out documentation. Not with this guide, however. (This is for emmc, no idea if it works with sdcard/hybrid installs)
Credit to Leapinlar for noticing the changed device ID.
EDIT: As jamus28 noted, you will also need the Google USB drivers. They come with the ADT.
1. Download usb_driver_r04-windows-B&N.zip here, courtesy of Leapinlar and B&N.
2. Enable Android debugging in developer settings.
3. Plug Nook into PC and open Device Manager.
4. Go to Portable Devices/BN Nook HD/HD+ and open properties.
5. Go to the details tab and then hardware ID's in the menu.
6. Leaving that window open, unzip the usb driver. Open the folder, and then open android_winusb.inf in an editor. (I used Notepad++)
7. In the .inf file, scroll through [Google.NTx86] and find your device name. Replace USB\whatever with the first hardware ID in the list from step 5.
8. Do the same in [Google.NTamd64]
9. Save and close the file, and then go back to device manager. Click update driver/browse my computer for software in properties.
10. Navigate through and choose the modified usb_driver_r04-windows folder.
11. Open your adb file location in command prompt and type adb devices. If a random string of letters and numbers show up labeled device, it worked. You can now use adb over usb. (and wifi, after enabling network adb on your device)
*Probably similar for other versions of Windows
Click to expand...
Click to collapse
I followed all the steps. I got the device connected. When I tried to sideload a stock rom zip, I get an error. "failed to write data protocol fault <no status>". What can I do to fix it?
toplist said:
I followed all the steps. I got the device connected. When I tried to sideload a stock rom zip, I get an error. "failed to write data protocol fault <no status>". What can I do to fix it?
Click to expand...
Click to collapse
What do you mean sideload a stock rom zip? Sideloading is for apps.
Sent from my Nook HD+ running CM10.1 on emmc.
leapinlar said:
What do you mean sideload a stock rom zip? Sideloading is for apps.
Sent from my Nook HD+ running CM10.1 on emmc.
Click to expand...
Click to collapse
I had bokbokan's hybrid running on nook hd+. I saw an experimental version of cm10.2 and wanted to give it a try. I thought that since I can boot to stock and cm, I don't need to go back to my original bn rom. So, I deleted my cm10,1 zip from my internal storage and replaced it with cm10.2. I turned off my tablet, took out my sd card with hybrid and rewrote it with cwm for sd cm10.2. The cm10.2 updates but doesn't work when you reboot. When I turned back on, my nook gets stuck on infinite loop cyanogenmod logo instead of booting to stock . Clockworkmod shows that I have a backup but when I try it says "no files found." I have backups for original bn rom and a cm version on my pc. But since there is only 115 mb space left on my sd card after writing, I can't copy my 1+ GB back up files. I was searching on google and I came across how to update rom using adb sideloading and was trying that. That's where I get this error message. Is there any way for me get out of this mess and go back to cm? :crying::crying::crying:
toplist said:
I had bokbokan's hybrid running on nook hd+. I saw an experimental version of cm10.2 and wanted to give it a try. I thought that since I can boot to stock and cm, I don't need to go back to my original bn rom. So, I deleted my cm10,1 zip from my internal storage and replaced it with cm10.2. I turned off my tablet, took out my sd card with hybrid and rewrote it with cwm for sd cm10.2. The cm10.2 updates but doesn't work when you reboot. When I turned back on, my nook gets stuck on infinite loop cyanogenmod logo instead of booting to stock . Clockworkmod shows that I have a backup but when I try it says "no files found." I have backups for original bn rom and a cm version on my pc. But since there is only 115 mb space left on my sd card after writing, I can't copy my 1+ GB back up files. I was searching on google and I came across how to update rom using adb sideloading and was trying that. That's where I get this error message. Is there any way for me get out of this mess and go back to cm? :crying::crying::crying:
Click to expand...
Click to collapse
See my response in my HD/HD+ Tips thread linked in my signature.
Sent from my Nook HD+ running CM10.1 on emmc.
leapinlar said:
See my response in my HD/HD+ Tips thread linked in my signature.
Sent from my Nook HD+ running CM10.1 on emmc.
Click to expand...
Click to collapse
I read your post and went through 15 pages to see if you wanted me to find anything specific. But I'm not sure what I should look for. I tried step 1 and step 2 from your post. When I tired to sideload app, I get "errors:closed" (attached image). I don't know what to do :crying:. My sdcard has CWM based recovery V6.0.3.2 for hybrid. When it is inserted, I boot to recovery. When I take off the sdcard, I get to cyanogenmod logo with infinite loop (attached image). Did I break my tablet? Is there any solution to fix this?
toplist said:
I read your post and went through 15 pages to see if you wanted me to find anything specific. But I'm not sure what I should look for. I tried step 1 and step 2 from your post. When I tired to sideload app, I get "errors:closed" (attached image). I don't know what to do :crying:. My sdcard has CWM based recovery V6.0.3.2 for hybrid. When it is inserted, I boot to recovery. When I take off the sdcard, I get to cyanogenmod logo with infinite loop (attached image). Did I break my tablet? Is there any solution to fix this?
Click to expand...
Click to collapse
I wanted you to respond on my HD/HD+ Tips thread, that is why I posted the answer there. I don't want to clutter this thread with non ADB things. Continue this discussion on my thread.
It is not broke. Make the CWM SD as detailed in item 1a. Then use that to restore your stock backup.
Sent from my Nook HD+ running CM10.1 on emmc.
Ardent_V said:
ADB has all kinds of uses, but it's a pain to enable on Windows 7* with a Cyanogenmod Nook HD/HD+, especially with the spread out documentation. Not with this guide, however. (This is for emmc, no idea if it works with sdcard/hybrid installs)
Credit to Leapinlar for noticing the changed device ID.
EDIT: As jamus28 noted, you will also need the Google USB drivers. They come with the ADT.
1. Download usb_driver_r04-windows-B&N.zip here, courtesy of Leapinlar and B&N.
[Steps 2 to 10 removed for brevity.]
11. Open your adb file location in command prompt and type adb devices. If a random string of letters and numbers show up labeled device, it worked. You can now use adb over usb. (and wifi, after enabling network adb on your device)
*Probably similar for other versions of Windows
Click to expand...
Click to collapse
I recently installed the CM10.2 ROM on my Nook HD (I don't mind living dangerously!) To my surprise, I found that ADB worked out of the box, and the Nook showed up as MyNook in Windows Explorer and in Device Manager (under Portable Devices). However, after I installed the Eclipse+ADT bundle on my PC yesterday, ADB over USB stopped working, although I could still use ADB over wifi and could still open MyNook in Explorer.
So I thought I would try the instructions in the above post to repair ADB over USB. Everything seemed to work fine, there were no error messages, and ADB over USB is indeed working again. BUT, the MyNook Device Manager entry under Portable Devices has disappeared, to be replaced by an Android Composite ADB Interface entry under Android Phones, and the Nook no longer appears in Windows Explorer. In Devices and Printers it appears as a camera icon labelled "MTP" - strangely, as of course the Nook HD doesn't have a camera.
Does anyone have any suggestions for how I might get everything working again? Or would I be best to use System Restore to go back to how things were before?
My PC is running Windows 7 SP1 Home Premium.
UPDATE
=======
I have now solved this. I disconnected the Nook HD, disabled the Android Composite ADB Interface in Device Manager, and reconnected the Nook. Windows 7 installed the drivers, and the Portable Device entry reappeared in Device Manager, this time called "BN Nook HD" rather than "MyNook" (an improvement!). I then re-enabled the Android Composite ADB Interface, and everything is now working. The Nook is visible in Windows Explorer; ADB is working via USB; and the Nook's icon in Devices and Printers is now that of a portable media device - it's still labelled "MTP", but I can live with that.
Android_winusb.inf entry for HD+ running official CM11
FWIW, I just installed ADB on my Win 8.1 PC and found that the entry needed in android_winusb.inf for the HD+ running official CM11 is:
Code:
;Nook HD+
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0005&MI_01
Note the trailing &MI_01, my ADB interface will not come up without it.

[Q] MTP and ADB not working

As the title states, MTP and ADB are not working on my Nexus 4. MTP - phone doesn't show up in my computer. adb devices gives a blank list
Here are some things I tried:
I tried reinstalling device drivers
I tried using different USB cables
I plugged a different phone (HTC m7) into my computer (running windows 8.1 Pro), ADB and MTP work with that phone
Plugged my phone into a different computer, nothing works. But ADB and MTP work for the m7.
Neither MTP nor ADB work in recovery mode (TWRP 2.8.5.2). No fastboot, either.
Situation happened since CM11 and remained after clean wipe to C12.1
Phone charges fine, so USB connector (as a whole, at least) isn't borked yet
So.. any ideas?
Try to look at the google USB drivers .INI file. My last encounter with this file, is that there is no definition for the nexus 4 in the .ini file. So you may try to create a new entry for the nexus 4 and then copy the correct values for the PID and VID values from the device manager /nexus 4 or equivalent tab. Right click and go to hardware details or so.
Then update the drivers as normal from the device manager and navigate to the location of the .INI file and choose the adb boot loader interface.
prince93 said:
Try to look at the google USB drivers .INI file. My last encounter with this file, is that there is no definition for the nexus 4 in the .ini file. So you may try to create a new entry for the nexus 4 and then copy the correct values for the PID and VID values from the device manager /nexus 4 or equivalent tab. Right click and go to hardware details or so.
Then update the drivers as normal from the device manager and navigate to the location of the .INI file and choose the adb boot loader interface.
Click to expand...
Click to collapse
OK, i looked at the INF file. Amongst the Google Nexus devices listed, there is no Nexus 4 specifically but there is this
Code:
;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%CompositeAdbInterface% = USB_Install, USB\[B]VID_18D1&PID_4EE2&MI_01[/B]
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7
The one in bold seems to match with what I see when I plug in my phone and look at device manager.
Another thing is very strange - only when I switch from MTP to PTP mode, then my Nexus 4 shows up in my computer, and ADB works! But this is still weird and want a proper solution.
c00ller said:
OK, i looked at the INF file. Amongst the Google Nexus devices listed, there is no Nexus 4 specifically but there is this
Code:
;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%CompositeAdbInterface% = USB_Install, USB\[B]VID_18D1&PID_4EE2&MI_01[/B]
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7
The one in bold seems to match with what I see when I plug in my phone and look at device manager.
Another thing is very strange - only when I switch from MTP to PTP mode, then my Nexus 4 shows up in my computer, and ADB works! But this is still weird and want a proper solution.
Click to expand...
Click to collapse
Well you can try to add a new entry for nexus 4 (copy and paste from nexus 7 entry for example and replace the hardware I'd values with the ones you see in the device manager). Second make sure you have adb enabled in developer options. Third choose to update the driver in the device manager for your nexus 4 entry (or android phone). Click through choosing manual drivers and so on until you are required to navigate to the .INI file. Once you get there you will have to choose adb boot loader interface and complete the process. From there you should be able to communicate with your device over adb.
So, after a bunch of Googling and trying other things, this is the solution that worked for me: http://forum.xda-developers.com/showpost.php?p=41712600&postcount=11
I also had ClockworkMod Universal ADB driver installed and had to manually uninstall that. When Google asked for new drivers, I pointed it to the ones I downloaded from Google. Hope this might help others in the future...

Categories

Resources