From: Rolf M. <rol...@ya...> - 2012-09-22 22:25:48
|
On 09/21/2012 04:41 AM, Nate Bargmann wrote: Hi Nate, Your proposal to use the -vvvv option was very helpful. It is now clear why rigctl fails for the fifisdr backend. Hamlib accepts a USB device if both manufacturer and product string descriptors match with the backend driver. Unfortunately, it appears that XP returns a wrong product string, and Hamlib consequently rejects the device. The error occurs in the USB device descriptor, where the "iProduct" field does not contain the right value. I have patched libusb such that it inserts the correct iProduct field. Now Hamlib can read the correct product string, and rigctl works fine. Hamlib is not the problem, but I believe that libusb isn't the root cause either. We have observed a strange behavior in the past: If the fifisdr device defines a string descriptor for the first interface, this string replaces the product string in the device descriptor! And this happens only on XP, not on Win7, WIn2000 or Linux. If we don't define a string for the first interface, iProduct is not changed. If I find time tomorrow, I will check if removing the string descriptor from the first interface helps. Funcube doesn't use libusb, as far as I know. Depending on its descriptors, it might suffer from the same effect if the XP theory is correct. 73, Rolf |