misc/183735: Xbox 360 LEDs won't stop blinking
Cam Karnes
karnes.cameron at gmail.com
Thu Nov 7 01:50:03 UTC 2013
>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:
More information about the freebsd-bugs
mailing list