Giter VIP home page Giter VIP logo

xpad's Introduction

Updated Xpad Linux Kernel Driver

Driver for the Xbox/ Xbox 360/ Xbox 360 Wireless/ Xbox One Controllers

This driver includes the latest changes in the upstream linux kernel and additionally carries the following staging changes:

  • support for more compatible devices
  • support for xbox360 class controllers, that need initialisation
  • support for xbox one elite paddles
  • xpad360w: power-off by long-pressing the power button

Xbox One Controllers

This driver is only used if you connect the controller via USB.

Connecting via Bluetooth
If you get past the pairing issues, the controller will operate in the generic-HID bluetooth profile.
The xpad driver will not be used.

Connecting via XBox One Wireless Adapter (WiFi)
The adapter needs daemon in userspace, see: medusalix/xow
Opinion: rather get a controller that supports bluetooth.

Installing

sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

Updating

cd /usr/src/xpad-0.4
sudo git fetch
sudo git checkout origin/master
sudo dkms remove -m xpad -v 0.4 --all
sudo dkms install -m xpad -v 0.4

Removing

sudo dkms remove -m xpad -v 0.4 --all
sudo rm -rf /usr/src/xpad-0.4

Usage

This driver creates three devices for each attached gamepad

  1. /dev/input/jsN
    • example jstest /dev/input/js0
  2. /sys/class/leds/xpadN/brightness
    • example echo COMMAND > /sys/class/leds/xpad0/brightness where COMMAND is one of
      • 0: off
      • 1: all blink, then previous setting
      • 2: 1/top-left blink, then on
      • 3: 2/top-right blink, then on
      • 4: 3/bottom-left blink, then on
      • 5: 4/bottom-right blink, then on
      • 6: 1/top-left on
      • 7: 2/top-right on
      • 8: 3/bottom-left on
      • 9: 4/bottom-right on
      • 10: rotate
      • 11: blink, based on previous setting
      • 12: slow blink, based on previous setting
      • 13: rotate with two lights
      • 14: persistent slow all blink
      • 15: blink once, then previous setting
  3. the generic event device
    • example fftest /dev/input/by-id/usb-*360*event*

Debugging

As a regular unpriveledged user

Setup console to display kernel log.
dmesg --level=debug --follow

Open a new console and access the device with jstest.
jstest /dev/input/jsX

Interact with the device and observe that data packets recieved from device are printed to kernel log.

[ 3968.772128] xpad-dbg: 00000000: 20 00 b5 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 40 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.772135] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804137] xpad-dbg: 00000000: 20 00 b6 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 fc fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3968.804145] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152120] xpad-dbg: 00000000: 20 00 b7 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 b8 fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 3969.152129] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Save dmesg buffer and attach to bug report, don't forget to describe button sequences in bug report.
dmesg --level=debug > dmesg.txt

Ctrl+C to close interactive console sessions when finished.

Sending Upstream

  1. git format-patch --cover-letter upstream..master
  2. git send-email --to xxx *.patch

xpad's People

Contributors

arndb avatar arvindyadavcs avatar auxym avatar benpicco avatar ccalmels avatar cgutman avatar chaorace avatar dantob avatar darioscarpa avatar dd3boh avatar dtor avatar dynamix1337 avatar eldad avatar flibitijibibo avatar jcotton42 avatar julialawall avatar lbschenkel avatar leoatgit avatar lzye avatar marcusfolkesson avatar mhalano avatar oblomov avatar ocrete avatar paroj avatar plagman avatar projectsynchro avatar ramzeto avatar sanjay900 avatar theubuntuguy avatar wafermouse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xpad's Issues

XBox one Bluetooth Controller

This is a question more than an issue,

Is there any information on pairing and connecting the new XBox One Wireless controller released with the S?

While using bluetoothctl

  • The controller is seen
  • I can pair the controller
  • I add it to the trust list
  • When I attempt a connect to the controller, I get a bluez error.
    • there's little information other than Failed to Connect

x360w: only expose connected devices

only expose connected devices with Xbox360 Wireless Receiver.

There is basic code to support connects/ disconnects - however re-connects fail:

  1. connect the controller
  2. disconnect the controller by removing the batteries
  3. try to reconnect the controller

result:
no input device node is created. works with sent_ledcleanup.

Furthermore we need to figure out a good way how to determine the xpad_nr.

For status see connected_only branch.

send Power off to xbox controller

I want to power off my controller by terminal.
There is some command that i can send by terminal to Power off.?

I find this section in you code:

static bool auto_poweroff = true;
module_param(auto_poweroff, bool, S_IWUSR | S_IRUGO);
MODULE_PARM_DESC(auto_poweroff, "Power off wireless controllers on suspend");

but i can't suspend my controller.
I am use the Retrpo pie, Hardware Raspberry pi 3, SO Raspbian.

Xbox one controller not sending data

Hi,
I am sorry to bother, I am not sure where else to write. In the past i have successfully got my xbox one controller running. Just for info I am running it with moonlight-embedded on osmc.
I tried to recompile the module for the new kernel and run into some issues that i don't know how to tackle. I have the ordinary xbox one controller that came with the xbox one bundle.

My controller lights up as usual but I get no button presses in the system. jstest /dev/input/js0 returns http://pastebin.com/fJtZMx6C. Pressing any buttons doesn't do anything on this screen, it stays the same no mater what I do with the controller.

using fftest /dev/input/event2 allows me to make the controller react and rumble.

Debug information as described on the mainpage also yields no result. I have no xpad-dbg messages or anything similar. I don't know how to enable verbose logging like it was described in #57.

Could someone please help an advise me what im doing wrong or how i can enable verbose debugging to add more information here?

Thank you.

P.S.: I would also add that i used the last master version of the xpad source code (this was 1.1.2017).
P.S.S.: Also lsusb -v : http://pastebin.com/pMixpqQx

Xbox one controler

I have xbox one wireless adapter controler and pc wireless adapter, but the adapter seem not running (no led blink), in dmesg i have:

[13825.993241] usb 1-1.5.4: new high-speed USB device number 9 using ehci-pci [13826.088305] usb 1-1.5.4: New USB device found, idVendor=045e, idProduct=02e6 [13826.088310] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [13826.088312] usb 1-1.5.4: Product: XBOX ACC [13826.088314] usb 1-1.5.4: Manufacturer: Microsoft Inc. [13826.088316] usb 1-1.5.4: SerialNumber: 112437
The xpad module is running, what i have to do to use the xbox in wireless mode?

Force feedback not working

I'm using this module with a xbox one controller (2015 firmware) on a raspberry pi 2 with the latest version of raspbian installed, the kernel version that i have is 4.1.20-v7:
Bus 001 Device 005: ID 045e:02dd Microsoft Corp.
Everything work ok except the vibrations. I didn't managed to find anything on the web related to this issue. I also tried to test the vibrations using the following command with various signals:
fftest /dev/input/by-id/usb-Microsoft_Controller_7EED809D6B4F-event-joystick
This is what i found is /var/log/sys:

Apr  9 17:56:35 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr  9 17:57:05 2016 [try http://www.rsyslog.com/e/2007 ]
Apr  9 17:56:36 raspberrypi kernel: [18156.736148] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:54 raspberrypi kernel: [18174.766241] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.216228] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.266227] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.316229] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.366240] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.416227] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.466225] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.516226] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.566225] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.616226] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.666225] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.716244] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:56:55 raspberrypi kernel: [18175.736234] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:57:32 raspberrypi kernel: [18212.629964] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1
Apr  9 17:57:32 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Sat Apr  9 17:58:02 2016 [try http://www.rsyslog.com/e/2007 ]
Apr  9 17:57:35 raspberrypi kernel: [18215.709914] xpad 1-1.5:1.0: xpad_prepare_next_out_packet - found pending output packet 1

Please let me know if more info is needed.

irq_out fails after a suspend/ resume cycle

steps to reproduce on master:

  1. unload xpad driver
  2. suspend
  3. resume
  4. load the xpad driver
  5. connect the controller

results in:

[   58.190382] input: Xbox 360 Wireless Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/input/input24
[   58.190510] input input24: xpad_send_led_command - dropped, irq_out is active
[   58.200555] xpad 1-9:1.0: xpad_irq_out - urb shutting down with status: -2

any subsequent calls to xpad_send_led_command or xpad_play_effect fail as well until the receiver is plugged in and out again.
Seems like Linux behaves differently than what the "Xbox 360 Wireless Receiver" expects during USB initialization/ deinitialization.

Titanfall 2 X-box One controller unsupported

Hey! I hope I've captured enough info to be useful, but please let me know if you need more.

Here's what lsusb -v has to say about the device.

Bus 002 Device 006: ID 0e6f:0165 Logic3 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass        71 
  bDeviceProtocol       208 
  bMaxPacketSize0        64
  idVendor           0x0e6f Logic3
  idProduct          0x0165 
  bcdDevice            1.01
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           64
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     71 
      bInterfaceProtocol    208 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     71 
      bInterfaceProtocol    208 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     71 
      bInterfaceProtocol    208 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x00e0  1x 224 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0080  1x 128 bytes
        bInterval               1

I was optimistic that I could simply add the product to the xpad_device array and specify that it is an xbox one controller but no dice. The controller is recognized but the inputs are not. Let me know anyway I can help, I'd like to get this guy set up as soon as possible!

Xbox one home button triggers dropped packets

I submitted a pull request and thinking I caused a regression canceled it for now. With master Simply open jstest with the device, hold down the big Xbox button and observe button 8 press flicker on/off. Moving my usb mouse around as well as changing window focus seems to help trigger it.

edit: pressing other buttons while holding home seems to work too

xpad one: (0)07 & (0)03 packets also send axes data

Currently axis data is only read from (0)20 packets, (0)07 packets also appear to send axes data for triggers and sticks. Missing these packets could cause input lag / delays.

Packets look like this:

( 0)  20 Button packet 
( 1)  ??Always 00
( 2)  Packet id, inc from 00, wraps at FF 
( 3)  ??Always 0E
( 4)  Menu = 04, View = 08, A = 10, B = 20, X = 40, Y = 80
( 5)  UP = 01, DOWN = 02, LEFT = 04, RIGHT = 08, LB = 10, RB = 20, LSTICK = 40, RSTICK = 80
( 6)  LT AXIS (2 bytes) le
( 7)  LT AXIS (2 bytes) le
( 8)  RT AXIS (2 bytes) le
( 9)  RT AXIS (2 bytes) le
(10)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(11)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(12)  LSTICK DOWN-UP AXIS (2 Bytes) le
(13)  LSTICK DOWN-UP AXIS (2 Bytes) le
(14)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(15)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(16)  RSTICK DOWN-UP AXIS (2 Bytes) le
(17)  RSTICK DOWN-UP AXIS (2 Bytes) le
( 0)  07 Home button special packet (packet also sends axes data)
( 1)  ??Always 20
( 2)  Packet id, inc from 00, wraps at FF 
( 3)  ??Always 02
( 4)  HOME = 01
( 5)  ??Always 5B
( 6)  LT AXIS (2 bytes) le
( 7)  LT AXIS (2 bytes) le
( 8)  RT AXIS (2 bytes) le
( 9)  RT AXIS (2 bytes) le
(10)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(11)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(12)  LSTICK DOWN-UP AXIS (2 Bytes) le
(13)  LSTICK DOWN-UP AXIS (2 Bytes) le
(14)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(15)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(16)  RSTICK DOWN-UP AXIS (2 Bytes) le
(17)  RSTICK DOWN-UP AXIS (2 Bytes) le
( 0)  03 Heartbeat packet (packet also sends axes data)
( 1)  ??Always 20
( 2)  Packet id, inc from 00, wraps at FF 
( 3)  ??Always 04
( 4)  ??Always 8B
( 5)  ??Always 00
( 6)  LT AXIS (2 bytes) le (??FIRMWARE BUG: Always 00)
( 7)  LT AXIS (2 bytes) le (??FIRMWARE BUG: Always 00)
( 8)  RT AXIS (2 bytes) le
( 9)  RT AXIS (2 bytes) le
(10)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(11)  LSTICK LEFT-RIGHT AXIS (2 Bytes) le
(12)  LSTICK DOWN-UP AXIS (2 Bytes) le
(13)  LSTICK DOWN-UP AXIS (2 Bytes) le
(14)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(15)  RSTICK LEFT-RIGHT AXIS (2 Bytes) le
(16)  RSTICK DOWN-UP AXIS (2 Bytes) le
(17)  RSTICK DOWN-UP AXIS (2 Bytes) le

xone: Hori Horipad - Non-repsonsive analog sticks

OS: Slackware64-current
Linux-4.9.0

I got a new Hori Horipad today and found that neither the left or right analog stick do anything, moving them in any direction is not recognized at all. However the L3, R3, and all of the other buttons work as expected. This has been confirmed in sdl1-jstest, sdl2-jstest and RetroArch. Is this a problem with the hardware, any firmware or in the xpad driver? I can recompile my kernel or the xpad module to test any patches, thanks!

Here are some information that hopefully helps, if there is anything more I can provide please let me know.

$ lsusb | grep -i hori
Bus 008 Device 029: ID 0f0d:0067 Hori Co., Ltd
$ usb-devices
T:  Bus=08 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 16 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0f0d ProdID=0067 Rev=01.01
S:  Manufacturer=HORI CO.,LTD.
S:  Product=HORIPAD ONE
S:  SerialNumber=00005DC471C67F48
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=47 Prot=d0 Driver=xpad

/sys/kernel/debug/usb/devices

T:  Bus=08 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 38 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0f0d ProdID=0067 Rev= 1.01
S:  Manufacturer=HORI CO.,LTD.
S:  Product=HORIPAD ONE
S:  SerialNumber=00005DC471C67F48
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=47 Prot=d0 Driver=xpad
E:  Ad=01(O) Atr=03(Int.) MxPS=  64 Ivl=4ms
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=4ms

dmesg

[286124.405398] usb 8-1.3: new full-speed USB device number 45 using xhci_hcd
[286124.487933] usb 8-1.3: New USB device found, idVendor=0f0d, idProduct=0067
[286124.487938] usb 8-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[286124.487941] usb 8-1.3: Product: HORIPAD ONE
[286124.487943] usb 8-1.3: Manufacturer: HORI CO.,LTD.
[286124.487945] usb 8-1.3: SerialNumber: 00005DC471C67F48
[286124.490653] input: HORIPAD ONE as /devices/pci0000:00/0000:00:09.0/0000:02:00.0/usb8/8-1/8-1.3/8-1.3:1.0/input/input72

xone: Wireless Adapter - wifi protocol

@dodslaser
Bought an adapter yesterday and just hooked it up to my win10 laptop. The adapter loads three drivers; FW_ACC_00U.bin (firmware I assume), xboxgip.sys (no clue) and mt7612US.sys (driver for the mediatek mt7612 wireless chip). So the controller must be communicating over 802.11b/g/n/ac right? And the controllers connect to the adapter like a hotspot? I don't have a linux box handy right now, but maybe sniffing the authentication with normal wifi tools, like aircrack-ng, might tell us something.

Edit: Searching FCC database for the FCC-ID (C3K 1713) yeilds a lot of information (Internal photos etc.). It is listed as capable of using the 5.2, 5.8 and 2.4 GHz bands. LINK

Edit 2: The test reports seem to confirm that the adapter is in fact just a WiFi adapter. Maybe we could even use other adapters if we are able to come up with a Linux driver?

Edit 3: This document claims that the wireless platform is proprietary, dual band and uses 5GHz (So 5.2 and 5.8 I assume) for communication. TDS_XboxOneControllerPlusWDAforWindows_1510A.pdf

Xbox One Elite Controller Crash

Just wanted to document that this module does not support the Xbox One Elite controller. Here's the syslog when it's connected:

Feb 12 10:38:09 ph kernel: [ 1563.206414] usb 3-8.4.1: USB disconnect, device number 16
Feb 12 10:38:35 ph kernel: [ 1589.245090] usb 3-8.4.1: new full-speed USB device number 17 using xhci_hcd
Feb 12 10:38:36 ph kernel: [ 1589.334372] usb 3-8.4.1: New USB device found, idVendor=045e, idProduct=02dd
Feb 12 10:38:36 ph kernel: [ 1589.334375] usb 3-8.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 12 10:38:36 ph kernel: [ 1589.334377] usb 3-8.4.1: Product: Controller
Feb 12 10:38:36 ph kernel: [ 1589.334378] usb 3-8.4.1: Manufacturer: Microsoft
Feb 12 10:38:36 ph kernel: [ 1589.334379] usb 3-8.4.1: SerialNumber: 7EED89C19B94
Feb 12 10:38:36 ph mtp-probe: checking bus 3, device 17: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8.4/3-8.4.1"
Feb 12 10:38:36 ph mtp-probe: bus: 3, device: 17 was not an MTP device
Feb 12 10:38:36 ph kernel: [ 1589.340462] input: Microsoft X-Box One pad (Firmware 2015) as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8.4/3-8.4.1/3-8.4.1:1.0/input/input23
Feb 12 10:38:36 ph kernel: [ 1589.340512] xpad 3-8.4.1:1.0: xpad_prepare_next_out_packet - found pending output packet 0
Feb 12 10:38:36 ph kernel: [ 1589.340573] usbcore: registered new interface driver xpad
Feb 12 10:38:36 ph kernel: [ 1589.354574] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -2
Feb 12 10:38:36 ph kernel: [ 1589.384650] xpad 3-8.4.1:1.0: xpad_prepare_next_out_packet - found pending output packet 0
Feb 12 10:38:36 ph kernel: [ 1589.394624] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -2
Feb 12 10:38:59 ph /py3status: message repeated 58 times: [ user method getText failed (getText() takes 1 positional argument but 3 were given)]
Feb 12 10:39:00 ph /py3status: i3status set_time_modules time failed ('e' is a bad directive in format '%A %e.%B - %l:%M %Y %m %d')
Feb 12 10:39:00 ph /py3status: message repeated 6 times: [ i3status set_time_modules time failed ('e' is a bad directive in format '%A %e.%B - %l:%M %Y %m %d')]
Feb 12 10:39:00 ph /py3status: user method getText failed (getText() takes 1 positional argument but 3 were given)
Feb 12 10:39:00 ph /py3status: i3status set_time_modules time failed ('e' is a bad directive in format '%A %e.%B - %l:%M %Y %m %d')
Feb 12 10:39:00 ph /py3status: i3status set_time_modules time failed ('e' is a bad directive in format '%A %e.%B - %l:%M %Y %m %d')
Feb 12 10:39:01 ph /py3status: user method getText failed (getText() takes 1 positional argument but 3 were given)
Feb 12 10:39:05 ph kernel: [ 1618.511994] xpad 3-8.4.1:1.0: xpad_prepare_next_out_packet - found pending output packet 0
Feb 12 10:39:05 ph kernel: [ 1618.528107] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -2
Feb 12 10:39:08 ph kernel: [ 1621.322810] xpad 3-8.4.1:1.0: xpad_prepare_next_out_packet - found pending output packet 0
Feb 12 10:39:48 ph kernel: [ 1661.783950] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.788028] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.792026] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.795981] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.799944] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.804024] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.808023] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.811976] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.815938] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.819952] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.823951] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.827950] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.831949] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.835941] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.839939] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.844007] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.848005] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.852006] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.856006] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.860003] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.864003] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.867997] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.871999] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.875938] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.879924] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.883935] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.887932] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.891930] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.895925] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.899923] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.903922] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.907917] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.911915] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.915915] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.919911] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.923909] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.927908] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.931903] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.935902] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.939900] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.943897] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.947896] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.951895] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.955891] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.959961] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.963959] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.967880] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.971879] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.975943] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.979943] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.983870] xpad 3-8.4.1:1.0: xpad_irq_in - nonzero urb status received: -71
Feb 12 10:39:48 ph kernel: [ 1661.986678] usb 3-8.4.1: USB disconnect, device number 17
Feb 12 10:39:48 ph kernel: [ 1661.988798] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -108
Feb 12 10:39:56 ph kernel: [ 1670.115733] usb 3-8.4.1: new full-speed USB device number 18 using xhci_hcd
Feb 12 10:39:56 ph kernel: [ 1670.204837] usb 3-8.4.1: New USB device found, idVendor=045e, idProduct=02e3
Feb 12 10:39:56 ph kernel: [ 1670.204840] usb 3-8.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 12 10:39:56 ph kernel: [ 1670.204841] usb 3-8.4.1: Product: Controller
Feb 12 10:39:56 ph kernel: [ 1670.204843] usb 3-8.4.1: Manufacturer: Microsoft
Feb 12 10:39:56 ph kernel: [ 1670.204844] usb 3-8.4.1: SerialNumber: 7EED8E5DB06C
Feb 12 10:39:56 ph kernel: [ 1670.205637] xpad 3-8.4.1:1.0: xpad_prepare_next_out_packet - found pending output packet 2
Feb 12 10:39:56 ph kernel: [ 1670.205690] input: Generic X-Box pad as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8.4/3-8.4.1/3-8.4.1:1.0/input/input24
Feb 12 10:39:56 ph kernel: [ 1670.205934] BUG: unable to handle kernel NULL pointer dereference at 000000000000004e
Feb 12 10:39:56 ph kernel: [ 1670.205937] IP: [] xpad_probe+0x293/0x5d0 [xpad]
Feb 12 10:39:56 ph kernel: [ 1670.205950] PGD 0
Feb 12 10:39:56 ph kernel: [ 1670.205951] Oops: 0000 [#1] SMP
Feb 12 10:39:56 ph kernel: [ 1670.205953] Modules linked in: xpad(OE) ff_memless des_generic md4 nls_utf8 cifs fscache ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp bridge stp llc ip6table_filter ip6_tables iptable_filter ip_tables ebtable_nat ebtables x_tables bnep rfcomm bluetooth 6lowpan_iphc binfmt_misc snd_hda_codec_hdmi hp_wmi sparse_keymap intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp nvidia(POE) kvm_intel kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_usb_audio aesni_intel snd_usbmidi_lib aes_x86_64 lrw gf128mul glue_helper ablk_helper snd_hda_codec_realtek snd_hda_codec_generic cryptd snd_seq_midi snd_seq_midi_event snd_hda_intel snd_hda_controller snd_hda_codec dm_multipath joydev scsi_dh snd_hwdep nouveau snd_rawmidi snd_seq snd_pcm cp210x serio_raw mxm_wmi snd_seq_device wmi usbserial video snd_timer ttm drm_kms_helper snd drm lpc_ich mei_me i2c_algo_bit mei soundcore shpchp ppdev parport_pc tpm_infineon lp nls_iso8859_1 parport mac_hid uas usb_storage hid_generic hid_logitech_dj usbhid hid e1000e ahci ptp psmouse libahci pps_core
Feb 12 10:39:56 ph kernel: [ 1670.206004] CPU: 6 PID: 74 Comm: khubd Tainted: P OE 3.16.0-33-generic #44~14.04.1-Ubuntu
Feb 12 10:39:56 ph kernel: [ 1670.206005] Hardware name: Hewlett-Packard HP Z230 Tower Workstation/1905, BIOS L51 v01.42 11/17/2014
Feb 12 10:39:56 ph kernel: [ 1670.206006] task: ffff880416e78000 ti: ffff880416e80000 task.ti: ffff880416e80000
Feb 12 10:39:56 ph kernel: [ 1670.206008] RIP: 0010:[] [] xpad_probe+0x293/0x5d0 [xpad]
Feb 12 10:39:56 ph kernel: [ 1670.206010] RSP: 0018:ffff880416e838f8 EFLAGS: 00010206
Feb 12 10:39:56 ph kernel: [ 1670.206011] RAX: ffff8803e0b30480 RBX: ffff88040c2bd800 RCX: ffff8800c12b4000
Feb 12 10:39:56 ph kernel: [ 1670.206013] RDX: 0000000000000048 RSI: 0000000000000008 RDI: ffff8803e0b30540
Feb 12 10:39:56 ph kernel: [ 1670.206014] RBP: ffff880416e83930 R08: ffff8803ff995080 R09: ffffffff81568a5a
Feb 12 10:39:56 ph kernel: [ 1670.206015] R10: ffff88041d003800 R11: ffffea00105bd000 R12: ffff8800c12b4000
Feb 12 10:39:56 ph kernel: [ 1670.206016] R13: ffff8800c12b4090 R14: 0000000000000060 R15: ffff8803df135400
Feb 12 10:39:56 ph kernel: [ 1670.206017] FS: 0000000000000000(0000) GS:ffff88042dd80000(0000) knlGS:0000000000000000
Feb 12 10:39:56 ph kernel: [ 1670.206018] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 12 10:39:56 ph kernel: [ 1670.206019] CR2: 000000000000004e CR3: 0000000002c13000 CR4: 00000000001407e0
Feb 12 10:39:56 ph kernel: [ 1670.206021] Stack:
Feb 12 10:39:56 ph kernel: [ 1670.206022] 04ffffff814c30a2 ffff8803df135510 ffff8800c12b4090 ffff8800c12b4000
Feb 12 10:39:56 ph kernel: [ 1670.206024] ffffffffc1211068 ffff88040c2bd830 ffffffffc12111a0 ffff880416e83978
Feb 12 10:39:56 ph kernel: [ 1670.206025] ffffffff8156e21f 0000000016e83950 ffff88040c2bd800 ffff88040c2bd830
Feb 12 10:39:56 ph kernel: [ 1670.206027] Call Trace:
Feb 12 10:39:56 ph kernel: [ 1670.206033] [] usb_probe_interface+0x1df/0x330
Feb 12 10:39:56 ph kernel: [ 1670.206037] [] driver_probe_device+0x12d/0x3e0
Feb 12 10:39:56 ph kernel: [ 1670.206039] [] ? driver_probe_device+0x3e0/0x3e0
Feb 12 10:39:56 ph kernel: [ 1670.206041] [] __device_attach+0x3b/0x40
Feb 12 10:39:56 ph kernel: [ 1670.206043] [] bus_for_each_drv+0x63/0xa0
Feb 12 10:39:56 ph kernel: [ 1670.206046] [] device_attach+0x88/0xa0
Feb 12 10:39:56 ph kernel: [ 1670.206048] [] bus_probe_device+0x98/0xc0
Feb 12 10:39:56 ph kernel: [ 1670.206050] [] device_add+0x4f4/0x630
Feb 12 10:39:56 ph kernel: [ 1670.206052] [] usb_set_configuration+0x4fb/0x810
Feb 12 10:39:56 ph kernel: [ 1670.206054] [] generic_probe+0x2e/0xa0
Feb 12 10:39:56 ph kernel: [ 1670.206056] [] usb_probe_device+0x32/0x80
Feb 12 10:39:56 ph kernel: [ 1670.206058] [] driver_probe_device+0x12d/0x3e0
Feb 12 10:39:56 ph kernel: [ 1670.206060] [] ? driver_probe_device+0x3e0/0x3e0
Feb 12 10:39:56 ph kernel: [ 1670.206062] [] __device_attach+0x3b/0x40
Feb 12 10:39:56 ph kernel: [ 1670.206064] [] bus_for_each_drv+0x63/0xa0
Feb 12 10:39:56 ph kernel: [ 1670.206066] [] device_attach+0x88/0xa0
Feb 12 10:39:56 ph kernel: [ 1670.206068] [] bus_probe_device+0x98/0xc0
Feb 12 10:39:56 ph kernel: [ 1670.206070] [] device_add+0x4f4/0x630
Feb 12 10:39:56 ph kernel: [ 1670.206072] [] usb_new_device+0x3c8/0x790
Feb 12 10:39:56 ph kernel: [ 1670.206074] [] ? usb_get_descriptor+0x82/0xc0
Feb 12 10:39:56 ph kernel: [ 1670.206076] [] hub_port_connect+0x578/0xa00
Feb 12 10:39:56 ph kernel: [ 1670.206078] [] hub_events+0x7f3/0xce0
Feb 12 10:39:56 ph kernel: [ 1670.206081] [] hub_thread+0x35/0x160
Feb 12 10:39:56 ph kernel: [ 1670.206084] [] ? prepare_to_wait_event+0x100/0x100
Feb 12 10:39:56 ph kernel: [ 1670.206086] [] ? hub_events+0xce0/0xce0
Feb 12 10:39:56 ph kernel: [ 1670.206089] [] kthread+0xd2/0xf0
Feb 12 10:39:56 ph kernel: [ 1670.206092] [] ? kthread_create_on_node+0x1c0/0x1c0
Feb 12 10:39:56 ph kernel: [ 1670.206095] [] ret_from_fork+0x7c/0xb0
Feb 12 10:39:56 ph kernel: [ 1670.206097] [] ? kthread_create_on_node+0x1c0/0x1c0
Feb 12 10:39:56 ph kernel: [ 1670.206098] Code: bf 54 01 00 00 03 48 8b 4b 08 4d 8b 87 88 00 00 00 48 8b 49 18 0f 95 c2 48 8d 34 d5 00 00 00 00 48 01 f2 48 8d 14 d1 49 8b 4f 10 <0f> b6 7a 06 0f b6 52 02 8b 31 48 89 48 48 4c 89 40 68 c7 80 88
Feb 12 10:39:56 ph kernel: [ 1670.206118] RIP [] xpad_probe+0x293/0x5d0 [xpad]
Feb 12 10:39:56 ph kernel: [ 1670.206120] RSP
Feb 12 10:39:56 ph kernel: [ 1670.206121] CR2: 000000000000004e
Feb 12 10:39:56 ph kernel: [ 1670.206123] ---[ end trace 7ad4cee274d90638 ]---
Feb 12 10:39:56 ph kernel: [ 1670.217283] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -2
Feb 12 10:39:56 ph kernel: [ 1670.233277] xpad 3-8.4.1:1.0: xpad_irq_in - urb shutting down with status: -2

Let me know if I can provide more info to help debug.

xone: Wireless Adapter Support (WiFi)

I figured I'd open an issue for this, I have the wireless adapter "for windows 10", I haven't done much debugging with the xpad driver but I figured support for this is one of your goals. I can help debug this and/or provide any information you might need.

xone: Hori Horipad - Non-repsonsive after savestates in n64 emulator.

OS: Slackware64-current
RetroArch-2017.01.09_338980ef2_master-x86_64-1_git
GLupeN64-2017.01.09_799d362_master-x86_64-1_git
xpad-2016.12.31_bd4f517_4.9.0_master-x86_64-1_git

Most of the time when creating or loading a savestate in the n64 emulator GLupeN64 using the RetroArch frontend the gamepad will be non-responsive for several seconds where I will have to press buttons until it wakes up again. This used to work in this emulator until this commit https://github.com/GLupeN64/GLupeN64/commit/2f21040d7658ef70ec95d46c33ec97217451a6eb and might again if the save state code was made more efficient and didn't create temp files. However it already seems to work fine with any other gamepad such my my ps3 gamepad connected to the same usb port or my keyboard. So this might also be possible to improve in the xpad driver? Especially given that this gamepad was only recently fixed as discussed in issue #59.

Here is an related issue for the GLupeN64 repo.
https://github.com/GLupeN64/GLupeN64/issues/157

And for reference the RetroArch repo.
https://github.com/libretro/RetroArch

xone: No input with xbox one controller

Hi,

When I connect my controller while running current Arch kernel, xpad is crashing.
When I install xpad from git using dkms, my system hangs when I connect the controller.
So I'm running Arch with 4.4.0-rc6-mainline kernel.
With this setup the controller is detected, dmesg:

[ 1340.701682] usb 6-1.5.4: new full-speed USB device number 9 using ehci-pci
[ 1340.801626] input: Microsoft X-Box One pad (Covert Forces) as /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1.5/6-1.5.4/6-1.5.4:1.0/input/input33

But when I use jstest it shows the buttons and axis but none of them react when I press the buttons on the controller.

My controller is not the Covert Forces version but it is the regular black version with 3.5mm jack.

Any idea how I can sort this out?

x360w: LEDs not set correctly after resume

on suspending the controller sets LED mode 14. On resume we therefore need to set the LEDs again. The according LED packet to be sent, however it seems not to be enough. Another LED packet has to be sent for the LED to be changed.

x360w (xbox): disconnects/ protocol errors

Hi,

i compiled 0.4 on my osmc (Linux osmc 4.4.16-6-osmc #1 SMP PREEMPT Sun Oct 2 13:04:26 UTC 2016 armv7l GNU/Linux) and the driver works like a charm with my xbox 360 wireless controller.

Now i want to turn off the blinking green circle but i am missing

/sys/class/leds/xpad0/....

Anything i need to do?

Maybe someone has a hint.

xbox one - usb, null pointer

not sure if this is resolved.... but a few users are reporting a null pointer in or around xpad.

https://bbs.archlinux.org/viewtopic.php?id=205338
http://farmpolice.com/content/files/log.txt

my log..

Dec 18 11:09:09 mbp kernel: usb 1-1: new full-speed USB device number 7 using xhci_hcd
Dec 18 11:09:09 mbp mtp-probe[7023]: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
Dec 18 11:09:09 mbp mtp-probe[7023]: bus: 1, device: 7 was not an MTP device
Dec 18 11:09:09 mbp kernel: input: Generic X-Box pad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input16
Dec 18 11:09:09 mbp kernel: BUG: unable to handle kernel NULL pointer dereference at 000000000000004e
Dec 18 11:09:09 mbp kernel: IP: [<ffffffffa062ad0c>] xpad_probe+0x37c/0x9f0 [xpad]
Dec 18 11:09:09 mbp kernel: PGD 0 
Dec 18 11:09:09 mbp kernel: Oops: 0000 [#1] PREEMPT SMP 
Dec 18 11:09:09 mbp kernel: Modules linked in: xpad(+) ff_memless fuse btusb btrtl btbcm btintel bluetooth hid_generic input_leds jo
Dec 18 11:09:09 mbp kernel:  mbcache jbd2 sd_mod usb_storage ahci libahci libata xhci_pci xhci_hcd scsi_mod usbcore usb_common i915 
Dec 18 11:09:09 mbp kernel: CPU: 4 PID: 7024 Comm: systemd-udevd Tainted: P           O    4.2.5-1-ARCH #1
Dec 18 11:09:09 mbp kernel: Hardware name: Apple Inc. MacBookPro11,2/Mac-3CBD00234E554E41, BIOS MBP112.88Z.0138.B15.1506050548 06/05
Dec 18 11:09:09 mbp kernel: task: ffff8803cdd06040 ti: ffff8803caa3c000 task.ti: ffff8803caa3c000
Dec 18 11:09:09 mbp kernel: RIP: 0010:[<ffffffffa062ad0c>]  [<ffffffffa062ad0c>] xpad_probe+0x37c/0x9f0 [xpad]
Dec 18 11:09:09 mbp kernel: RSP: 0018:ffff8803caa3fa58  EFLAGS: 00010206
Dec 18 11:09:09 mbp kernel: RAX: ffff88046c424c00 RBX: ffff8803f3be5090 RCX: 0000000000000000
Dec 18 11:09:09 mbp kernel: RDX: 0000000000000048 RSI: ffff8803f3be5000 RDI: 0000000000000007
Dec 18 11:09:09 mbp kernel: RBP: ffff8803caa3faa8 R08: ffff880074621060 R09: ffffffffa01c7c89
Dec 18 11:09:09 mbp kernel: R10: ffffea0001d14200 R11: ffff88046ac1ce4f R12: ffff8803cdc00800
Dec 18 11:09:09 mbp kernel: R13: 000000000000005e R14: ffff8803cdc00830 R15: ffff880453433a00
Dec 18 11:09:09 mbp kernel: FS:  00007fe0cce877c0(0000) GS:ffff88047f300000(0000) knlGS:0000000000000000
Dec 18 11:09:09 mbp kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec 18 11:09:09 mbp kernel: CR2: 000000000000004e CR3: 000000043d159000 CR4: 00000000001406e0
Dec 18 11:09:09 mbp kernel: Stack:
Dec 18 11:09:09 mbp kernel:  ffff8803caa3faa8 ffffffff0000ffff ffff8803f3be5000 ffff88045dedbc00
Dec 18 11:09:09 mbp kernel:  ffffffffa062e088 ffff8803f3be5090 ffff8803f3be5000 ffffffffa062e088
Dec 18 11:09:09 mbp kernel:  ffff88045dedbc30 ffffffffa062e1c0 ffff8803caa3faf8 ffffffffa01cd132
Dec 18 11:09:09 mbp kernel: Call Trace:
Dec 18 11:09:09 mbp kernel:  [<ffffffffa01cd132>] usb_probe_interface+0x1b2/0x2d0 [usbcore]
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d4ad4>] driver_probe_device+0x1f4/0x460
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d4dd0>] __driver_attach+0x90/0xa0
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d4d40>] ? driver_probe_device+0x460/0x460
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d26fc>] bus_for_each_dev+0x6c/0xc0
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d42ce>] driver_attach+0x1e/0x20
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d3e2b>] bus_add_driver+0x1eb/0x280
Dec 18 11:09:09 mbp kernel:  [<ffffffff813d56e0>] driver_register+0x60/0xe0
Dec 18 11:09:09 mbp kernel:  [<ffffffffa01cbc34>] usb_register_driver+0x84/0x140 [usbcore]
Dec 18 11:09:09 mbp kernel:  [<ffffffffa0631000>] ? 0xffffffffa0631000
Dec 18 11:09:09 mbp kernel:  [<ffffffffa063101e>] xpad_driver_init+0x1e/0x1000 [xpad]
Dec 18 11:09:09 mbp kernel:  [<ffffffff81002123>] do_one_initcall+0xb3/0x200
Dec 18 11:09:09 mbp kernel:  [<ffffffff8157009c>] do_init_module+0x60/0x1e7
Dec 18 11:09:09 mbp kernel:  [<ffffffff810f8c06>] load_module+0x2206/0x2850
Dec 18 11:09:09 mbp kernel:  [<ffffffff810f59a0>] ? symbol_put_addr+0x40/0x40
Dec 18 11:09:09 mbp kernel:  [<ffffffff810f93a4>] SyS_init_module+0x154/0x1a0
Dec 18 11:09:09 mbp kernel:  [<ffffffff8157626e>] entry_SYSCALL_64_fastpath+0x12/0x71
Dec 18 11:09:09 mbp kernel: Code: 83 bf d4 00 00 00 03 4d 8b 47 50 48 8b 4f 08 0f 95 c2 48 8d 34 d5 00 00 00 00 48 8b 49 18 48 01 f2
Dec 18 11:09:09 mbp kernel: RIP  [<ffffffffa062ad0c>] xpad_probe+0x37c/0x9f0 [xpad]
Dec 18 11:09:09 mbp kernel:  RSP <ffff8803caa3fa58>
Dec 18 11:09:09 mbp kernel: CR2: 000000000000004e
Dec 18 11:09:09 mbp kernel: ---[ end trace 0bd949bb234cc020 ]---
Dec 18 11:09:09 mbp systemd-udevd[220]: worker [7024] terminated by signal 9 (Killed)
Dec 18 11:09:09 mbp systemd-udevd[220]: worker [7024] failed while handling '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1'
Dec 18 11:09:39 mbp kernel: usb 1-1: USB disconnect, device number 7
Dec 18 11:10:09 mbp systemd-udevd[220]: seq 3338 '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0' is taking a long time
Dec 18 11:10:09 mbp systemd-udevd[220]: seq 3340 '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2' is taking a long time
-- Reboot --

PowerA Xbox One Wired Controller Unresponsive

I have a wired usb PowerA Xbox One controller. Device ID is 24c6:543a.

Just spent a few hours reading the source code on this driver and couldn't figure out what was making this happen. Before installation, the device was not recognized at all, after installation, I was able to find the device as a joypad at js0. Running jstest, I get the usual testing set up, but nothing responds. Works fine with my logitech USB controller on the same port. Confirmed the PowerA controller was not broken by checking on a Windows 10 machine. Is there a patch for this anyone has managed to get working?

If no such patch exists, I have some free time over this winter. Is there any way I can help the project and maybe get this controller working? (It was a Christmas gift, I rather further linux support than take back a gift to the store.)

Thanks!
-Bram

The wrong product ID is exposed for the Wireless 360 controllers

The current implementation exposes the wireless receiver itself as 4 controllers, however the receiver and controllers are actually different devices with their own product ID.

The receiver has a product ID of 0x0719 and is a hub-style device that has 4 controllers attached to it.
The controllers have a different product ID; 0x02A1.

Right now you get 4 controllers with a product ID of 0x0719.
Instead, the receiver should be an unique device with 4 children; receiver (0x0719) -> 4 controllers (0x02A1).

Because the wrong PID is advertised by the drivers, some games do not automatically pick up the controller as an Xbox controller.
This was discovered through a game running in WINE [1].

NOTE1: This potentially also applies to the Xbox receiver (PID 0x0291) but I can't personally verify this.
NOTE2: Bug was originally reported (by me) on the kernel.org bugzilla [2] but received no response for 3 months.

Afterglow Prismatic Wired Xbox One Controller Not Working + Fix

Long story: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1507318

Short story: I'm reviewing a new Afterglow Prismatic Controller for Xbox One from PDP and it didn't work out of the box due to the vendor and product ids not being in the xpad.c file. I've added them in and it works fine.

Here's the diff:

128d127
< { 0x0e6f, 0x0139, "Afterglow Prismatic Wired Controller", 0, XTYPE_XBOXONE },
303d301
< XPAD_XBOXONE_VENDOR(0x0e6f), /* 0x0e6f X-Box One controllers */

xpad-dbg messages are flooding my dmesg and crippling my disk space

[79027.005134] xpad-dbg: 00000000: 02 20 01 1c fc ae 52 60 4f 05 00 00 c6 24 1a 54 01 00 01 00 17 01 02 00 01 00 01 00 01 00 01 00
[79027.005156] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[79027.605214] xpad-dbg: 00000000: 02 20 02 1c fc ae 52 60 4f 05 00 00 c6 24 1a 54 01 00 01 00 17 01 02 00 01 00 01 00 01 00 01 00
[79027.605231] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[79028.205303] xpad-dbg: 00000000: 02 20 03 1c fc ae 52 60 4f 05 00 00 c6 24 1a 54 01 00 01 00 17 01 02 00 01 00 01 00 01 00 01 00
[79028.205320] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[79028.805376] xpad-dbg: 00000000: 02 20 04 1c fc ae 52 60 4f 05 00 00 c6 24 1a 54 01 00 01 00 17 01 02 00 01 00 01 00 01 00 01 00
[79028.805394] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[79029.405456] xpad-dbg: 00000000: 02 20 05 1c fc ae 52 60 4f 05 00 00 c6 24 1a 54 01 00 01 00 17 01 02 00 01 00 01 00 01 00 01 00
[79029.405473] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

After a day or so my 16gb sd card on my RP3 is clogged. I've tried

sudo dmesg -n 1
sysctl -w kernel.printk="2 4 1 7"

But nothing seems to suppress these messages. Please advice on how to disable them.

xone: find minimal initialization sequence

currently we use a 6 packet initialization sequencefor xbox one pads. (obtained here)

{{ 0x04, 0x20, 0x01, 0x00 }, 4, true},
{{ 0x01, 0x20, 0x01, 0x09, 0x00, 0x04, 0x20, 0x3a, 0x00, 0x00, 0x00, 0x80, 0x00}, 13, true},
{{ 0x01, 0x20, 0x01, 0x09, 0x00, 0x04, 0x20, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00}, 13, true},
{{ 0x05, 0x20, 0x02, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x53}, 13, true},
{{ 0x05, 0x20, 0x03, 0x01, 0x00}, 5, true},
{{ 0x0a, 0x20, 0x04, 0x03, 0x00, 0x01, 0x14}, 7, true}

However it originates from a dump of a single controller on Windows. We need to figure out their meaning and test whether all of them are really needed.

x360: Speedlink Xeox Pro Analog Wireless Gamepad for the PC - Not working

http://www.speedlink.com/?p=2&cat=4131&pid=25492&paus=2

This controller can switch between directinput and XInput modes. Directinput works fine but although in XInput mode the gamepad is detect, none of the buttons work.

In XInput mode lsusb -v outputs:

Bus 003 Device 037: ID 045e:028e Microsoft Corp. Xbox360 Controller
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0         8
  idVendor           0x045e Microsoft Corp.
  idProduct          0x028e Xbox360 Controller
  bcdDevice           f0.0f
  iManufacturer           1 (error)
  iProduct                2 SL-6566
  iSerial                 3 (error)
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          153
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     93 
      bInterfaceProtocol      1 
      iInterface              0 
      ** UNRECOGNIZED:  11 21 10 01 01 25 81 14 03 03 03 04 13 02 08 03 03
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               8
Device Status:     0x0000
  (Bus Powered)

In directinput mode this changes to:

Bus 003 Device 028: ID 1a34:0809 ACRUX 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1a34 ACRUX
  idProduct          0x0809 
  bcdDevice            1.00
  iManufacturer           0 
  iProduct                2 SL-6566
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      99
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

I was able to get the controller to work in XInput mode using xboxdrv with a small patch: xboxdrv/xboxdrv#77 (comment)

Xbox One Covert Forces Not Responsive

I can see the controller in jstest but it does not respond to any button or axis changes.

korey@DarkTower /usr/src/xpad-0.4 $ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Microsoft X-Box One pad (Covert Forces)) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?).
Testing ... (interrupt to exit)
Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5:-32767 6: 0 7: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off ^C

xone: Liquid Metal/ PowerA Controller No Input

I'm trying to get a third party controller working.

So I've cloned the repo and built the dkms module and the controller is showing up as an interface under /dev/input/js0 - however I'm getting no input from the controller whatsoever.

Running the jstest utility brings up some info - but appears to be entirely unresponsive to any buttons pressed on the pad.

Looking at the source code, in particular xpad.c the controller should be support by vendorid and productid { 0x24c6, 0x543a, "PowerA Xbox One wired controller", 0, XTYPE_XBOXONE },

Can anyone help?

Non stopable vibration on various games / apps

With the 0.4 module installed (to prevent the system freeze with codemasters games on ubuntu),
i have problems in many games / programms.

If i start Saints row 4, the controller immideatly starts vibrating without stop. the only way to stop it is to uninstall 0.4 or unplug the controller.

also with the programm "dolphin emulator". every game vibrate without stop.

the "original" kernel module, that is shipped with ubuntu mate 16.04 beta, does not have this problem.

sorry for my english.

i'm using a black wired xbox 360 controller.

Kernel module does not load with Secure Boot enabled

Hi,

I needed to reinstall my system and now the xpad kernel module does not load... on the old system there was the same version as on the new, but it won't work on the new system...

Here's my install log:

`Creating symlink /var/lib/dkms/xpad/0.4/source ->
/usr/src/xpad-0.4

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.6.4-301.fc24.x86_64 KVERSION=4.6.4-301.fc24.x86_64....
cleaning build area...

DKMS: build completed.

xpad.ko:
Running module version sanity check.

  • Original module
    • No original module exists within this kernel
  • Installation
    • Installing to /lib/modules/4.6.4-301.fc24.x86_64/extra/
      Adding any weak-modules

depmod....

DKMS: install completed.`

xone: Hori Horipad - Rumble gets stuck

OS: Slackware64-current
Linux-4.9.3
xpad-2016.12.31_bd4f517_4.9.0_master-x86_64-1_git

Once in a while when using the horipad one gamepad rumble will get stuck (Input is frozen) and continue vibrating for several seconds, once it stops analog and button input will be partially or entirely non-responsive until I unplug and re-plug the controller. I've experienced this with mupen64plus-libretro + RetroArch, mupen64plus (Upstream) and pcsx2.

One potentially easy way to reproduce it:

  1. Install RetroArch + mupen64plus-libretro and find the game Zelda: Ocarina of Time
  2. Start the game and enable the rumble pak in the core options.
  3. Repetitively attack the wall for a few minutes until the rumble gets stuck.

Here is a save that makes that easier to test.
http://ks392457.kimsufi.com/orbea/stuff/games/n64/saves/Zelda%20OoT%2064.srm.xz

After this happens I noticed this in dmesg.

[50047.400038] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 1
[50052.729005] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 1
[50052.745006] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 1
[50052.829132] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 1
[50052.844507] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 1
[50052.847023] xpad 8-1.3:1.0: xpad_irq_in - nonzero urb status received: -71
[50067.722980] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.732940] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.742992] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.753083] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.762893] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.775992] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.785993] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.795993] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.806058] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.815995] xpad 8-1.3:1.0: xpad_irq_out - nonzero urb status received: -71
[50067.817850] usb 8-1.3: USB disconnect, device number 22
[50067.818368] xpad 8-1.3:1.0: xpad_irq_out - urb shutting down with status: -108
[50067.818437] xpad 8-1.3:1.0: xpad_irq_in - urb shutting down with status: -108
[50068.245792] usb 8-1.3: new full-speed USB device number 23 using xhci_hcd
[50068.329628] usb 8-1.3: New USB device found, idVendor=0f0d, idProduct=0067
[50068.329634] usb 8-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[50068.329637] usb 8-1.3: Product: HORIPAD ONE
[50068.329640] usb 8-1.3: Manufacturer: HORI CO.,LTD.
[50068.329642] usb 8-1.3: SerialNumber: 00005DC471C67F48
[50068.332377] input: HORIPAD ONE as /devices/pci0000:00/0000:00:09.0/0000:02:00.0/usb8/8-1/8-1.3/8-1.3:1.0/input/input38
[50068.332582] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 0
[50068.337736] xpad 8-1.3:1.0: xpad_prepare_next_out_packet - found pending output packet 0

do not drop force feedback packets

while the URB ffff88020d047d80 submitted while active issue is fixed in master, FFB packets might still be dropped.
Consider this patch for SteamOS.

However I first need a way to reproduce this. Using fftest is not enough to triggering the error.

Everything seems to work on my system...except the shoulder buttons

Not sure what details you need, please advise if you need more data. I'm running on Chakra Linux (which is mostly derived from Arch Linux). Everything seemed to work fine as far as I noticed except the shoulder buttons (triggers worked, analog sticks worked, buttons worked, etc...), which didn't seem to respond at all. I was using the XBox One controller via a microUSB to USB cable via a USB3 port, if that helps.

x360: need stable enumeration of pads

split off from #1: right now there is only a atomic counter which has 2 issues:

  • is not stable: keeps incrementing after suspend/ resume so the led nr changes

however it does handle the following use case:

  1. attach a wired x360 pad (LED1)
  2. connect a wireless x360 pad (LED2)
    the 5th controller is identified by LED1 again

Need to ping the guys mentioned here about it.

Xbox One Firmware 2015

I'm really grateful for all the great work you guys put into this and since I came here last, you added support for the newer models as well.
I do however have a few issues when my controller is connected or more specifically after I've used it. All the buttons work fine, but after pressing certain buttons, there seem to be some ghostly remnants of the keys pressed. For example, after pressing right trigger, the mouse constantly moves to the top of the screen. Unplugging stops this instantly. There was more odd behavior, but I can't reproduce it at the moment.
Is there a file I may need to edit that uses controller input for keyboard/mouse?
(running latest archlinux)

Elite Wireless Ctrl (via USB) qemu: libusb_set_interface_alt_setting: -5 [NOT_FOUND]

He.

Dont know if this is really related to xpad.

When i try to passthrough the Elite Wireless Controller with qemu to a Windows 10 box i get:
(qemu) libusb_set_interface_alt_setting: -5 [NOT_FOUND]
The Elite Wireless Controller does show up in Windows device manager with code 10 (unusable).

After researching a bit, it looks like this has to do with sub device handling for the Elite Controller. Maybe cause by xpad?

Running Linux 4.7.0-rc4, qemu 2.1.2, Debian 8

By the way, i am quite happy that my box does not crash any more when using the Elite Wireless Controller. Great :)

Axel

xone: New version of Logic3 Rock Candy Gamepad not supported

Hi,
Appearently the Rock Candy Gamepad for XBOX 360 is supported. They released a new version, "for XBOX One". I tried to add it to the list, compile it and load it, plug in the gamepad and now it gets recognised of course but it does not work.

The message is:

input: Rock Candy Gamepad for Xbox One as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/input/input139
xpad 1-3:1.0: xpad_irq_in - urb shutting down with status: -2

This is the lsusb of the device: http://pastebin.com/pp354U2x

If I can do anything to help to get this working, please let me know.

Error when installing on Antergos

I tried to install the driver doing what the directions said, and got this error message when I typed "sudo dkms install -m xpad -v 0.4":
Creating symlink /var/lib/dkms/xpad/0.4/source ->
/usr/src/xpad-0.4
DMKS: add completed
Error! echo
Your kernel headers for kernel 4.8.10-1-ARCH cannot be found at
/usr/lib/modules/4.8.10-1-ARCH/build or /usr/lib/modules/4.8.10-1-ARCH/source.

Unification of xpad.c driver from here and other sources

I addition to the xpad.c file offered here, there is one for SteamOS via https://github.com/ValveSoftware/steamos_kernel/blob/brewmaster-4.1/drivers/input/joystick/xpad.c and another that this guy wants pushed into Linux 4.5: http://lkml.iu.edu/hypermail/linux/kernel/1601.2/04543.html

Seeing that the xpad.c file offered here, in the SteamOS repo, and what is trying to be pushed into 4.5, is there a way that there can be some unification so there is one bleeding edge xpad driver across the board? Each file has their own little differences and it is confusing to know which is the best.

What would be awesome is if the xpad.c driver offered here includes the patches from the other ones so it is less confusing. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.