# USB mouse loaded but no /dev/input/mice output

## paul167

Hi everyone,

I've been trying to beat this all afternoon, googling all over the place... I need some help now.

I'm running a gentoo with 3 usb devices; my wireless intellimouse explorer, a pen drive and a casio ex-s100 digital camera.

Until yesterday, only the mouse worked, I wasn't getting any dmesg / log feedback for other devices plugging in (I had never tried to ude them before). I figured out it was because I had compiled the wrong Host Controller in the kernel. I had UHCI Alternate and I changed to OHCI because I have a SiS chipset.

As I did that I aslo compiled Preliminary USB Device Filesystem, USB Full HID support and Input Core Mouse Support.

Now that I have OHCI, all my devices show up in dmesg and the logs when I plug/unplug them. I've tested the pendrive and the camera and they work fine.

My mouse though, also shows up in dmesg and the kernel log but it doesn't work with Xorg anymore (it did back when I still had UHCI Alternate compiled in the kernel).

I believe the device is supposed to be /dev/input/mice, but it doesn't output anything when I cat /dev/input/mice and wiggle the mouse, neither with /dev/mouse. It's completely dead in Xorg and I've runned out of ideas on what to try.

Any tips would be gratly appreciated !

Here are some of my outputs:

extract of cat /proc/bus/usb/devices:

I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0

D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=045e ProdID=0059 Rev= 0.16

S: Manufacturer=Microsoft

S: Product=Microsoft Wireless Intellimouse Explorer® 1.0A

/var/log/kernel/current when I unplug/plug the mouse:

Feb 14 20:17:57 [kernel] usb.c: USB disconnect on device 00:03.0-1 address 2

Feb 14 20:18:03 [kernel] hub.c: new USB device 00:03.0-1, assigned address 3

Feb 14 20:18:03 [kernel] : USB HID v1.10 Mouse [Microsoft Microsoft Wireless Intellimouse Explorer® 1.0A] on usb1:3.0

extract of dmesg:

hub.c: new USB device 00:03.0-1, assigned address 2

: USB HID v1.10 Mouse [Microsoft Microsoft Wireless Intellimouse Explorer® 1.0A] on usb1:2.0

reiserfs: checking transaction log (device ide0(3,4)) ...

for (ide0(3,4))

ide0(3,4):Using r5 hash to sort names

VFS: Mounted root (reiserfs filesystem) readonly.

Mounted devfs on /dev

Freeing unused kernel memory: 124k freed

hub.c: new USB device 00:03.1-3, assigned address 2

hub.c: USB hub found

hub.c: 2 ports detected

the beginning of my xorg.conf:

Section "ServerLayout"

Identifier "X.org Configured"

Screen 0 "Screen0" 0 0

InputDevice "Mouse0" "CorePointer"

InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

RgbPath "/usr/X11R6/lib/X11/rgb"

ModulePath "/usr/X11R6/lib/modules"

FontPath "/usr/share/fonts/misc/"

FontPath "/usr/share/fonts/TTF/"

FontPath "/usr/share/fonts/Speedo/"

FontPath "/usr/share/fonts/Type1/"

FontPath "/usr/share/fonts/CID/"

FontPath "/usr/share/fonts/75dpi/"

FontPath "/usr/share/fonts/100dpi/"

EndSection

Section "Module"

Load "record"

Load "extmod"

Load "dbe"

Load "glx"

Load "xtrap"

Load "freetype"

Load "type1"

Load "speedo"

EndSection

Section "InputDevice"

Identifier "Keyboard0"

Driver "keyboard"

EndSection

Section "InputDevice"

Identifier "Mouse0"

Driver "mouse"

Option "Protocol" "IMPS/2"

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

# Option "Buttons" "7"

# Option "ZAxisMapping" "6 7"

EndSection

Some of the Output of my Xorg server:

(II) Initializing extension GLX

(**) Option "Protocol" "IMPS/2"

(**) Mouse0: Device: "/dev/input/mice"

(**) Mouse0: Protocol: "IMPS/2"

(**) Option "CorePointer"

(**) Mouse0: Core Pointer

(**) Option "Device" "/dev/input/mice"

(==) Mouse0: Emulate3Buttons, Emulate3Timeout: 50

(==) Mouse0: Buttons: 3

(**) Mouse0: SmartScroll: 1

(II) Keyboard "Keyboard0" handled by legacy driver

(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)

(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)

(II) Mouse0: ps2EnableDataReporting: succeeded

Could not init font path element /usr/share/fonts/CID/, removing from list!

GetModeLine - scrn: 0 clock: 108000

GetModeLine - hdsp: 1280 hbeg: 1328 hend: 1440 httl: 1688

vdsp: 1024 vbeg: 1025 vend: 1028 vttl: 1066 flags: 5

f1x root # ls -l /dev/input/

total 0

crw-r--r-- 1 root root 13, 63 Jan 1 1970 mice

As I said, /dev/input/mice and /dev/mouse stay completely silent on 'cat'.

If you need anything more, let me know.

Any thoughts ?

Thanks

----------

## infecticide

When I compiled my kernel I builtin all three USB controller types, why I don't know but you might want to try that, you may have more than one kind.

----------

## paul167

I dunno, the usb support seems to work fine.

Well I've narrowed it down a little bit;

The usb mouse works great on /dev/mouse (which links to /dev/psaux) WITHOUT any usb controller support loaded (neither in the kernel or as module).

When I load OHCI as module for example, everything looks good in dmesg and the kernel log but I can't get the mouse to work.

/dev/input/mice stays silent, so does /dev/mouse.

What other Device might I use for my usb mouse ? Or how do I find out what the right one is ?

----------

## krosswindz

I use the microsoft desktop pro using its usb interface. I dont have any problems. I compile most if not all of my device drivers as modules. I have the following modules loaded.

usbcore

uhci_hcd (I have a via motherboard)

ehci_hcd

usbhid

I get /dev/input/mice

I dont know if this helps or not.

----------

## c0bblers

Hi,

If you have USB2 (which I'm pretty sure you do) you need to compile in BOTH usb 1 and usb 2 support.  EHCI gives you usb 2 support (for mass storage and high speed stuff) and UHCI/OHCI (which is dependent on your system) give you usb 1 support (mice, keyboard, other low speed stuff). If you have ehci and one of the others installed and no mouse, try the alternative.  If that still doesn't work something odd is happening.  BTW the reason the mouse worked with no usb is probably because you have legacy mouse/keyboard support enabled in you bios settings, which sets the usb devices to emulate ps2 devices.

Cheers,

James

----------

## paul167

thanks for your help,

I compiled ehci as a module and tried loading it, it loads fine.

But I still can't get any feedback from my mouse on /dev/input/mice or /dev/mouse... 

I'm kinda lost ?!

Anyhow at least now I know why it works without usb support, which is good.

Anymore thougts ? Or maybe you can suggest a mailing-list or something I shoud turn to ?

----------

## c0bblers

Hi,

Ok, looking at your log I can't really see why it's not working (at least from this el'cacko work XP machine) though I think I get more stuff in my log when I plug in a mouse I'm not entirely sure since I need to compare to my log really.  How are you creating devices? (udev/devfs)  Do you have hotplug installed?  You might want to look through /sys to check that the mouse is in there properly.  I can be more helpful when I get home and have access to my linux box.

EDIT: When you say you can't get any feedback on /dev/input/mice, is the device actually there?

Cheers,

James

----------

## paul167

Yes, /dev/input/mice is there but I say I get no feedback because I think if it was the right device, it would be supposed to output some weird characters when I cat it and wiggle the mouse.

At least thats what my /dev/psaux does when I have usb disabled.

I don't know much about creating devices, they pretty much show up when I load the modules but i'm guessing it has something to do with those entries in /etc/devfsd.conf:

# Create /dev/mouse

LOOKUP          ^mouse$          CFUNCTION GLOBAL mksymlink misc/psaux mouse

REGISTER        ^misc/psaux$     CFUNCTION GLOBAL mksymlink $devname mouse

UNREGISTER      ^misc/psaux$     CFUNCTION GLOBAL unlink mouse

# Manage USB mouse

REGISTER        ^input/mouse0$   CFUNCTION GLOBAL mksymlink $devname usbmouse

UNREGISTER      ^input/mouse0$   CFUNCTION GLOBAL unlink usbmouse

REGISTER        ^input/mice$     CFUNCTION GLOBAL mksymlink $devname usbmouse

UNREGISTER      ^input/mice$     CFUNCTION GLOBAL unlink usbmouse

Tell me what you wanna know more.

I do have hotplug, I tried enabling / disabling it, but I'm not sure how hotplug affects my usb mouse ? Aren't all the mouse drivers supposed to be in the kernel and / or as modules ? As far as I understand, hotplug loads appropriate modules when there's usb activity. But the only modules I have right now are usb-ohci and also ehci, the rest (Full HID, usb devfs, Input Core Mouse) being compiled in the kernel.

Actually my /sys is pretty much empty:

f1x sys # ls -al

total 1

drwxr-xr-x   2 root root  72 Jul 18  2004 .

drwxr-xr-x  18 root root 408 Nov 15 10:19 ..

-rw-r--r--   1 root root   0 Jul 19  2004 .keep

Is that a problem ? Do I need to compile something more to get the /sys filsystem ?

Anyway, thanks for helping !

----------

## c0bblers

/sys is empty?  I do hope you're using a 2.4 kernel else something is pretty weird there.  If so I've never tried getting a usb mouse to work with 2.4...come the think of it I've never used USB with devfs either, only udev.  Checking what's in sys is one of the best things about the 2.6 series and udev since udev just monitors sys and creates devices accordingly.  If devfs is creating the device I'm not sure why it isn't working....what kernel are you using?

Cheers,

James

----------

## paul167

Yes, I'm using 2.4.26-gentoo-r9. But USB worked well before the 2.6 (and 2.4) or am I wrong ?

Do you suggest I switch to 2.6 ?

----------

## c0bblers

 *paul167 wrote:*   

> Yes, I'm using 2.4.26-gentoo-r9. But USB worked well before the 2.6 (and 2.4) or am I wrong ?
> 
> Do you suggest I switch to 2.6 ?

 

Yeah it should work fine really, odd.  As a last gasp effort, as long as you're not using a USB keyboard you could try disabling USB legacy support in your bios...but first you might also want to try compiling everything usb and mouse related as modules, make sure you have hotplug merged, boot the kernel and then insert the mouse.  If that still doesn't work....maybe a 2.6 kernel would be an idea to try...or even a different 2.4 kernel.

Cheers,

James

----------

## paul167

I just got it to work...

After migrating to 2.6.10 rather (for my standards  :Smile:  painlessly I was in the the same situation than before...

Then my instinct told me to enable HID Input Layer Support which I did, and now it works.

I have the weird feeling like I just missed that option all along and that I went trough a world of trouble for nothing  :Smile: 

Well anyhow, you helped a lot, I appreciate it !

Maybe one more thing while I'm at it;

Ever since I changed to 2.6.10 I can't seem to mount my fat partitions anymore I just get the following error:

f1x mnt # mount -t vfat /dev/hda1 /mnt/hda1/

mount: wrong fs type, bad option, bad superblock on /dev/hda1,

       or too many mounted file systems

Which doesn't speak much to me ? I checked that vfat is compiled in the kernel and it is, I have no idea why it no longer works ?

It has something to do with the new kernel, but what ?

cheers

paul

----------

