Skip to content

Add Support for Shanwan Controller #336

@AdityaHebballe

Description

@AdityaHebballe

My controller has 2 modes: xinput and dinput. On linux it presents the product and vendor ID for xinput mode and then it fails to fallback to dinput mode.

└─> sudo /bin/grep --line-buffered -Po '(?<=0 0 18 = .{18}).{8}' /sys/kernel/debug/usb/usbmon/1u | /bin/sed -E 's/([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/\2\1:\4\3/'
2563:0575
2563:0575
20bc:5001
20bc:5001

In dmesg I get the following error:

[ 4351.786243] usb 1-2: new full-speed USB device number 104 using xhci_hcd
[ 4352.197248] usb 1-2: unable to read config index 0 descriptor/start: -71
[ 4352.197256] usb 1-2: can't read configurations, error -71
[ 4352.786240] usb 1-2: new full-speed USB device number 105 using xhci_hcd
[ 4353.069059] usb 1-2: New USB device found, idVendor=20bc, idProduct=5001, bcdDevice= 1.24
[ 4353.069067] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0

This is the controller for reference

In fallback mode it is recognized as so:
Bus 001 Device 105: ID 20bc:5001 ShenZhen ShanWan Technology Co., Ltd. Gamepad

I've tried in both wired and dongle mode.

Please help me figure out how to patch the driver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions