My Hyperkin Duke Xbox One Controller is not detected by the system
-
Hello! First time posting, so I apologise if there's anything I'm missing.
I had a Raspberry Pi 3 for a while, and my Hyperkin Duke controller was working perfectly with RetroPie, even detecting it by its proper device name.
A couple of days ago I decided to upgrade to a Raspberry Pi 4 mostly to speed up N64 emulation considering the new CPU and GPU capabilities of the devices which, while I understand they are still mostly untapped, I'm sure they will be exploited quite soon.
Unfortunately, my controller is simply not working anymore: when the system boots I can feel the controller vibrating, but the OLED won't light up and the system just won't detect it properly.
I can't remember if I had to change or install anything in particular to make it work with the previous Pi. I have Xpad installed. Any help would be much appreciated, and here are all the details:Pi Model or other hardware: Raspberry Pi 4 (4GB RAM)
Power Supply used: Original PSU
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.5.19
Built From: Manual installation following the official guide.
USB Devices connected: Microsoft Keyboard; Microsoft Classic IntelliMouse; Hyperkin Duke Xbox One Controller
Controller used: Hyperkin Duke Xbox One Controller
Error messages received: None
Log found in /dev/shm/runcommand.log (if relevant): N/A
Guide used: N/A
File: N/A
Emulator: N/A
Attachment of config files: N/A
How to replicate the problem: 1) Plug in the controller on any USB port of the Raspberry Pi; 2) Boot the system: EmulationStation or Raspian itself will not detect the controller no matter which button is pressed. -
Have you tried updating the xpad driver? Seems odd that it would work on your previous pi but not on the pi 4.
-
Did you mean Xpad?
I tried uninstalling it and reinstalling it both from the RetroPie-Setup and with the sudo apt-get install xpad command, but it just won't work. I even tried installing xboxdrv with no effect (I uninstalled it afterwards).
-
@Rhystic1 Yes, xpad sorry, autocorrect. Xboxdrv shouldnt be needed. A googling of your issue I see others have had issues with this controller being recognized properly in linux. Something to do with the device Id not being recognized by xpad.
-
Run the following command and post the output here in the topic:
cat /proc/bus/input/devices
This way we can check if
xpad
should recognize the driver or not. -
@mitu said in My Hyperkin Duke Xbox One Controller is not detected by the system:
Run the following command and post the output here in the topic:
cat /proc/bus/input/devices
This way we can check if
xpad
should recognize the driver or not.It seems like it's not appearing there:
I: Bus=0003 Vendor=045e Product=07f8 Version=0111 N: Name="Microsoft Wired Keyboard 600" P: Phys=usb-0000:01:00.0-1.4/input0 S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:045E:07F8.0001/input/input0 U: Uniq= H: Handlers=sysrq kbd leds event0 B: PROP=0 B: EV=120013 B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=1f I: Bus=0003 Vendor=045e Product=07f8 Version=0111 N: Name="Microsoft Wired Keyboard 600 Consumer Control" P: Phys=usb-0000:01:00.0-1.4/input1 S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:045E:07F8.0002/input/input1 U: Uniq= H: Handlers=kbd event1 B: PROP=0 B: EV=1f B: KEY=300ff 0 0 0 0 483ffff 17aff32d bfd44446 0 0 1 130c73 b17c000 267bfa d9415fed 9e1680 4400 0 10000002 B: REL=1040 B: ABS=1 0 B: MSC=10 I: Bus=0003 Vendor=045e Product=07f8 Version=0111 N: Name="Microsoft Wired Keyboard 600 System Control" P: Phys=usb-0000:01:00.0-1.4/input1 S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:045E:07F8.0002/input/input2 U: Uniq= H: Handlers=kbd event2 B: PROP=0 B: EV=13 B: KEY=c000 100000 0 0 0 B: MSC=10
-
@Rhystic1 said in My Hyperkin Duke Xbox One Controller is not detected by the system:
It seems like it's not appearing there:
Probably that's why it's not detected. Try adding
over_voltage=2
to your/boot/config.txt
and reboot, then check again if it's detected. -
@mitu said in My Hyperkin Duke Xbox One Controller is not detected by the system:
@Rhystic1 said in My Hyperkin Duke Xbox One Controller is not detected by the system:
It seems like it's not appearing there:
Probably that's why it's not detected. Try adding
over_voltage=2
to your/boot/config.txt
and reboot, then check again if it's detected.Hmm...I'm not sure I'd like to void my warranty and overclock the hardware just to get the controller working. Also, it was working perfectly on my Pi 3 without any overclock. Is there something else I can try?
-
@Rhystic1 It's not overclocking, it's just adding more voltage to the USB port, just in case you're stumbling upon this issue.
Alternatively, try updating to the latest Linux kernel from Raspbian (
sudo apt update && sudo apt -y upgrade
), switch USB ports, disconnect the keyboard, plug/unplug the gamepad. -
@mitu said in My Hyperkin Duke Xbox One Controller is not detected by the system:
@Rhystic1 It's not overclocking, it's just adding more voltage to the USB port, just in case you're stumbling upon this issue.
Alternatively, try updating to the latest Linux kernel from Raspbian (
sudo apt update && sudo apt -y upgrade
), switch USB ports, disconnect the keyboard, plug/unplug the gamepad.I am already on the latest 5.4 Linux kernel. Running the commands had no effect.
Something interesting to note as well: if I plug in a standard Xbox One controller, it gets detected in EmuStation and the kernel, but I can't configure it: I get the "1 controller detected" but if I press any button nothing happens.EDIT: command
lsusb
shows the controller, but without description (note that I have unplugged the keyboard and mouse, hence why they won't show):Bus 001 Device 004: ID 2e24:0652 Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-
@Rhystic1 said in My Hyperkin Duke Xbox One Controller is not detected by the system:
I am already on the latest 5.4 Linux kernel. Running the commands had no effect.
That's the latest beta kernel - did you have the same issue with the stable kernel ?
-
@mitu said in My Hyperkin Duke Xbox One Controller is not detected by the system:
@Rhystic1 said in My Hyperkin Duke Xbox One Controller is not detected by the system:
I am already on the latest 5.4 Linux kernel. Running the commands had no effect.
That's the latest beta kernel - did you have the same issue with the stable kernel ?
On the Pi 4 I wouldn't know, as I upgraded to the beta kernel as soon as I started using it. On the Pi 3 I was on the stable kernel. If there is a way to downgrade without losing data I might do that to check whether the beta kernel is the cause of the problem.
-
You can downgrade to the current
apt
kernel withsudo apt-get install --reinstall libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0 raspberrypi-bootloader raspberrypi-kernel
You sholdn't be using
rpi-update
for regular updates. If you still want to do so, a backup is always advisable if you're not able to re-install/repair the system. -
@Rhystic1 said in My Hyperkin Duke Xbox One Controller is not detected by the system:
Hmm...I'm not sure I'd like to void my warranty
For what it's worth, this alone will not void your warranty. The specific circumstances where the overclock bit is set are if force_turbo is set to 1 and any of the over_voltage_* options are set to a value > 0.
-
Quick update and some interesting details:
Following
So why is this happening?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.