[hpsdr] Ozy and WinUSB

Alberto I2PHD i2phd at weaksignals.com
Thu Jul 23 14:38:46 PDT 2009


I started to write a WinUSB interface to talk to Ozy. I am doing this essentially for two reasons :

1) The current libusb interface won't likely be supported by the 64-bit version of the upcoming Windows 7,
    while WinUSB  will. At least M$oft guarantees this.

2) I know nothing about USB nor WinUSB, and this looks like a good way to learn something...:-)

So far, I have been able to code an INF file, and to install successfully the drivers needed by WinUSB.
Additionally, I wrote a small sample code that successfully issues the

GetDevicePath, SetupDiGetClassDevs, SetupDiEnumDeviceInterfaces
OpenDevice
WinUsb_Initialize
WinUsb_QueryDeviceInformation

calls (not necessarily in this order). As a last thing I issue the WinUsb_QueryInterfaceSettings API,
to know the characteristics of the USB device, i.e. the Ozy card.

And here is where I am having problems, and the reason for making this post.

That API fills a structure of type USB_INTERFACE_DESCRIPTOR, which has a field that contains the number
of the endpoints of the device. I find that field always set to zero.

Being totally ignorant, as said, of the USB architecture, I made an hypothesis which could be totally
wrong, so I ask those expert in this field.
Does that depend from the fact that the firmware hasn't (at that point) been loaded yet into the Ozy FPGA ?
If this is true, how can I load that firmware into the FPGA using WinUSB (libusb is out of the picture),
given that I have no endpoints to contact ?

Please enlighten me, this USB stuff is a bit confusing, at least initially...

Thanks

73  Alberto  I2PHD




More information about the Hpsdr mailing list