Implemeting xbox one controller on uhid

Hans Petter Selasky hps at selasky.org
Thu Jun 27 13:21:22 UTC 2019


On 2019-06-27 15:16, Stephane D'Alu wrote:
> Hi
> 
> I'm still trying to implement the xbox one controller on the kernel
> uhid [2] module, based on the linux xpad.c [1]
> 
> I've found that I need, during the attach phase, to write an init packet 
> on the interrupt endpoint; on linux this is done using the USB request 
> buffer (URB) [l.1041].
> On freebsd I'm kind of stuck on the function that I should use to 
> transmit such a packet, I've tried the usbd_req_set_report, but it 
> doesn't look like the right function.
> 
> any help welcome
> 
> 
> [1] https://github.com/paroj/xpad/blob/master/xpad.c
> [2] /usr/src/sys/dev/usb/input/uhid.c
> 

Hi,

For sending a interrupt endpoint message you need to allocate an own USB 
transfer. The usbd_req_set_report() only works on the control endpoint.

--HPS


More information about the freebsd-usb mailing list