# no joystick device node

## nibblebot

I'm trying to get my gravis gamepad pro to work.

My problem is that the device nodes do not show up automatically in /dev or /dev/input

I consulted the kernel docs for joysticks and attempted to create the nodes myself using the following code:

```
cd /dev

rm js*

mkdir input

mknod input/js0 c 13 0

mknod input/js1 c 13 1

mknod input/js2 c 13 2

mknod input/js3 c 13 3

ln -s input/js0 js0

ln -s input/js1 js1

ln -s input/js2 js2

ln -s input/js3 js3

```

However when I attempt to access the device, I get no response:

```

# jstest js0

jstest: No such device

# cat js0

cat: js0: No such device

```

relevant installed packages:

```
[ebuild   R   ] sys-apps/hal-0.5.7.1-r5  USE="crypt -acpi -debug -dmi -doc -pcmcia (-selinux)" 1,468 kB

[ebuild   R   ] sys-apps/ivman-0.6.13  USE="-debug" 310 kB

[ebuild   R   ] sys-apps/pmount-0.9.13  USE="crypt hal" 406 kB

[ebuild   R   ] sys-apps/hotplug-20040923-r2  44 kB

[ebuild   R   ] sys-fs/udev-104-r12  USE="(-selinux)" 184 kB

[ebuild   R   ] games-util/joystick-20060731  USE="sdl" 0 kB

[ebuild   R   ] media-libs/libjsw-1.5.6  USE="gtk" 0 kB

```

relevant dmesg output:

```
usb 2-1: new low speed USB device using uhci_hcd and address 6

usb 2-1: configuration #1 chosen from 1 choice

input: Gravis GamePad Pro USB  as /class/input/input6

input: USB HID v1.00 Gamepad [Gravis GamePad Pro USB ] on usb-0000:00:1d.0-1

```

relevant lsusb output:

```
Bus 002 Device 006: ID 0428:4001 Advanced Gravis Computer Tech, Ltd GamePad Pro
```

relevant .config:

```

CONFIG_INPUT_JOYSTICK=y

...

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

CONFIG_USB_MON=y

```

I am all out of troubleshooting ideas. Can someone help me out?

Thanks in advance.

----------

## yabbadabbadont

 *Quote:*   

> Bus 002 Device 006

 

Does the device that corresponds to that show up in /dev/bus/usb ?  With it plugged in, what is the output of "ls -lR /dev/bus/usb"?

----------

## nibblebot

```
$ ls -lR /dev/bus/usb

/dev/bus/usb:

total 0

drwxr-xr-x 2 root root  60 Mar 28 20:19 001

drwxr-xr-x 2 root root  80 Mar 29 14:09 002

drwxr-xr-x 2 root root 100 Mar 28 20:19 003

drwxr-xr-x 2 root root  60 Mar 28 20:19 004

/dev/bus/usb/001:

total 0

crw-rw-r-- 1 root usb 189, 0 Mar 28 20:19 001

/dev/bus/usb/002:

total 0

crw-rw-r-- 1 root usb 189, 128 Mar 28 20:19 001

crw-rw-r-- 1 root usb 189, 133 Mar 29 14:09 006

/dev/bus/usb/003:

total 0

crw-rw-r-- 1 root usb 189, 256 Mar 28 20:19 001

crw-rw-r-- 1 root usb 189, 257 Mar 28 20:19 002

crw-rw-r-- 1 root usb 189, 258 Mar 28 20:19 003

/dev/bus/usb/004:

total 0

crw-rw-r-- 1 root usb 189, 384 Mar 28 20:19 001

```

```
# jstest /dev/bus/usb/002/006

Driver version is 0.8.0.

Joystick (Unknown) has 2 axes ( axismap never defined )

and 2 buttons ( buttonmap never defined ).

Testing ... (interrupt to exit)

Axes: X:857866496 Y:-2130376960 Buttons: A:on  B:off

jstest: error reading: Operation not permitted
```

```
$ jscalibrator

Failed to set joystick /dev/bus/usb/002/006 correction values: Operation not permitted

...

```

What could this mean?

----------

## yabbadabbadont

Is your user a member of the usb group?  Run "id username" to find out.  If not, use "gpsasswd -a username usb" to add yourself to the usb group.  You will then need to log out and back in for it to take affect.

Edit: Never mind.  I see that you got the error as root too.    :Confused: 

----------

## nibblebot

what am i to do now?

----------

## dtor

To access /dev/input/jsX devices you need to load joydev module (CONFIG_INPUT_JOYDEV).

----------

