You are not logged in.

#1 2025-11-21 01:11:56

yetanothernewbie
Member
Registered: 2019-07-23
Posts: 8

Multi-mode gamepad buggy, recognized as "Apple, Inc. Gamepad"

I recently got a "Cosmic Byte Blitz", a wired/wireless gamepad from a regional brand. Games have strange and inconsistent problems when I use the controller, such as the face buttons not working after the right stick is used, or the right trigger being interpreted as the up-down axis of the left analog stick. These issues only show up in games, I can't replicate them in jstest.

The third (bottom-left) light on the controller is lit up, which according to the manual means that the controller is operating in "Android" mode, as opposed to "X-Input" or "D-Input" mode. There doesn't seem to be a way to force the controller into a certain mode manually. When plugged in and used wired, lsusb says:

Bus 001 Device 012: ID 05ac:033e Apple, Inc. Gamepad

And dmesg shows this:

[  285.716144] usb 1-1: new full-speed USB device number 11 using xhci_hcd
[  285.840963] usb 1-1: config index 0 descriptor too short (expected 80, got 41)
[  285.841484] usb 1-1: New USB device found, idVendor=2563, idProduct=028e, bcdDevice= 1.31
[  285.841496] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[  285.841501] usb 1-1: Product: Gamepad
[  285.841506] usb 1-1: SerialNumber: 00006F64096B22E7
[  285.844340] usb 1-1: can't set config #1, error -71
[  285.844494] usb 1-1: USB disconnect, device number 11
[  286.360015] usb 1-1: new full-speed USB device number 12 using xhci_hcd
[  286.484145] usb 1-1: New USB device found, idVendor=05ac, idProduct=033e, bcdDevice= 1.31
[  286.484159] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  286.484165] usb 1-1: Product: Gamepad
[  286.488255] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:05AC:033E.0008/input/input29
[  286.488560] input: Gamepad Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:05AC:033E.0008/input/input30
[  286.488760] hid-generic 0003:05AC:033E.0008: input,hidraw5: USB HID v1.10 Gamepad [Gamepad] on usb-0000:00:14.0-1/input0

I'm trying to use the controller wired, but here's what lsusb and dmesg say when I'm using the wireless dongle:

Bus 001 Device 022: ID 20bc:5001 ShenZhen ShanWan Technology Co., Ltd. Gamepad
[ 2519.520043] usb 1-1: new full-speed USB device number 21 using xhci_hcd
[ 2519.646510] usb 1-1: unable to read config index 0 descriptor/all
[ 2519.646523] usb 1-1: can't read configurations, error -71
[ 2520.233032] usb 1-1: new full-speed USB device number 22 using xhci_hcd
[ 2520.358487] usb 1-1: New USB device found, idVendor=20bc, idProduct=5001, bcdDevice= 1.24
[ 2520.358502] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 2520.358508] usb 1-1: Product: Gamepad
[ 2520.365566] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:20BC:5001.0010/input/input48
[ 2520.365865] input: Gamepad Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:20BC:5001.0010/input/input49
[ 2520.366072] hid-generic 0003:20BC:5001.0010: input,hidraw5: USB HID v1.10 Gamepad [Gamepad] on usb-0000:00:14.0-1/input0
[ 2520.368057] input: Gamepad Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:20BC:5001.0011/input/input50
[ 2520.438326] input: Gamepad Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:20BC:5001.0011/input/input51
[ 2520.438660] hid-generic 0003:20BC:5001.0011: input,hiddev97,hidraw6: USB HID v1.10 Keyboard [Gamepad] on usb-0000:00:14.0-1/input1

After trying other drivers (xone) and not achieving anything, I found a relevant section on the wiki, https://wiki.archlinux.org/title/Gamepa … d_gamepads and tried doing some of the things suggested there.

These udev rules didn't work, with or without the first line:

SUBSYSTEM=="hid", DRIVER=="hid-generic", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="033e", RUN="/bin/sh -c 'echo $id:1.0 > /sys/bus/usb/drivers/usbhid/unbind'"
ACTION=="add", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="033e", RUN+="/bin/sh -c 'echo 05ac 033e > /sys/bus/usb/drivers/xpad/new_id'"
ACTION=="add", ATTRS{idVendor}=="2563", ATTRS{idProduct}=="028e", RUN+="/bin/sh -c 'echo 05ac 033e > /sys/bus/usb/drivers/xpad/new_id'"

This command didn't fix things either, but it did change what was displayed in dmesg:

echo -n "2563:028e:ikg" | sudo tee /sys/module/usbcore/parameters/quirks
[ 7384.511984] usb 1-1: new full-speed USB device number 54 using xhci_hcd
[ 7386.850155] usb 1-1: unable to read config index 0 descriptor/all
[ 7386.850167] usb 1-1: can't read configurations, error -71
[ 7387.228655] usb 1-1: new full-speed USB device number 55 using xhci_hcd
[ 7387.352395] usb 1-1: New USB device found, idVendor=05ac, idProduct=033e, bcdDevice= 1.31
[ 7387.352423] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 7387.352429] usb 1-1: Product: Gamepad
[ 7387.356096] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:05AC:033E.0022/input/input86
[ 7387.406998] input: Gamepad Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:05AC:033E.0022/input/input87
[ 7387.408285] hid-generic 0003:05AC:033E.0022: input,hidraw5: USB HID v1.10 Gamepad [Gamepad] on usb-0000:00:14.0-1/input0

(2563 does seem to be a vendor ID associated with ShanWan, the brand discussed in the wiki, so the problem may be related.)

I'm still looking around for information, but I'm not sure what to do. Help would be appreciated.

Last edited by yetanothernewbie (2025-11-21 12:03:51)

Offline

#2 2025-11-21 23:33:19

yetanothernewbie
Member
Registered: 2019-07-23
Posts: 8

Re: Multi-mode gamepad buggy, recognized as "Apple, Inc. Gamepad"

Well, I made some progress -- adding usbcore.old_scheme_first=1 to kernel parameters clears up the dmesg errors and makes the controller display as a Switch controller.

Bus 001 Device 024: ID 057e:2009 Nintendo Co., Ltd Switch Pro Controller
[ 2472.457733] usb 1-1: new full-speed USB device number 24 using xhci_hcd
[ 2472.469888] usb 1-1: New USB device found, idVendor=057e, idProduct=2009, bcdDevice= 1.31
[ 2472.469903] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 2472.469908] usb 1-1: Product: Gamepad
[ 2472.474326] nintendo 0003:057E:2009.0017: hidraw5: USB HID v82.01 Joystick [Gamepad] on usb-0000:00:14.0-1/input0
[ 2472.807762] nintendo 0003:057E:2009.0017: controller MAC = D0:48:B1:12:CC:30
[ 2472.823809] nintendo 0003:057E:2009.0017: using factory cal for left stick
[ 2472.839819] nintendo 0003:057E:2009.0017: using factory cal for right stick
[ 2472.887907] nintendo 0003:057E:2009.0017: using factory cal for IMU
[ 2472.951910] nintendo 0003:057E:2009.0017: assigned player 1 led pattern
[ 2472.984281] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0017/input/input48
[ 2472.984763] input: Gamepad (IMU) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0017/input/input49

It's a lot more reliable in this mode especially if hid_nintendo is loaded, but it still causes issues in some games -- mostly with the left and right triggers not being recognized.

Blacklisting hid_nintendo and unbinding the controller from hid_generic with udev causes it to reconnect as an unnamed "Gamepad", which produced extremely buggy results in the games I tested.

SUBSYSTEM=="hid", DRIVER=="hid-generic", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", RUN="/bin/sh -c 'echo $id:1.0 > /sys/bus/usb/drivers/usbhid/unbind'"
Bus 001 Device 023: ID 0d22:0c31  Gamepad
[ 1953.222332] usb 1-1: new full-speed USB device number 21 using xhci_hcd
[ 1953.234549] usb 1-1: New USB device found, idVendor=057e, idProduct=2009, bcdDevice= 1.31
[ 1953.234563] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1953.234570] usb 1-1: Product: Gamepad
[ 1953.240260] nintendo 0003:057E:2009.0014: hidraw5: USB HID v82.01 Joystick [Gamepad] on usb-0000:00:14.0-1/input0
[ 1953.559879] nintendo 0003:057E:2009.0014: controller MAC = D0:48:B1:12:CC:30
[ 1953.575881] nintendo 0003:057E:2009.0014: using factory cal for left stick
[ 1953.591880] nintendo 0003:057E:2009.0014: using factory cal for right stick
[ 1953.639917] nintendo 0003:057E:2009.0014: using factory cal for IMU
[ 1953.703758] nintendo 0003:057E:2009.0014: assigned player 1 led pattern
[ 1953.735877] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0014/input/input43
[ 1953.735999] input: Gamepad (IMU) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0014/input/input44
[ 1964.950956] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0014/input/input45
[ 1964.951099] hid-generic 0003:057E:2009.0014: input,hidraw6: USB HID v82.01 Joystick [Gamepad] on usb-0000:00:14.0-1/input0
[ 1968.114302] usb 1-1: USB disconnect, device number 21
[ 1971.018138] usb 1-1: new full-speed USB device number 22 using xhci_hcd
[ 1971.030291] usb 1-1: New USB device found, idVendor=057e, idProduct=2009, bcdDevice= 1.31
[ 1971.030304] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1971.030310] usb 1-1: Product: Gamepad
[ 1971.034488] input: Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:057E:2009.0015/input/input46
[ 1971.034949] hid-generic 0003:057E:2009.0015: input,hidraw5: USB HID v2.01 Joystick [Gamepad] on usb-0000:00:14.0-1/input0

I can use the controller in Switch mode and make do with the keyboard otherwise, but it still doesn't seem like a proper solution...

Last edited by yetanothernewbie (2025-11-21 23:39:41)

Offline

#3 2025-12-09 14:03:25

Tomoghno
Member
Registered: 2022-01-07
Posts: 1

Re: Multi-mode gamepad buggy, recognized as "Apple, Inc. Gamepad"

personally i am facing the same issue as you, and it has been a buggy mess for me too in these past few days

Offline

Board footer

Powered by FluxBB