# USB gaming mouse doesnt work !

## Moopie

Hello everyone,

i have recently install Gentoo on my computer. Before, this computer worked with Funtoo.

I installed Gentoo, xorg, i3-wm.

When i launch xorg, my mouse doesnt work, freezed ! But when i plug another mouse, the second one work !

Really strange..

On my make.conf i wrote INPUT_DEVICES="evdev"

My xorg.conf :

```

Section "ServerLayout"

   Identifier     "aticonfig Layout"

   Screen      0  "aticonfig-Screen[0]-0" 0 0

EndSection

Section "Module"

EndSection

Section "Monitor"

   Identifier   "aticonfig-Monitor[0]-0"

   Option       "VendorName" "ATI Proprietary Driver"

   Option       "ModelName" "Generic Autodetecting Monitor"

   Option       "DPMS" "true"

EndSection

Section "Device"

   Identifier  "aticonfig-Device[0]-0"

   Driver      "fglrx"

   BusID       "PCI:1:0:0"

EndSection

Section "Screen"

   Identifier "aticonfig-Screen[0]-0"

   Device     "aticonfig-Device[0]-0"

   Monitor    "aticonfig-Monitor[0]-0"

   DefaultDepth     24

   SubSection "Display"

      Viewport   0 0

      Depth     24

   EndSubSection

EndSection

# Catch-all evdev loader for udev-based systems

# We don't simply match on any device since that also adds accelerometers

# and other devices that we don't really want to use. The list below

# matches everything but joysticks.

Section "InputClass"

        Identifier "evdev pointer catchall"

        MatchIsPointer "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

EndSection

Section "InputClass"

        Identifier "evdev keyboard catchall"

        MatchIsKeyboard "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

   Option "xkb_layout" "fr"

EndSection

Section "InputClass"

        Identifier "evdev touchpad catchall"

        MatchIsTouchpad "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

EndSection

Section "InputClass"

        Identifier "evdev tablet catchall"

        MatchIsTablet "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

EndSection

Section "InputClass"

        Identifier "evdev touchscreen catchall"

        MatchIsTouchscreen "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

EndSection

```

My /etc/conf.d/modules :

```

# You can define a list modules for a specific kernel version,

# a released kernel version, a main kernel version or just a list.

# The most specific versioned variable will take precedence.

#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"

#modules_2_6_23="tun ieee1394"

#modules_2_6="tun"

#modules_2="ipv6"

#modules="ohci1394"

# You can give modules a different name when they load - the new name

# will also be used to pick arguments below.

#modules="dummy:dummy1"

# Give the modules some arguments if needed, per version if necessary.

# Again, the most specific versioned variable will take precedence.

#module_ieee1394_args="debug"

#module_ieee1394_args_2_6_23_gentoo_r5="debug2"

#module_ieee1394_args_2_6_23="debug3"

#module_ieee1394_args_2_6="debug4"

#module_ieee1394_args_2="debug5"

# You should consult your kernel documentation and configuration

# for a list of modules and their options.

# ACPI

module_button="button"

module_video="video"

module_fan="fan"

module_processor="processor"

module_thermal="thermal"

## NET

module_cfg80211="cfg80211"

module_ath9k="ath9k"

module_ath9k_htc="ath9k_htc"

module_ath10k="ath10k"

module_realtek_r8169="r8169"

## INTEL MICROCODE

module_microcode="microcode"

## JOYSTICK

module_xbox_pad="xpad"

modules_joystick="joydev"

## USB

module_storage="usb_storage"

#module_mouse="mousedev"

module_usbcore="usbcore"

module_hid_generic="hid-generic"

module_evdev="evdev"

# You can define a list modules for a specific kernel version,

# a released kernel version, a main kernel version or just a list.

# The most specific versioned variable will take precedence.

#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"

#modules_2_6_23="tun ieee1394"

#modules_2_6="tun"

#modules_2="ipv6"

#modules="ohci1394"

# You can give modules a different name when they load - the new name

# will also be used to pick arguments below.

#modules="dummy:dummy1"

# Give the modules some arguments if needed, per version if necessary.

# Again, the most specific versioned variable will take precedence.

#module_ieee1394_args="debug"

#module_ieee1394_args_2_6_23_gentoo_r5="debug2"

#module_ieee1394_args_2_6_23="debug3"

#module_ieee1394_args_2_6="debug4"

#module_ieee1394_args_2="debug5"

# You should consult your kernel documentation and configuration

# for a list of modules and their options.

# ACPI

module_button="button"

module_video="video"

module_fan="fan"

module_processor="processor"

module_thermal="thermal"

## NET

module_cfg80211="cfg80211"

module_ath9k="ath9k"

module_ath9k_htc="ath9k_htc"

module_ath10k="ath10k"

module_realtek_r8169="r8169"

## INTEL MICROCODE

module_microcode="microcode"

## JOYSTICK

module_xbox_pad="xpad"

modules_joystick="joydev"

## USB

module_storage="usb_storage"

#module_mouse="mousedev"

module_usbcore="usbcore"

module_hid_generic="hid-generic"

module_evdev="evdev"

```

Mouses are recognized :

lsud :

```

localhost antoine # lsusb

Bus 002 Device 002: ID 8087:8000 Intel Corp. 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:8008 Intel Corp. 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 003: ID 04d9:a070 Holtek Semiconductor, Inc. 

Bus 003 Device 002: ID 192f:0916 Avago Technologies, Pte. 

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

dmesg for the mouse which work bad :

```

[ 3[ 3490.196520] usb 3-12: new full-speed USB device number 5 using xhci_hcd

[ 3490.342735] usb 3-12: New USB device found, idVendor=04d9, idProduct=a070

[ 3490.342737] usb 3-12: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[ 3490.342738] usb 3-12: Product: USB Gaming Mouse

[ 3490.342739] usb 3-12: Manufacturer: Holtek

490.196520] usb 3-12: new full-speed USB device number 5 using xhci_hcd

[ 3490.342735] usb 3-12: New USB device found, idVendor=04d9, idProduct=a070

[ 3490.342737] usb 3-12: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[ 3490.342738] usb 3-12: Product: USB Gaming Mouse

[ 3490.342739] usb 3-12: Manufacturer: Holtek

```

dmesg for the mouse wich work :

```

[ 3345.146661] usb 3-11: new low-speed USB device number 4 using xhci_hcd

[ 3345.289510] usb 3-11: New USB device found, idVendor=192f, idProduct=0916

[ 3345.289511] usb 3-11: New USB device strings: Mfr=0, Product=2, SerialNumber=0

[ 3345.289513] usb 3-11: Product: USB Optical Mouse

[ 3345.289649] usb 3-11: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes

[ 3345.291556] input: USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-11/3-11:1.0/0003:192F:0916.0005/input/input5

[ 3345.291702] hid-generic 0003:192F:0916.0005: input,hidraw0: USB HID v1.11 Mouse [USB Optical Mouse] on usb-0000:00:14.0-11/input0

```

Thanks for help   :Very Happy: 

----------

## BradN

If you "cat /dev/input/mice" and move the mouse, you can check if the kernel is processing its mouse events correctly.

If it is, the problem lies upward in the software stack, if it's not working there, it's a kernel issue.

Unfortunately that's about the best advice I can give  :Sad: 

----------

## Moopie

It 's work when i moove the second mouse but not the first mouse =(

What is the good kernel configuration for usb devises ?

----------

## BradN

I'm not sure offhand for that mouse, but at least you know what direction to look in!  Try googling some info about using that mouse in linux - maybe there is a trick involved.

----------

## jburns

Did you select HID_HOLTEK when you configured the kernel?

----------

## Moopie

 *jburns wrote:*   

> Did you select HID_HOLTEK when you configured the kernel?

 

That is the problem.

Thank a lot   :Cool: 

----------

