Starting with FreeBSD 4.2 I had written a C program to control a USB spectrometer (Ocean Optics USB2000). The device always appeared as ugen with two control points, e.g., ugen0.2 and ugen0.7. My program worked through FreeBSD 7 but I have not been able to get it to work with either 8 or 9. In both it appears as only one ugen device, e.g., ugen0.4. I was hoping this issue would get solved along the way, but I am now worried that when FreeBSD 7.4 is no longer supported, that I may get stuck. Any advice would be appreciated.
One of the endpoints, ugen0.2, is for transmitting commands and reading spectra. The other enpoint, ugen0.7, is for receiving current instrument settings only. I suspect, but I have not been able to demonstrate, that it's only the latter endpoint that is showing up. I don't get any response from transmitted commands, which is what would be expected from that endpoint. Everything still works fine in FreeBSD 7, so it's not the instrument.
Thanks for considering this.
Can you list the configuration descriptor:
usbconfig -d X.Y dump_curr_config_desc
And also list all /dev/ugen nodes. Also note that starting from FreeBSD 8, you
need to do some IOCTL's to set buffer sizes and such to get things working
As a reference for simple BULK endpoint programming.
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped