Hi USB2 folks ;-) First I should show you my big respect. Thank you very much for your great usb2 work. That works very well. Using usb2, I have found a issue around uhid. ugd will be zero-cleared when ioctl(fd, USB_GET_REPORT_DESC, &ugd) is called. For example, follow ioctl are used to get information of report descriptor. memset(&ugd, 0, sizeof(ugd)); ugd.ugd_data = malloc(len); ugd.ugd_maxlen = len; ioctl(fd, USB_GET_REPORT_DESC, &ugd) The information of report descriptor should be copied to ugd, but ugd is zero-cleared. From my research, perphaps follow patch is good solution to solve this problem. How do you usb2 guys make of this? Please check and solve this issue. Thanks :) --- sys/dev/usb2/include/usb2_ioctl.h.orig 2009-01-22 20:11:13.000000000 +0900 +++ sys/dev/usb2/include/usb2_ioctl.h 2009-01-22 20:09:35.000000000 +0900 _at__at_ -223,7 +223,7 _at__at_ #define USB_DEVICEENUMERATE _IOW ('U', 6, int) /* Generic HID device */ -#define USB_GET_REPORT_DESC _IOR ('U', 21, struct usb2_gen_descriptor) +#define USB_GET_REPORT_DESC _IOWR('U', 21, struct usb2_gen_descriptor) #define USB_SET_IMMED _IOW ('U', 22, int) #define USB_GET_REPORT _IOWR('U', 23, struct usb2_gen_descriptor) #define USB_SET_REPORT _IOW ('U', 24, struct usb2_gen_descriptor) -- Daichi GOTO, http://people.freebsd.org/~daichiReceived on Thu Jan 22 2009 - 10:52:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:40 UTC