Date: Thu, 7 Nov 2013 01:39:58 GMT From: Cam Karnes <karnes.cameron@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/183735: Xbox 360 LEDs won't stop blinking Message-ID: <201311070139.rA71dwu1046481@oldred.freebsd.org> Resent-Message-ID: <201311070150.rA71o36i048647@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 183735 >Category: misc >Synopsis: Xbox 360 LEDs won't stop blinking >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 07 01:50:03 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Cam Karnes >Release: 9.1 >Organization: >Environment: FreeBSD 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Wed Nov 6 17:30:15 EST 2013 /usr/obj/usr/src/sys/XBOXTOP amd64 >Description: The ring of LEDs will not stop blinking after the controller is plugged into a USB port. It's very distracting, and detracts from usage. >How-To-Repeat: Plug in an Xbox 360 controller. >Fix: A reworked patch was applied to uhid.c Credit where credit is due. The original patch was submitted some seven years ago, and this contribution is simply a rework, as the original seems to have been pruned during revisions and rewrites to uhid.c over the years. >From the mailing lists: http://lists.freebsd.org/pipermail/freebsd-usb/2006-May/002212.html Patch attached with submission follows: --- uhid.c 2013-11-06 20:25:25.000000000 -0500 +++ uhid.c.patched 2013-11-06 20:25:04.000000000 -0500 @@ -760,6 +760,12 @@ } else if ((uaa->info.bInterfaceClass == UICLASS_VENDOR) && (uaa->info.bInterfaceSubClass == UISUBCLASS_XBOX360_CONTROLLER) && (uaa->info.bInterfaceProtocol == UIPROTO_XBOX360_GAMEPAD)) { + static uint8_t reportbuf[] = {1, 3, 0}; + + /* The four LEDs on the gamepad are blinking by default. */ + usbd_req_set_report(uaa->device, NULL, + reportbuf, sizeof(reportbuf), + uaa->info.bIfaceIndex, UHID_OUTPUT_REPORT, 0); /* the Xbox 360 gamepad has no report descriptor */ sc->sc_repdesc_size = sizeof(uhid_xb360gp_report_descr); >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311070139.rA71dwu1046481>