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:
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.
sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4
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
sudo dkms remove -m xpad -v 0.4 --all
sudo rm -rf /usr/src/xpad-0.4
This driver creates three devices for each attached gamepad
jstest /dev/input/js0
echo COMMAND > /sys/class/leds/xpad0/brightness
where COMMAND is one of
fftest /dev/input/by-id/usb-*360*event*
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.
git format-patch --cover-letter upstream..master
git send-email --to xxx *.patch