Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Expert tip: switching between WinUSB and MFUSB drivers


  • Please log in to reply
13 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 19 August 2012 - 12:28 PM

So far users seem to be having a really great experience with the new WinUSB drivers.

A handful of users running under VMs have reported a preference for the legacy MFUSB drivers. Here's a quick set of instructions on how to force your 4.2 Netduino or Netduino Plus to use the MFUSB drivers.

To manually switch to MFUSB (SpotUSB) drivers -- for special cases
  • Open Device Manager. Under USB controllers, find "Netduino"
  • Right-click on the Netduino and click "Update driver software".
  • Click the "Browse my computer for driver software" option.
  • Click the "Let me pick from a list of device drivers on my computer" option
  • If presented with device types, choose "All devices"
  • Press the "Have Disk..." button.
  • Select the ini file in folder "C:\Program Files (x86)\Secret Labs\Netduino SDK\Drivers\MFUSB"
  • Complete the wizard. It may warn you about a mismatch, but accept the mismatch anyway. This is for VID/PID override.
  • Your Netduino will now be using the legacy MFUSB (SpotUSB) drivers instead.
If you want to switch back to the WinUSB drivers, you can repeat this process...selecting the WINUSB driver folder in step 7 instead.

NOTE: if you plug your Netduino into a different USB port, you may need to repeat the above steps once for that port.

Chris

#2 Daniel Stritt

Daniel Stritt

    Member

  • Members
  • PipPip
  • 15 posts
  • LocationNorman, OK, USA

Posted 16 October 2012 - 01:31 AM

After deploying my program to the netduino plus crashes the vc# one too many times, I thought I would try this. I am running Windows 7 64-bit, and windows tells me the most updated driver is already installed. Is there something special I have to do? Thanks Daniel
To perform the same action over and over, and expect a variant reaction, is surely a sign that you use computers.

#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 16 October 2012 - 01:36 AM

Hi Daniel,

After deploying my program to the netduino plus crashes the vc# one too many times, I thought I would try this. I am running Windows 7 64-bit, and windows tells me the most updated driver is already installed. Is there something special I have to do?

Be sure to follow the instructions step-by-step above.

If the normal driver installation steps are followed, you'll get that sort of prompt. We're basically asking Windows to force driver installation (we use a different PID for MFUSB and WinUSB).

Chris

#4 Daniel Stritt

Daniel Stritt

    Member

  • Members
  • PipPip
  • 15 posts
  • LocationNorman, OK, USA

Posted 16 October 2012 - 02:01 AM

Ah, that worked. For some reason I didn't see one of the options mentioned in the post at first so I thought it was different for my OS, so I kinda guessed. Installation worked fine, now I will continue and see if it stops crashing. Thanks! Daniel
To perform the same action over and over, and expect a variant reaction, is surely a sign that you use computers.

#5 thratchen

thratchen

    New Member

  • Members
  • Pip
  • 5 posts

Posted 11 November 2012 - 07:04 PM

So far users seem to be having a really great experience with the new WinUSB drivers.

A handful of users running under VMs have reported a preference for the legacy MFUSB drivers. Here's a quick set of instructions on how to force your 4.2 Netduino or Netduino Plus to use the MFUSB drivers.

To manually switch to MFUSB (SpotUSB) drivers -- for special cases

  • Open Device Manager. Under USB controllers, find "Netduino"
  • Right-click on the Netduino and click "Update driver software".
  • Click the "Browse my computer for driver software" option.
  • Click the "Let me pick from a list of device drivers on my computer" option
  • If presented with device types, choose "All devices"
  • Press the "Have Disk..." button.
  • Select the ini file in folder "C:\Program Files (x86)\Secret Labs\Netduino SDK\Drivers\MFUSB"
  • Complete the wizard. It may warn you about a mismatch, but accept the mismatch anyway. This is for VID/PID override.
  • Your Netduino will now be using the legacy MFUSB (SpotUSB) drivers instead.
If you want to switch back to the WinUSB drivers, you can repeat this process...selecting the WINUSB driver folder in step 7 instead.

NOTE: if you plug your Netduino into a different USB port, you may need to repeat the above steps once for that port.

Chris


Chris, yes, MFDeploy clearly "sees" the Netduino Plus and the name changes in the USB mode when you plug in the device. However, the ping or any other the other functions on MFDeploy don't seem to work.

I tried to switch to the MFUSB driver, but can't see to figure out how to get Windows 7 to accept them. It always tells me that I'm already using the best driver and basically won't update the driver to the MFUSB driver from the other. Thanks Windows 7 for protecting me from fixing my own problems!

Thanks,
Geoffrey

#6 thratchen

thratchen

    New Member

  • Members
  • Pip
  • 5 posts

Posted 11 November 2012 - 07:12 PM

Chris, yes, MFDeploy clearly "sees" the Netduino Plus and the name changes in the USB mode when you plug in the device. However, the ping or any other the other functions on MFDeploy don't seem to work.

I tried to switch to the MFUSB driver, but can't see to figure out how to get Windows 7 to accept them. It always tells me that I'm already using the best driver and basically won't update the driver to the MFUSB driver from the other. Thanks Windows 7 for protecting me from fixing my own problems!

Thanks,
Geoffrey


Hold the presses, I can't following instructions.

Chris, Yes, it was a driver issue. It's now responding with:
Pinging... TinyBooter
Bootloader build info: Netduino Plus (v4.2.0.1) by Secret Labs LLC

AWESOME. I totally had thought that I had toasted a netduino.

BTW, I'm not sure if it matters or not, but I'm using Windows 7 on Parallels on a MacOS X 10.8 box. I guess I should make it easier on myself and just used a dedicated Windows box. But, yea, the MFUSB driver works fine so far.

Thanks,
Geoffrey

#7 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 11 November 2012 - 08:37 PM

Hi thratchen,

Woot; you're back up and running :) Windows 7 does try to protect you from yourself...so the instructions tend to get quite particular.

BTW, I'm not sure if it matters or not, but I'm using Windows 7 on Parallels on a MacOS X 10.8 box. I guess I should make it easier on myself and just used a dedicated Windows box. But, yea, the MFUSB driver works fine so far.

Ah yes, that may have been the issue. VMs may have troubles looping in the WinUSB drivers. This may be something we can work with Microsoft or the VM manufacturers to tweak in future revisions.

Chris

#8 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 07 January 2013 - 09:52 AM

It seems I cannot switch to MFUSB driver with the 4.2.1 November 2012 SDK due to incorrect product ID: there is 0x1000 PID specified in MFUSB_Netduino.inf (in both 32- and 64-bit versions), but the USB configuration in the firmware has PID 0x1001 (which is also in WinUSB .inf). Am I missing something obvious?



#9 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 07 January 2013 - 11:34 AM

Hi CW2,
It seems I cannot switch to MFUSB driver with the 4.2.1 November 2012 SDK due to incorrect product ID: there is 0x1000 PID specified in MFUSB_Netduino.inf (in both 32- and 64-bit versions), but the USB configuration in the firmware has PID 0x1001 (which is also in WinUSB .inf). Am I missing something obvious?
The different PID is on purpose. PID 0x1000 will auto-load the legacy MFUSB drivers while PID 0x1001 will load the new WinUSB drivers. Otherwise having two sets of drivers available for a single VID+PID can leave Windows very confused. To force Windows to load the other set of drivers, be sure to follow the set of instructions at top precisely. You need to tell it that you really want to pick your own drivers a few times; otherwise Windows really wants you to only use the "correct" drivers :) Let me know if that works for you, or if you have any other troubles. Chris

#10 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 07 January 2013 - 12:13 PM

The different PID is on purpose. PID 0x1000 will auto-load the legacy MFUSB drivers while PID 0x1001 will load the new WinUSB drivers.

  Ok, but what confuses me is that Netduino firmware has [only] PID 0x1001 in the USB descriptor, so how it can match MFUSB driver with PID 0x1000?  

To force Windows to load the other set of drivers, be sure to follow the set of instructions at top precisely. You need to tell it that you really want to pick your own drivers a few times; otherwise Windows really wants you to only use the "correct" drivers :)

When I follow the set of instructions as precise as possible (it is a little bit different on Windows XP), I end up with "The specified location does not contain information about your hardware." after selecting MFUSB_Netduino.inf.



#11 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 07 January 2013 - 12:32 PM

Hi CW2,

Ok, but what confuses me is that Netduino firmware has [only] PID 0x1001 in the USB descriptor, so how it can match MFUSB driver with PID 0x1000? It can't match them up because of the different PID. That's why steps 4-9 are necessary, to force Windows to accept the different PID.

When I follow the set of instructions as precise as possible (it is a little bit different on Windows XP), I end up with "The specified location does not contain information about your hardware." after selecting MFUSB_Netduino.inf.

The process on Windows XP may be a little bit different. Can you take screenshots of each step and attach them really quickly? We may need to provide additional instructions for Windows XP. Chris


#12 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 07 January 2013 - 07:45 PM

Screenshots attached. The system is Windows XP Professional SP3 (32-bit), installed .NET Micro Framework SDK 4.2 QFE2, Netduino SDK v4.2.1 (November 2012). One little thing I forgot to mention is that this system is VMware virtual machine - I am aware of various issues reported in relation with virtual machines, but I have not had any, all my .NET MF boards (Netduino gen.1, Netduino Go, etc.) and various other USB devices (virtual serial ports, hardware debuggers, externals disks) have been working fine there; I am not sure if or how the driver selection process (i.e. PID comparison against a value stored in the registry) could be affected.

Attached Files



#13 OZ8ET

OZ8ET

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts
  • LocationHundested, Denmark

Posted 14 June 2013 - 03:58 AM

So far users seem to be having a really great experience with the new WinUSB drivers.

A handful of users running under VMs have reported a preference for the legacy MFUSB drivers. Here's a quick set of instructions on how to force your 4.2 Netduino or Netduino Plus to use the MFUSB drivers.

To manually switch to MFUSB (SpotUSB) drivers -- for special cases


    [*]Open Device Manager. Under USB controllers, find "Netduino"
    [*]Right-click on the Netduino and click "Update driver software".
    [*]Click the "Browse my computer for driver software" option.
    [*]Click the "Let me pick from a list of device drivers on my computer" option
    [*]If presented with device types, choose "All devices"
    [*]Press the "Have Disk..." button.
    [*]Select the ini file in folder "C:Program Files (x86)Secret LabsNetduino SDKDriversMFUSB"
    [*]Complete the wizard. It may warn you about a mismatch, but accept the mismatch anyway. This is for VID/PID override.
    [*]Your Netduino will now be using the legacy MFUSB (SpotUSB) drivers instead.
    [/list]If you want to switch back to the WinUSB drivers, you can repeat this process...selecting the WINUSB driver folder in step 7 instead.

    NOTE: if you plug your Netduino into a different USB port, you may need to repeat the above steps once for that port.

    Chris

     

This driver is not available in the lib for 4.3 ???



#14 Big Bear Brian

Big Bear Brian

    Member

  • Members
  • PipPip
  • 17 posts

Posted 30 May 2014 - 04:47 PM

This seemed to have solved my problem on my HP Touchsmart laptop... the Netduino wouldn't show up in VS.NET 2010, even though it was showing in MFDeploy. I changed the driver as described, and voila, it showed up.

 

Unfortunately, now, while the Netduino Plus DOES show up, when I attempt to deploy, I get: "Error    1    An error has occurred: please check your hardware."
 

Sigh.

 

A handful of users running under VMs have reported a preference for the legacy MFUSB drivers. Here's a quick set of instructions on how to force your 4.2 Netduino or Netduino Plus to use the MFUSB drivers.

To manually switch to MFUSB (SpotUSB) drivers -- for special cases






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.