# xboxdrv as regular user

## KLarsen

I recently bought an Xbox 360 wireless controller for Windows, and am using xboxdrv for it as the kernel driver doesn't work for me. However, the controller only works as root, not as regular user, even though I have added my user to the uinput group as indicated in the howto on this forum. 

```
groups

wheel audio cdrom video usb users plugdev uinput
```

When I run xboxdrv as my regular user, this is the error I get: 

```
xboxdrv 0.8.4 - http://pingus.seul.org/~grumbel/xboxdrv/ 

Copyright Â© 2008-2011 Ingo Ruhnke <grumbel@gmx.de> 

Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 

This program comes with ABSOLUTELY NO WARRANTY. 

This is free software, and you are welcome to redistribute it under certain 

conditions; see the file COPYING for details. 

Controller:        Microsoft Xbox 360 Wireless Controller (PC)

Vendor/Product:    045e:0719

USB Path:          002:005

Wireless Port:     0

Controller Type:   Xbox360 (wireless)

libusb: 0.000000 warning [libusb_close] internal signalling read failed, closing anyway

libusb: 0.000022 error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know

libusb: 0.000027 warning [do_close] A cancellation for an in-flight transfer hasn't completed but closing the device handle

libusb: 0.000032 error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know

libusb: 0.000036 error [do_close] A cancellation hasn't even been scheduled on the transfer for which the device is closing
```

According to a post on another forum, one way around this is to add the user to the root group, but obviously I'm not going to do that. Is there anyone who can point me in the right direction to solve this?

----------

## Hu

If membership in the root group is a solution, then the problem is likely that the permissions on the device node do not allow Other access, and have a User and Group of root:root.  If this is correct, then changing the group of the device node to uinput would likely fix your problem.

----------

## KLarsen

How do I check the device node? When the controller is running (as root), I get /dev/input/js0 and /dev/input/event4, both of which are root:root. I've tried changing it to root:uinput, but as soon as I stop and restart xboxdrv, they are back to root:root. Where do I find and edit the rules?

----------

## KLarsen

By googling around I was able to create a udev rule for the controller, which is now consistently root:uinput if I start xboxdrv as root. However, it still gives the same error as above if I try to start it as regular user, meaning it must be due to something else... 

This is what dmesg and /var/log/messages contain: 

```
[  549.026311] ehci_hcd 0000:00:1d.0: reused qh ffff8802159c3b00 schedule

[  549.026314] usb 2-1.5: link qh8-0601/ffff8802159c3b00 start 5 [3/1 us]

[  549.026534] usb 2-1.5: unlink qh1-3008/ffff8802159c3d00 start 0 [1/3 us]

[  549.026948] usb 2-1.5: unlink qh8-0601/ffff8802159c3b00 start 5 [3/1 us]
```

```
Feb  5 12:39:28 unicorn kernel: [  549.026311] ehci_hcd 0000:00:1d.0: reused qh ffff8802159c3b00 schedule

Feb  5 12:39:28 unicorn kernel: [  549.026314] usb 2-1.5: link qh8-0601/ffff8802159c3b00 start 5 [3/1 us]

Feb  5 12:39:28 unicorn kernel: [  549.026534] usb 2-1.5: unlink qh1-3008/ffff8802159c3d00 start 0 [1/3 us]

Feb  5 12:39:28 unicorn kernel: [  549.026948] usb 2-1.5: unlink qh8-0601/ffff8802159c3b00 start 5 [3/1 us]

```

----------

