Windows 10 version 20H2 doesn't recognize u-boot Fastboot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Windows 10 version 20H2 doesn't recognize u-boot Fastboot

2,571 Views
rob_mclean
Contributor IV

We've been using Fastboot from Windows 10 to do development of an Android device. Our normal update and development procedure is this.

  1. Start the device booting
  2. Stop u-boot from booting to Android
  3. Start Fastboot from u-boot
  4. Use UUU or Fastboot from Windows 10 to push the desired update to the Android device.
  5. Reboot the device (e.g. u-boot cli "reset", or the reset button, or power cycle)

One of our developers got his development host machine updated to the 20H2 version of Windows 10, and after that happened the developer was no longer able to get step 4 above to work.  Windows wasn't loading the Google USB driver when u-boot enumerated the USB gadget associated with Fastboot anymore.  The obvious symptom was that Windows never "discovered" the new device when it was connected to the system.

It seems like that problem traces to the USB VID and PID that the u-boot USB gadget reports.  We hadn't changed the default defconfig settings for "CONFIG_USB_GADGET_VENDOR_NUM" and "CONFIG_USB_GADGET_PRODUCT_NUM" from what they were in the distribution, and that seems to trace to a commit dating back to 2015.  That commit sets the u-boot gadget VID to 0x0f25 which seems to be registered to "Netchip Technology, Inc", and PID to 0xA4A5 which would be a "Pocketbook Pro903" device.

I guess in retrospect the process outlined above did require us to manually install/update the Google USB driver the first time the Android device attached to a host.  That manual installation of the driver associates the VID/PID u-boot enumerates with the Google USB driver.  The problem seems to be that the new version of Windows 10 seems to no longer allow that kind of "Make this driver work with this device" kind of behavior to manually add VID/PIDs to the list that a device driver is known to support.

Our fix was to change the VID/PID to be something that is recognized by the Google USB driver.  The reasoning was that once Android gets going, that USB port enumerates as a Google ADB device that is identified by Windows.  So we should be OK to change u-boot so that when fastboot enumerates a device on that USB port it is the "bootloader" version of the same Google device.

I guess I'm left wondering...

Should the default NXP distribution for u-boot use a USB VID other than what's assigned to NXP or Freescale?

Labels (1)
0 Kudos
Reply
4 Replies

2,539 Views
rob_mclean
Contributor IV

The procedure described in the post mentioned below "MX8MM won't enter fastboot mode" was the way we got Fastboot to work originally, and it worked for months.  Then the IT department pushed the Windows 10 20H2 update to some of our development computers.  After that update on those computers, the solution described in that link doesn't work anymore.  Also, we got a new guy who got a new computer with that version of Windows 10 installed on it and he couldn't follow the procedure either.  So It seems like manually installing the driver doesn't work like it used to in earlier versions of Windows 10.

I'm guessing Microsoft decided that manually allowing a user to associate a driver with a device that the vendor didn't explicitly specify in the .inf file that's distributed with the driver was deemed a security issue.

I suppose one could try adding the VID/PID mentioned above to the .inf file that google distributes with the Google USB driver, to see if that allows the driver to work with a Netchips Technology Inc. (VID) Pocketbook Pro903 (PID) on Windows 10 20H2.

Otherwise, maybe it makes more sense to have u-boot enumerate the bootloader with the same device VID/PID that Android uses when it enumerates the port for ADB.

0 Kudos
Reply

2,528 Views
rob_mclean
Contributor IV

As a follow up to my suggestion to editing the .inf file that gets distributed with Google's Windows USB driver I'd like to say.  That solution no longer works.  I'm not sure how long ago I tried that trick with windows, but it must have been before Windows required all drivers be signed.

Now if you modify the .inf file, windows complains that the driver has been tampered with and doesn't load the driver.

So if one wanted to use this approach, the resulting driver would need to be properly signed after adding the VID/PID to the inf file.

0 Kudos
Reply

2,544 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport
0 Kudos
Reply

1,347 Views
Wilson_S
Contributor I

It is a known fact that updating FW using Fastboot fails in WIN10. We expect the NXP R&D team to solve this problem and provide a suitable fastboot USB driver for win10. After all, factories and ordinary people install Windows 10.

 

https://community.nxp.com/t5/i-MX-Processors/MX8MM-won-t-enter-fastboot-mode/m-p/937720#M140466   <- NO NO NO WORK!!!

0 Kudos
Reply