Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Controller not detected: Nintendo wired controller, HORIPAD S #29

Open
Zophiekat opened this issue Aug 13, 2021 · 3 comments
Open

Controller not detected: Nintendo wired controller, HORIPAD S #29

Zophiekat opened this issue Aug 13, 2021 · 3 comments

Comments

@Zophiekat
Copy link

Zophiekat commented Aug 13, 2021

I tried adding this controller but it wouldn't be recognized

this is the rule: KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="00dc", MODE="0660", TAG+="uaccess"|

zophiekat@pop-os:~$ udevadm info /dev/input/js1
P: /devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb5/5-1/5-1:1.0/input/input34/js1
N: input/js1
L: 0
S: input/by-id/usb-HORI_CO._LTD._HORIPAD_S_12340000-joystick
S: input/by-path/pci-0000:0c:00.3-usb-0:1:1.0-joystick
E: DEVPATH=/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb5/5-1/5-1:1.0/input/input34/js1
E: DEVNAME=/dev/input/js1
E: MAJOR=13
E: MINOR=1
E: SUBSYSTEM=input
E: USEC_INITIALIZED=28944071480
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_VENDOR=HORI_CO._LTD.
E: ID_VENDOR_ENC=HORI\x20CO.\x2cLTD.
E: ID_VENDOR_ID=0f0d
E: ID_MODEL=HORIPAD_S
E: ID_MODEL_ENC=HORIPAD\x20S
E: ID_MODEL_ID=00dc
E: ID_REVISION=0112
E: ID_SERIAL=HORI_CO._LTD._HORIPAD_S_12340000
E: ID_SERIAL_SHORT=12340000
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff5d01:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=xpad
E: ID_PATH=pci-0000:0c:00.3-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_0c_00_3-usb-0_1_1_0
E: ID_FOR_SEAT=input-pci-0000_0c_00_3-usb-0_1_1_0
E: DEVLINKS=/dev/input/by-id/usb-HORI_CO._LTD._HORIPAD_S_12340000-joystick /dev/input/by-path/pci-0000:0c:00.3-usb-0:1:1.0-joystick
E: TAGS=:uaccess:seat:
E: CURRENT_TAGS=:uaccess:seat:

I'm not sure what's wrong with the rule, but no matter what I try it just wont show up in Steam

@smcv
Copy link

smcv commented Sep 2, 2021

Rules with KERNEL=="hidraw*" only help for USB HID or Bluetooth HID controllers, which includes recent Playstation and Nintendo controllers (and their third-party clones). Most Xbox controllers (and their third-party clones) are not usually USB HID.

This device appears to be using the xpad driver, which means it's telling the kernel that it's Xbox-compatible, so it might not be HID.

If you run

~/.steam/root/ubuntu12_32/steam-runtime/run.sh steam-runtime-input-monitor

with this device unplugged, wait for it to finish describing all your other devices (it should say {"all-for-now": true} at the end), and then plug this device in, what additional information is displayed after the {"all-for-now": true} marker?

Press Ctrl+C to stop the input monitor when it has finished displaying the new device(s).

/dev/input/js1

The /dev/input/js* device nodes are a legacy interface. Steam and all modern games should be using either /dev/input/event* (the "evdev" interface) or /dev/hidraw* (the "raw HID" interface, only available for HID controllers).

If you're going to use udevadm info to describe a device, udevadm info -a is usually more useful - that tells us about the device and all its parents, not just the device itself. For an evdev interface that is implemented by a USB or Bluetooth device, we usually need information from the USB or Bluetooth layer, not just the evdev layer.

@Zophiekat
Copy link
Author

Zophiekat commented Feb 3, 2022

this is the difference of running ~/.steam/root/ubuntu12_32/steam-runtime/run.sh steam-runtime-input-monitor when unplugging and plugging the device:

      "event",
      "readable",
      "read-write"
    ],
    "type_flags" : [
      "joystick"
    ],
    "dev_node" : "/dev/input/event2",
    "subsystem" : "input",
    "sys_path" : "/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/input/input31/event2",
    "bus_type" : "0x0003",
    "vendor_id" : "0x0f0d",
    "product_id" : "0x00dc",
    "version" : "0x0112",
    "evdev" : {
      "types" : [
        "SYN",
        "KEY",
        "ABS",
        "FF"
      ],
      "absolute_axes" : [
        "X",
        "Y",
        "Z",
        "RX",
        "RY",
        "RZ",
        "HAT0X",
        "HAT0Y"
      ],
      "relative_axes" : [
      ],
      "keys" : [
        "BTN_A",
        "BTN_B",
        "BTN_X",
        "BTN_Y",
        "BTN_TL",
        "BTN_TR",
        "BTN_SELECT",
        "BTN_START",
        "BTN_MODE",
        "BTN_THUMBL",
        "BTN_THUMBR"
      ],
      "input_properties" : [
      ]
    },
    "udev_properties" : [
      "CURRENT_TAGS=:seat:uaccess:",
      "DEVLINKS=/dev/input/by-path/pci-0000:06:00.1-usb-0:2:1.0-event-joystick /dev/input/by-id/usb-HORI_CO._LTD._HORIPAD_S_12340000-event-joystick",
      "DEVNAME=/dev/input/event2",
      "DEVPATH=/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/input/input31/event2",
      "ID_BUS=usb",
      "ID_FOR_SEAT=input-pci-0000_06_00_1-usb-0_2_1_0",
      "ID_INPUT=1",
      "ID_INPUT_JOYSTICK=1",
      "ID_MODEL=HORIPAD_S",
      "ID_MODEL_ENC=HORIPAD\\x20S",
      "ID_MODEL_ID=00dc",
      "ID_PATH=pci-0000:06:00.1-usb-0:2:1.0",
      "ID_PATH_TAG=pci-0000_06_00_1-usb-0_2_1_0",
      "ID_REVISION=0112",
      "ID_SERIAL=HORI_CO._LTD._HORIPAD_S_12340000",
      "ID_SERIAL_SHORT=12340000",
      "ID_TYPE=generic",
      "ID_USB_DRIVER=xpad",
      "ID_USB_INTERFACES=:ff5d01:",
      "ID_USB_INTERFACE_NUM=00",
      "ID_VENDOR=HORI_CO._LTD.",
      "ID_VENDOR_ENC=HORI\\x20CO.\\x2cLTD.",
      "ID_VENDOR_ID=0f0d",
      "LIBINPUT_DEVICE_GROUP=3/f0d/dc:usb-0000:06:00.1-2",
      "MAJOR=13",
      "MINOR=66",
      "SUBSYSTEM=input",
      "TAGS=:seat:uaccess:",
      "USEC_INITIALIZED=78382947387"
    ],
    "input_ancestor" : {
      "sys_path" : "/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/input/input31",
      "name" : "Generic X-Box pad",
      "bus_type" : "0x0003",
      "vendor_id" : "0x0f0d",
      "product_id" : "0x00dc",
      "version" : "0x0112"
    },
    "usb_device_ancestor" : {
      "sys_path" : "/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2",
      "vendor_id" : "0x0f0d",
      "product_id" : "0x00dc",
      "version" : "0x0112",
      "manufacturer" : "HORI CO.,LTD.",
      "product" : "HORIPAD S",
      "serial" : "12340000"
    }
  }
}
{
  "added" : {
    "interface_flags" : [

this is also what i get by running udevadm info -a /dev/input/event2

> Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/input/input31/event2':
    KERNEL=="event2"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0/input/input31':
    KERNELS=="input31"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{capabilities/abs}=="3003f"
    ATTRS{capabilities/ev}=="20000b"
    ATTRS{capabilities/ff}=="107030000 0"
    ATTRS{capabilities/key}=="7cdb000000000000 0 0 0 0"
    ATTRS{capabilities/led}=="0"
    ATTRS{capabilities/msc}=="0"
    ATTRS{capabilities/rel}=="0"
    ATTRS{capabilities/snd}=="0"
    ATTRS{capabilities/sw}=="0"
    ATTRS{id/bustype}=="0003"
    ATTRS{id/product}=="00dc"
    ATTRS{id/vendor}=="0f0d"
    ATTRS{id/version}=="0112"
    ATTRS{inhibited}=="0"
    ATTRS{name}=="Generic X-Box pad"
    ATTRS{phys}=="usb-0000:06:00.1-2/input0"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{properties}=="0"
    ATTRS{uniq}==""

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2/1-2:1.0':
    KERNELS=="1-2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="xpad"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{bInterfaceSubClass}=="5d"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{power/async}=="enabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1/1-2':
    KERNELS=="1-2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="ff"
    ATTRS{bDeviceProtocol}=="ff"
    ATTRS{bDeviceSubClass}=="ff"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0112"
    ATTRS{bmAttributes}=="80"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="4"
    ATTRS{devpath}=="2"
    ATTRS{idProduct}=="00dc"
    ATTRS{idVendor}=="0f0d"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="HORI CO.,LTD."
    ATTRS{maxchild}=="0"
    ATTRS{power/active_duration}=="788652"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="788652"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_kids}=="1"
    ATTRS{power/runtime_active_time}=="788370"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{product}=="HORIPAD S"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="12340000"
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="197074"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0515"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="1"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0002"
    ATTRS{idVendor}=="1d6b"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 5.15.15-76051515-generic xhci-hcd"
    ATTRS{maxchild}=="6"
    ATTRS{power/active_duration}=="79109820"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="0"
    ATTRS{power/autosuspend_delay_ms}=="0"
    ATTRS{power/connected_duration}=="79170424"
    ATTRS{power/control}=="auto"
    ATTRS{power/level}=="auto"
    ATTRS{power/runtime_active_kids}=="1"
    ATTRS{power/runtime_active_time}=="79109793"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="60609"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="0000:06:00.1"
    ATTRS{speed}=="480"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="78"
    ATTRS{version}==" 2.00"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:06:00.1':
    KERNELS=="0000:06:00.1"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{current_link_speed}=="16.0 GT/s PCIe"
    ATTRS{current_link_width}=="16"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{dbc}=="disabled"
    ATTRS{device}=="0x149c"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="40"
    ATTRS{link/l0s_aspm}=="0"
    ATTRS{link/l1_aspm}=="0"
    ATTRS{local_cpulist}=="0-15"
    ATTRS{local_cpus}=="0000ffff"
    ATTRS{max_link_speed}=="16.0 GT/s PCIe"
    ATTRS{max_link_width}=="16"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/40}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="on"
    ATTRS{power/runtime_active_kids}=="1"
    ATTRS{power/runtime_active_time}=="79170899"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="0"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="0"
    ATTRS{power/wakeup_last_time_ms}=="0"
    ATTRS{power/wakeup_max_time_ms}=="0"
    ATTRS{power/wakeup_total_time_ms}=="0"
    ATTRS{power_state}=="D0"
    ATTRS{revision}=="0x00"
    ATTRS{subsystem_device}=="0x8808"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{vendor}=="0x1022"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0':
    KERNELS=="0000:03:08.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="16.0 GT/s PCIe"
    ATTRS{current_link_width}=="16"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x57a4"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="2"
    ATTRS{irq}=="35"
    ATTRS{local_cpulist}=="0-15"
    ATTRS{local_cpus}=="0000ffff"
    ATTRS{max_link_speed}=="16.0 GT/s PCIe"
    ATTRS{max_link_width}=="16"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/35}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend_delay_ms}=="100"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="3"
    ATTRS{power/runtime_active_time}=="79170904"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{power_state}=="D0"
    ATTRS{reset_method}=="pm"
    ATTRS{revision}=="0x00"
    ATTRS{secondary_bus_number}=="6"
    ATTRS{subordinate_bus_number}=="6"
    ATTRS{subsystem_device}=="0x8808"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{vendor}=="0x1022"

  looking at parent device '/devices/pci0000:00/0000:00:01.2/0000:02:00.0':
    KERNELS=="0000:02:00.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="16.0 GT/s PCIe"
    ATTRS{current_link_width}=="4"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x57ad"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="2"
    ATTRS{irq}=="24"
    ATTRS{link/l1_1_aspm}=="0"
    ATTRS{link/l1_1_pcipm}=="0"
    ATTRS{link/l1_aspm}=="0"
    ATTRS{local_cpulist}=="0-15"
    ATTRS{local_cpus}=="0000ffff"
    ATTRS{max_link_speed}=="16.0 GT/s PCIe"
    ATTRS{max_link_width}=="8"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend_delay_ms}=="100"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="5"
    ATTRS{power/runtime_active_time}=="79170904"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="disabled"
    ATTRS{power/wakeup_abort_count}==""
    ATTRS{power/wakeup_active}==""
    ATTRS{power/wakeup_active_count}==""
    ATTRS{power/wakeup_count}==""
    ATTRS{power/wakeup_expire_count}==""
    ATTRS{power/wakeup_last_time_ms}==""
    ATTRS{power/wakeup_max_time_ms}==""
    ATTRS{power/wakeup_total_time_ms}==""
    ATTRS{power_state}=="D0"
    ATTRS{reset_method}=="pm bus"
    ATTRS{revision}=="0x00"
    ATTRS{secondary_bus_number}=="3"
    ATTRS{subordinate_bus_number}=="8"
    ATTRS{subsystem_device}=="0x0000"
    ATTRS{subsystem_vendor}=="0x0000"
    ATTRS{vendor}=="0x1022"

  looking at parent device '/devices/pci0000:00/0000:00:01.2':
    KERNELS=="0000:00:01.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{aer_rootport_total_err_cor}=="0"
    ATTRS{aer_rootport_total_err_fatal}=="0"
    ATTRS{aer_rootport_total_err_nonfatal}=="0"
    ATTRS{ari_enabled}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x060400"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{current_link_speed}=="16.0 GT/s PCIe"
    ATTRS{current_link_width}=="4"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x1483"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="2"
    ATTRS{irq}=="28"
    ATTRS{local_cpulist}=="0-15"
    ATTRS{local_cpus}=="0000ffff"
    ATTRS{max_link_speed}=="16.0 GT/s PCIe"
    ATTRS{max_link_width}=="8"
    ATTRS{msi_bus}=="1"
    ATTRS{msi_irqs/28}=="msi"
    ATTRS{numa_node}=="-1"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend_delay_ms}=="100"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="1"
    ATTRS{power/runtime_active_time}=="79170908"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="0"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="0"
    ATTRS{power/wakeup_last_time_ms}=="0"
    ATTRS{power/wakeup_max_time_ms}=="0"
    ATTRS{power/wakeup_total_time_ms}=="0"
    ATTRS{power_state}=="D0"
    ATTRS{reset_method}=="pm"
    ATTRS{revision}=="0x00"
    ATTRS{secondary_bus_number}=="2"
    ATTRS{subordinate_bus_number}=="8"
    ATTRS{subsystem_device}=="0x8808"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{vendor}=="0x1022"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="24"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{waiting_for_supplier}=="0"

@smcv
Copy link

smcv commented Feb 3, 2022

this is the difference of running ~/.steam/root/ubuntu12_32/steam-runtime/run.sh steam-runtime-input-monitor when unplugging and plugging the device

Thanks.

The input device monitor identifies it as "read-write", so Steam will be able to access this device node. Modifying the udev rules for this device is not necessary: it already has the correct permissions.

As I suspected, this does not seem to be a HID device, so a KERNEL=="hidraw*" rule will not help you either. I don't know why Steam is not detecting it, but the udev rules are not the problem.

@slouken: does SDL or Steam perhaps need a device table entry for this controller?

Or could SDL or Steam perhaps do this programmatically, and assume that all devices with the xpad driver and all the expected axes and buttons are broadly Xbox-compatible for detection and mapping purposes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants