Page 2 of 2

Re: Released: MindSqualls v2.0

Posted: 16 Aug 2011, 20:59
by hassenplug
Well, I've never actually looked very far into this, but in my latest project, I need to communicate with several NXTs via USB from my C# program. From what I can see, the code I need is in there somewhere. :)

Thanks
Steve

Re: Released: MindSqualls v2.0

Posted: 05 Sep 2011, 20:26
by mindsqualls
In that case:
Just released v2.2 which – among other things – fixes a problem with USB.

Re: Released: MindSqualls v2.0

Posted: 06 Sep 2011, 16:27
by linusa
The download link for the documentation is broken: http://mindsqualls.net/Build_2_2/MindSqualls_v2_2.chm

Great to see you've implemented the I2C digital sensor speed up we talked about :-)

Re: Released: MindSqualls v2.0

Posted: 06 Sep 2011, 17:08
by mindsqualls
linusa wrote:The download link for the documentation is broken: http://mindsqualls.net/Build_2_2/MindSqualls_v2_2.chm
Fixed

Re: Released: MindSqualls v2.0

Posted: 16 Sep 2011, 20:03
by hassenplug
I'm having a problem with Mindsqualls. I got far enough to recognize an NXT, and it's looking for a winusb.dll file. Any idea where that should exist?

Here's the section of the WinUsbDevice.cs file

[DllImport("winusb.dll", SetLastError = true)]
internal static extern Boolean WinUsb_Initialize(SafeFileHandle DeviceHandle, ref IntPtr InterfaceHandle);


Steve

Re: Released: MindSqualls v2.0

Posted: 17 Sep 2011, 06:18
by mindsqualls
hassenplug wrote:... it's looking for a winusb.dll file. Any idea where that should exist?
WinUSB is a generic USB driver.

On my Windows 7 the 32- and 64-bit version are placed here:
C:\Windows\System32\winusb.dll
C:\Windows\SysWOW64\winusb.dll

Apparently it is included with Windows from Vista and on, so if you are using Windows XP that might be the reason.

WinUSB can be installed on Windows XP. It is part of the Windows Driver Kit (WDK):
http://www.microsoft.com/download/en/de ... n&id=11800

I’d have to confess that I don’t know is installing the WDK will install WinUSB or if further configuration is needed. Also, the WDK contains much more than just the WinUSB and it is really intended for developers.

I guess that I will have to try to come up with a solution that uses the fantom-driver instead.

Re: Released: MindSqualls v2.0

Posted: 18 Sep 2011, 03:46
by hassenplug
mindsqualls wrote: Apparently it is included with Windows from Vista and on, so if you are using Windows XP that might be the reason.

WinUSB can be installed on Windows XP. It is part of the Windows Driver Kit (WDK):
http://www.microsoft.com/download/en/de ... n&id=11800

I’d have to confess that I don’t know is installing the WDK will install WinUSB or if further configuration is needed. Also, the WDK contains much more than just the WinUSB and it is really intended for developers.
Yes, I'm having a problem with the USB drivers. On my XP machine, it can't find the WinUSB.dll, and on my WIndows 7 machine, the function SetupDiEnumDeviceInterfaces

does not return any devices.

Steve

Re: Released: MindSqualls v2.0

Posted: 30 Jul 2012, 11:03
by noob4life
Hey guys,

I know this thread hasn't been touched for quite some time, but I had problems with the missing winusb.sys on Windows XP, which was the reason why MindSqualls USB connection does not work under Windows XP, at first.
As someone pointed out earlier you need to install it separately using the Windows Driver Kit (WDK). It's quite a mess if you never done something like this before (like me :) ). I finaly figured it out after mixing up fantom's files, win7 files and example files. Since it cost me around two full days I decided to share my result.

It's a zip containing four files:
  • ReadMe.txt
  • WdfCoInstaller01009.dll - Used to install the driver as a kernel mode driver (kmd)
  • winusbcoinstaller2.dll - You can't copy/install winusb.sys directly --> you need to extract with the coninstaller
  • workingWinUSBinstallerInf.inf - This is the handmade inf that connects the winusb driver with your nxt and instructs the extraction
For the case you are interested in where the files are from and how it works:
WdfCoInstaller and winusbcoinstaller are from the WDK version 7.1.0 (can be downloaded here). Download the iso, install it and find the two dll's in the redist folder. Further information on how to install WinUsb.sys as a function driver can be found in the WinUsb_HowTo.docx document released by microsoft.

For the case you just want to install and run:
Please be sure to understand, that you can't use the winusb driver and the fantom driver at the same time.
As a consequence you won't be able to use e.g. Bricx Command Center.
  • Download the zip in the attachment, unzip it.
  • Open the device manager (e.g. Start-->Run-->devmgmt.msc)
  • Power on your nxt, it should appear under "LEGO Devices",
  • Right click the nxt and choose "Update driver"
  • Choose "No, not this time", next
  • Choose "Install from a list or specific location (Advanced)", next
  • Choose "Don't search. I will choose the driver to install.", next
  • Click on "Have Disk..."
  • Click on "Browse...", choose the inf you just unzipped, click open and OK
  • Choose "Lego Mindstorm alternative driver - WinUSB only", next
  • Wait for windows to do its magic, then click "Finish"
  • In the device manager you should now see "Lego Mindstorm alternative driver - WinUSB only" under "LEGO Devices"

For reinstallation of the original driver do the same process just don't choose "Install from a list or specific location (Advanced)", but "Install the software automatically (Recommended)" instead.

I hope it's helpful for someone.

Cheers,

noob4life