Difference between revisions of "WinUSB Notes"

From HPSDRwiki
Jump to: navigation, search
m (WinUSB Notes)
(WinUSB Notes)
Line 24: Line 24:
  
 
Where can I find this new code that uses WinUSB?
 
Where can I find this new code that uses WinUSB?
Try this svn path:  
+
Try this svn path (K9TRV's KISS Branch):  
  
 
     svn://206.216.146.154/svn/repos_hpsdr_kiss/branches/K9TRV
 
     svn://206.216.146.154/svn/repos_hpsdr_kiss/branches/K9TRV
  
K9TRV's KISS Branch
+
 
 +
So, you're going to be recompiling the KISS code on a 64 bit machine?
 +
 
 +
If so, then you'll need to check the 'fftw' subfolder in my branch for the 64 bit dll.  I've provided the installers for the 32 bit and 64 bit fftw dlls, from the http://www.fftw.org/ website.  Please either install the 64 bit package and replace all versions of the 32 bit dll with the dll it installs, or copy and rename the libfftw3f64.dll to libfftw3f.dll, especially in the bin\release and bin\debug folders of my version of the KISS Console project.  Thanks to Dr. Hermann von Hasseln, DL3HVH, for this information!

Revision as of 07:43, 21 December 2009

WinUSB Notes

This page contains information on using WinUSB with HPSDR hardware.

The first thing that you will need is the WinUSB driver package from Alberto, I2PHD, from www.weaksignals.com. Alberto I2PHD's WinRad site Go to his website and download his WinRad package, which will give you his WinUSB driver installer. Using this installer should let you install WinUSB as the driver for your hardware on Windows XP, Vista and Windows 7, whether you have a 32 bit OS, or AMD 64 bit OS or Intel IA64 64 bit OS versions of windows installed.

You will also be able to use WinRad, until Bill KD5TFD ports PowerSDR to WinUSB.

Alberto has some very good notes on installing the driver, or replacing libusb0 with WinUSB, as part of his package. I suggest that you read his notes and follow his directions. I think that you have to install WinUSB twice for Ozy, once when Ozy contains no programming, and once when Ozy has has its firmware downloaded.

Other interesting projects and info on WinUSB include:

1) The SourceForge (www.sourceforge.net) project called LibUsbDotNet. You can download both source and binary. This is a project that allows .Net code to use either libusb0 or WinUSB, without the application program having to know which driver is installed for the hardware. This is not yet being used by KISS or HPSDR, but does hold some promise on Windows for this option. Using LibUsbDotNet would allow a single version of KISS, for example, to exist that would work with either libusb0 or WinUSB.
2) the website http://www.lvr.com/winusb.htm, which contains information on WinUSB, USB in general, sample code, much other information and sample code on things like Serial Ports, Parallel Ports, ethernet, and more. Its maintainer, Jan Axelson, has also written a number of books on these topics. I found his winusb_cs to be very helpful to study in porting KISS and its support programs from libusb0 to WinUSB. Jan Axelson's website

What has been ported from libusb0 to WinUSB?

1) Phil Harman VK6APH's project KISS Console
2) supporting programs like loadfw.exe, loadfpga.exe and writei2c.exe
3) there is also a Visual Studio 2008 project called WinUSBAPI that is Alberto's Borland C++ Builder code ported to VS2008 C++. It doesn't yet have all the methods that the C# project WinUSBManaged that I wrote does. Hopefully, I'll find the time to back-port those methods from WinUSBManaged to WinUSBApi.

The purpose of the 'supporting programs' (which also use winusbmanaged.dll) is to replace the current versions that use libusb0. With these, you can update the versions in your usbblaster-binaries folder so that you can still update the firmware in Penelope, Mercury and other boards. You may have multiple places where these are needed. Up-to-date copies are in my "KISS Console\bin\release" and "Kiss Console\bin\debug" folders, so that initozy11.bat that is in those folders will continue to work.

Where can I find this new code that uses WinUSB? Try this svn path (K9TRV's KISS Branch):

   svn://206.216.146.154/svn/repos_hpsdr_kiss/branches/K9TRV


So, you're going to be recompiling the KISS code on a 64 bit machine?

If so, then you'll need to check the 'fftw' subfolder in my branch for the 64 bit dll. I've provided the installers for the 32 bit and 64 bit fftw dlls, from the http://www.fftw.org/ website. Please either install the 64 bit package and replace all versions of the 32 bit dll with the dll it installs, or copy and rename the libfftw3f64.dll to libfftw3f.dll, especially in the bin\release and bin\debug folders of my version of the KISS Console project. Thanks to Dr. Hermann von Hasseln, DL3HVH, for this information!