# USB Mouse (followed HOW-TO) almost there

## eyevee99

I have a new Rev.3.0 USB Microsoft Intellimouse Optical.

I have been following the x setup tutorial at IBM and the USB Mouse HOW-To here, and at linux-usb.org http://www.linux-usb.org/USB-guide/x194.html.

I have all the items indicated in these tutorials compiled directly into the kernel.  I also have the USB Input Layer compiled in.

I am at the stage where x loads in a very prelim stage, no terminal, no window manager etc.  ie the first test load of XFree86.

The only issue I'm having is the mouse.

```
Section "InputDevice"

     Identifier  "Mouse0"

     Driver      "mouse"

     Option      "Protocol"   "IMPS/2"

     Option      "Device"     "/dev/input/mice"

     Option      "ZAxisMapping"   "4 5"

     Option      "Buttons"        "5"

EndSection
```

/proc/bus/usb/devices shows that the mouse is correctly detected

X loads but the mouse doesn't respond.

if I change the Device to "/dev/usb/hid/hiddev0" the mouse moves, but not correctly it only moves very slowly on the y axis and only down.  Pressing buttons makes it jump to edges of screen.

The mouse is functioning correctly in windows.

"cat /dev/input/mice" results in nothing when the mouse is moved etc

"cat /dev/usb/hid/hiddev0" results in a screen full of rubish, as expected, when the mouse is moved.

Any ideas?

thanks

:)

I'm also havin NVidia driver troubles https://forums.gentoo.org/viewtopic.php?t=1183&highlight=

----------

## mglauche

It seems that the mousedev module is missing, i did compile everything as modules (easier to fix something if you forget to compile it  :Wink:  :

```

mousedev                3872   1

usbmouse                1792   0  (unused)

hid                    12576   0  (unused)

input                   3392   0  [mousedev usbmouse hid]

```

and kernel tells me:

```

usb.c: registered new driver hid

input0: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse® Explorer] on usb1:2.0

hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>

hid-core.c: USB HID support drivers

usb.c: registered new driver usb_mouse

usbmouse.c: v1.6:USB HID Boot Protocol mouse driver

devfs_register(mice): could not append to parent, err: -17

mice: PS/2 mouse device common for all mice

```

XFconfig looks like:

```

Section "InputDevice"

        Identifier      "Mouse0"

        # Modified by mouseconfig

        Driver          "mouse"

        Option          "Device"                "/dev/input/mice"

        Option          "Protocol"              "IMPS/2"

        Option          "Emulate3Buttons"       "no"

        Option          "ZAxisMapping"          "4 5"

EndSection

```

everything works fine with this settings here, hope it helps.

----------

## eyevee99

Ok I recompiled as modules

I have failure trying to load input and usb-uhci

the errors from dmesg are (section of dmesg from input to usb):

```
input: unable to register char major 13<3>devfs_register(mice): could not append to parent, err: -17

mice: PS/2 mouse device common for all mice

devfs_mk_dir(hid): using old entry in dir: f7cb95c0 "usb"

usb.c: error registering hiddev driver

...

...

devfs_register(1): could not append to parent, err: -17

devfs_register(a1): could not append to parent, err: -17

devfs_register(1): could not append to parent, err: -17

devfs_register(a1): could not append to parent, err: -17

devfs_register(1): could not append to parent, err: -17

devfs_register(a1): could not append to parent, err: -17
```

XF86config input section:

```
Identifier  "Mouse0" 

    Driver      "mouse" 

    Option "Protocol"    "IMPS/2" 

    Option "Device"      "/dev/input/mice" 

    Option "ZAxisMapping"       "4 5"

    Option "Buttons" "5"
```

modules.autoload:

```
tulip

      input

      mousedev

      hid

      usb-uhci
```

My kernel also has HID input layer and /dev/hiddev support compiled in (as you don't appear to be able to make them modules).  These may be built in to the module not the kernel as they appear to be subsections of USb Full HID support.

any ideas?

thanks.

:)Last edited by eyevee99 on Wed May 01, 2002 10:45 pm; edited 1 time in total

----------

## eyevee99

if I comment all the modules in modules.autoload, usb stuff still loads at boot

----------

## AutoBot

Try /dev/input/mouse0 and see what that gets you.

----------

## eyevee99

/dev/input/mouse0 doesn't appear to exist, it's not listed in /dev/input/

Underlying problem?

----------

## AutoBot

Hum could be here is mine:

```

autobot@optimus-prime autobot $ ls /dev/input

event0  event1  event2  mice  mouse0  mouse1

```

----------

## eyevee99

mine has only 'mice'

----------

## eyevee99

Well I've tried everyting

I've compiled into the kernel, I've compiled modules, I've compiled a Mix, I've added every option I can find for Mice/Use/Input

There are options in Input Core Support, USB Supprt, and Character Support.

NOTHING works.

My /dev/input never has anything in it except "mice" and that does nothing.  No movement at all in X

The only thing that get to the mouse is /dev/usb/hid/hiddev0, but the doesn't work correctly (see above)

Someone must know!?  This can't be that hard.

Any requests for info?

Any ideas?

Thanks.

----------

## sawsedge

Here is what worked for me.

First, I did compile every piece directly into the kernel.  input, mousedev, usb-core, uhci-usb, and hid.

The crazy thing that got me on my first attempt was that the make menuconfig defaulted to the *alternate* uhci driver.  I did not notice at first, because only one of the two is displayed at once. I have a BX board, and the alternate driver does not work.  Unselect the UHCI alternate driver, then select the other one (I'm assuming you have an Intel-based mainboard? Not sure if I saw that info in the thread).

Also, do you have devfs compiled?

Once I had everything above, XF86Config just needed the IMPS/2 protocol, and device /dev/input/mice  (mouse0 should also work).

HTH!

----------

## eyevee99

Thanks for the reply.  I've got it working...

see "infuriating" for the reason why.

;)

----------

