FRDM Board Bootloader fails with Windows 8.1 Preview

Microsoft has released the Windows 8.1 Preview. So you can try out the next update of Windows 8. In short: Do NOT use Windows 8.1 Preview if you are using a Freescale FRDM board! Otherwise you will not be able to change the OpenSDA firmware (MSD or debug application).

❗ Update: P&E has released a new firmware v114 which combines USB CDC, MSD bootloader and debug application, and this firmware fixes the issue described in this post.

Well, I have not used it personally: I never use ‘test’ or ‘preview’ versions on my ‘production’ machine. It is ok to try things out on separate ‘scratch’ machines, but not on something I need to have stable for my work. Well, some of the students in my INTRO class were not able to resist and downloaded and installed Windows 8.1 Preview on their machines. With the result that the OpenSDA Bootloader does not work with Windows 8.1 Preview:

❗ It seems that the problem exists as well with the Windows 8.1 ‘final’ release.

  • Entering bootloader mode works
  • But loading SDA files (MSD bootloader or debug application) fails: the green OpenSDA LED flashes to show an error condition.

I had no problems using OpenSDA with Windows 8 (8.0). So it seems that Windows 8.1 treats ‘virtual MSD’ devices and bootloaders somehow different. So I need to add this tip to my list of trouble-shooting tips for OpenSDA:

  • Do not use Windows 8.1 Preview!

I have reported the problem to P&E (they support the OpenSDA bootloader on the FRDM board). And maybe Microsoft fixes this problem for the final 8.1 release (although I doubt so): the problem in my view is inherent with the usage of a virtual MSD device: there are too many possibilities how the host could talk to an MSD device :-(.

Summary

  • Never use a beta or preview if you depend on a your system 😉
  • Do not use Windows 8.1 if you are using the FRDM board: you will not be able to change the SDA firmware. Workaround is to use a Win 8, Win 7 or Win Vista/XP machine.
  • Debugging the board is not a problem.

(Un-)Happy Win8.1ing 🙂

Advertisements

16 thoughts on “FRDM Board Bootloader fails with Windows 8.1 Preview

  1. Pingback: FRDM Board not responding? Check your Virus Scanner! | MCU on Eclipse

  2. Hi,

    Good to write about it. I felt myself a littlebit stupid two weeks ago on a Freescale organized training when I realized the same thing on my freshly installed Windows 8.1 RTM.
    So the problem is not my install but the Windows 8.1 itself.
    Unfortunately I can’t go back to Windows 8 because of my primary job. I’m waiting for the solution.

    Zoltán

    Like

  3. do you think this is a freescale problem or a windows problem???? should freescale update their drivers or windows should make a solution for it?

    Like

  4. Thanks for this info, this is exactly what was happening to me. I reinstalled all the drivers, even manually installing some but my KL26Z wouldn’t show up in anything other than Bootloader mode. As soon as I added the Debug app using a Windows Server 2012 machine (only other windows environment I have available), my Windows 8.1 dev machine registered the COM port and another Jungo device and I could deploy and debug in Code Warrior. This is the sort of info that should appear as a footnote on the main page for the product, it would have saved me a lot of time and frustration.

    I’m guessing an alternative if you don’t have another machine to reprogram the device on would be to install Hyper-V and go grab one of the free browser trials Microsoft provide. http://www.modern.ie/en-us/virtualization-tools#downloads or search for “Internet Explorer Application Compatibility VPC Image” (if this comment software doesn’t allow URLs), there’s a link on that page to the modern ie site. Its all Microsoft owned stuff so should be relatively safe. I think Hyper-V allows for USB device pass through to the client, so you’d be using the client’s MSD driver…

    Like

    • I’m told by P&E that they are working on a solution. The issues seems to be related with the feature of the bootloader to load binary files (beside of S19 files). And the bootloader has no chance in that case the binary file as the order in which the data blocks arrive at the bootloader seems to cause the problem. My workaround so far is simply to borrow (use) a Win7 machine in case I need to switch the firmware. Luckily this is not needed that many times.

      Like

  5. Wasted 2 evenings looking through forums and support sites, downloading files, and wearing out my usb connectors and reset buttons. My problem is as described in this thread and a Windows 7 box does work around it nicely.

    A note on avoiding the issue, placed on the PEMicro download page that presents the OpenSDA files, would seem like the only proper thing to do. This will continue to plague users long past when a fix is produced.

    On my boards, the OpenSDA debug ap was trashed if I held the reset button while plugging it into USB. Don’t do that under Windows 8.1 until this is resolved unless you like to waste time.

    This Forum keeps surfacing with the resolution when I search for issues regarding the KL25z. Good show.

    Like

    • Hi Keith,
      I have not heard about a solution from P&E yet, so I hope it finally will be solved. I just hope that users might find this page if they search the internet for this problem, so they do not waste more time.

      Like

  6. Pingback: New P&E OpenSDA Firmware v114 | MCU on Eclipse

  7. Pingback: Illustrated Step-by-Step Instructions: Updating the Freescale Freedom Board Firmware | MCU on Eclipse

  8. Pingback: Bricking and Recovering OpenSDA Boards in Windows 8 and 10 | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s