I posted on the forum about this issue and was directed here as a better place 
to ask.

My question is about usbfs (AKA usbdevfs) emulation within Linux compatibility 
- it doesn’t get created in the Linuxulator but some binary Linux software 
(Altera Quartus) I’m using requires it instead of libusb.

The system is documented here: 

I have tried unmounting linprocfs and creating my own /compat/linux/proc 
directory with bus/usb/devices copied from a Linux machine for the USB device 
listed and then the device location in bus/usb/002/007 symlinked to the FreeBSD 
USB device in /dev/ugen0.2. This, unsurprisingly, didn’t work since the Linux 
nodes are obviously different from the FreeBSD nodes. Worth a try.

When I tried that dmesg printed the errors:
linux: pid 4640 (jtagd): ioctl fd=6, cmd=0x550f ('U',15) is not implemented
linux: pid 4640 (jtagd): ioctl fd=6, cmd=0x5510 ('U',16) is not implemented

Looking these up in the Linux headers in linux/usbdevice_fs.h I found:
#define USBDEVFS_CLAIMINTERFACE    _IOR('U', 15, unsigned int)
#define USBDEVFS_RELEASEINTERFACE  _IOR('U', 16, unsigned int)

Obviously the software was trying to claim and then release the USB interface 
but the ioctl must differ between FreeBSD and Linux so it doesn’t work, makes 

Unfortunately I don’t understand the FreeBSD or Linux USB systems enough to 
work out a solution myself but I hope that there is either a pre-existing 
solution or a solution that could be worked out.
I thought perhaps a translation layer between the Linux /proc/bus/usb/ and 
FreeBSD /dev/ugen* but have no idea where to start implementing that myself.

Hopefully it can be sorted, it’d be nice to have all the USB stuff working in 
Linux emulation, especially to be able to do my FPGA development entirely in 

Thanks in advance.
freebsd-usb@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to