linux icon indicating copy to clipboard operation
linux copied to clipboard

Nintendo Switch Online N64 Controller doesn't work with linux kernel 6.8

Open duleell opened this issue 1 year ago • 0 comments

OS: ubuntu 24.04 with kernel 6.8.0-31

$ bluetoothctl

Agent registeredct to bluetoothd...[bluetooth]# N64 Controller [N64 Controller]# info Device ... (public) Name: N64 Controller Alias: N64 Controller Class: 0x00002508 (9480) Icon: input-gaming Paired: yes Bonded: yes Trusted: no Blocked: no Connected: yes WakeAllowed: yes LegacyPairing: no UUID: Service Discovery Serve.. (00001000-0000-1000-8000-00805f9b34fb) UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) Modalias: usb:v057Ep2019d0001

$ modinfo hid-nintendo

filename: /lib/modules/6.8.0-31-generic/kernel/drivers/hid/hid-nintendo.ko.zst description: Driver for Nintendo Switch Controllers author: Daniel J. Ogorchock [email protected] author: Emily Strickland [email protected] author: Ryan McClelland [email protected] license: GPL srcversion: 68AFB8BC216FA1ECC2AA9B7 alias: hid:b0005gv0000057Ep00002019 alias: hid:b0005gv0000057Ep0000201E alias: hid:b0005gv0000057Ep00002017 alias: hid:b0005gv0000057Ep00002007 alias: hid:b0005gv0000057Ep00002006 alias: hid:b0003gv0000057Ep0000200E alias: hid:b0005gv0000057Ep00002009 alias: hid:b0003gv0000057Ep00002019 alias: hid:b0003gv0000057Ep0000201E alias: hid:b0003gv0000057Ep00002017 alias: hid:b0003g*v0000057Ep00002009 depends: ff-memless,hid retpoline: Y intree: Y name: hid_nintendo vermagic: 6.8.0-31-generic SMP preempt mod_unload modversions sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: ... sig_hashalgo: sha512 signature: ...

$ lsmod |grep nintendo

hid_nintendo 53248 0 ff_memless 24576 1 hid_nintendo hid 184320 7 hid_nintendo,i2c_hid,hidp,usbhid,hid_multitouch,hid_generic,uhid

$ cat /usr/lib/udev/rules.d/89-joycond.rules

Keep steam from accessing hidraw for pro controller

Nintendo Switch Pro Controller over USB hidraw

KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0600", TAG-="uaccess", RUN+="/bin/setfacl -b /dev/%k"

Nintendo Switch Pro Controller over bluetooth hidraw

KERNEL=="hidraw*", KERNELS=="057E:2009", MODE="0600", TAG-="uaccess", RUN+="/bin/setfacl -b /dev/%k"

ACTION!="add", GOTO="joycond_end" SUBSYSTEM!="input", GOTO="joycond_end" KERNEL!="event*", GOTO="joycond_end" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="2009", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="2006", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="2007", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="200e", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="2017", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600" ATTRS{id/vendor}=="057e", ATTRS{id/product}=="2019", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600"

LABEL="joycond_end"

evtest doesn't show the event of the controller and jstest shows nothing.

$ jstest-gtk Screenshot from 2024-04-22 17-51-06

duleell avatar Apr 22 '24 10:04 duleell