atar-axis / xpadneo

Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)
https://atar-axis.github.io/xpadneo/
GNU General Public License v3.0
2.01k stars 113 forks source link

Run 'modprobe hid_xpadneo' after every boot #179

Closed jefersonnavarro closed 4 years ago

jefersonnavarro commented 4 years ago

The driver seems to work fine, but every time the computer is started I must run 'modprobe hid_xpadneo' to get it to work.

What are the alternatives to make it work since boot ?

jefersonnavarro commented 4 years ago

I found the reason.

The udev man page ( man udev ) says:

RUN{type} Add a program to the list of programs to be executed after processing all the rules for a specific event, depending on "type": "program" Execute an external program specified as the assigned value. If no absolute path is given, the program is expected to live in /usr/lib/udev; otherwise, the absolute path must be specified.

In the file /etc/udev/rules.d/99-xpadneo.rules there is not the path to modprobe:

RUN:="/bin/sh -c 'echo xpadneo udev: $kernel > /dev/kmsg; modprobe hid_xpadneo; echo $kernel > /sys/bus/hid/drivers/hid-generic/unbind; echo $kernel > /sys/bus/hid/drivers/microsoft/unbind; echo $kernel > /sys/bus/hid/drivers/xpadneo/bind; echo xpadneo udev: ok > /dev/kmsg'"

I do not know if every distribution puts modprobe in the same folder, but mine is in /usr/sbin/

which modprobe /usr/sbin/modprobe

I edited the file, adding the folder and then it just worked.

kakra commented 4 years ago

Closing as duplicate of #167