# 2.6.x + mouse wheel = no :(

## Shades3D

Okay so, situation:

I threw gentoo onto my Toshiba laptop after awhile of having windows on it (I had 2.4.x on it before, mousewheel worked fine). I decided to try out the 2.6.x branch of kernels due to the integrated Alsa support et al. I have all USB stuff I need compiled into the kernel, along with mouse support in the Input Devices area.

However, cat /dev/input/mouse0 or cat /dev/input/mice will not output any garbage when using the scroll wheel, whether its scrolling or clicking. I've tried USB and PS/2 with no luck. I've tried vanilla 2.6.4-rc1, 2.6.6, 2.6.5, 2.6.5-gentoo, all have the same problem. Perhaps this is a conflict with Toshiba laptops and the 2.6.x kernel tree?

Any suggestions?

----------

## NeddySeagoon

Shades3D,

Build the USB items as modules - diagnostics are much easier.

Post the USB section of your kernel config file after you have built and tested with modules. Also post the relevant pointer section from XF86Config.

Are you trying to operate with two pointer devices at the same time?

----------

## Shades3D

I have a touchpad and external mouse working together, yes. Touchpad isn't disablable due to a lack of a real bios on my laptop. However, they cooperated on the 2.4.x kernels with mousewheel working fine.

USB section of kernel .config:

```

# USB support

#

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

#

# Miscellaneous USB options

#

CONFIG_USB_DEVICEFS=y

# CONFIG_USB_BANDWIDTH is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

#

# USB Host Controller Drivers

#

CONFIG_USB_EHCI_HCD=m

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_OHCI_HCD is not set

CONFIG_USB_UHCI_HCD=m

#

# USB Device Class drivers

#

# CONFIG_USB_AUDIO is not set

# CONFIG_USB_BLUETOOTH_TTY is not set

# CONFIG_USB_MIDI is not set

# CONFIG_USB_ACM is not set

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_DPCM is not set

# CONFIG_USB_STORAGE_HP8200e is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

#

# USB Human Interface Devices (HID)

#

CONFIG_USB_HID=m

CONFIG_USB_HIDINPUT=y

# CONFIG_HID_FF is not set

# CONFIG_USB_HIDDEV is not set

#

# USB HID Boot Protocol drivers

#

# CONFIG_USB_KBD is not set

# CONFIG_USB_MOUSE is not set

# CONFIG_USB_AIPTEK is not set

# CONFIG_USB_WACOM is not set

# CONFIG_USB_KBTAB is not set

# CONFIG_USB_POWERMATE is not set

# CONFIG_USB_MTOUCH is not set

# CONFIG_USB_XPAD is not set

# CONFIG_USB_ATI_REMOTE is not set

#

# USB Imaging devices

#

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

# CONFIG_USB_HPUSBSCSI is not set

#

# USB Multimedia devices

#

# CONFIG_USB_DABUSB is not set

#

# Video4Linux support is needed for USB Multimedia device support

#

#

# USB Network adaptors

#

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_USBNET is not set

#

# USB port drivers

#

# CONFIG_USB_USS720 is not set

#

# USB Serial Converter support

#

# CONFIG_USB_SERIAL is not set

#

# USB Miscellaneous drivers

#

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_TIGL is not set

# CONFIG_USB_AUERSWALD is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_TEST is not set

#

# USB Gadget Support

#

# CONFIG_USB_GADGET is not set

```

xf86config:

```

Section "InputDevice"

    Identifier   "USBMouse"

    Driver   "mouse"

    Option "Protocol"    "IMPS/2"

    Option "Device"      "/dev/input/mouse0"

    Option "Buttons" "5"

    Option "ZAxisMapping" "4 5"

EndSection

```

The xf86config wont' matter though, since the kernel isn't even detecting the wheel, heh, but if its any consolidation, I've tried all the different devices and protocols within the X config.

modules load fine, but with the same result as if they were built in, no mousewheel action whatsoever when I cat /dev/input/mice, /dev/input/mouse0, or /dev/psaux.

----------

## NeddySeagoon

Shades3D,

Your kernel looks the same as mine.

cat /dev/input/mice doesn't do anything for me but my mouse wheel works just the same. I have two pointer sections in my XF86Conf like this.

[comments removed for brevity]

```
Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option "Protocol"    "Auto"

    Option "Device"      "/dev/mouse"

    Option "ZAxisMapping" "4 5"

EndSection
```

This works for a 3 button PS/2 mouse with a wheel.

```
Section "InputDevice"

Identifier  "Mouse2"

    Driver      "mouse"

    Option      "Protocol"      "ExplorerPS/2"

    Option "Device"      "/dev/input/mouse0"

# Allow Both mice to work for debugging

   Option "SendCoreEvents"

   Option "ZAxisMapping" "5 4"

   Option "Buttons" "7"

EndSection

```

Which works for a USB mouse. The  *Quote:*   

>    Option "SendCoreEvents"

 allows second and subsequent pointers (and keyboards) to be used at the same time. Also in the ServerLayout section you need a line that says *Quote:*   

>      InputDevice "Mouse2"

  There are other ways of configuring the same functionality.

How is your touchpad connected, USB or PS/2?

----------

## Will Scarlet

I have a Toshiba P10-S429 using the vanilla 2.6.4 kernel, patched so I can use my touchpad with the Synaptics driver, with the Alps touchpad, which I believe is ps2, and a Kensington PocketMouse Pro Wireless USB, which is a three button scroll mouse, with the following setup in XF86Config:

```
Section "ServerLayout"

        Identifier     "XFree86 Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Mouse1" "AlwaysCore"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

...

Section "InputDevice"

        Identifier  "Mouse1"

        Driver      "mouse"

        Option      "Protocol"  "IMPS/2"

        Option      "Device"    "/dev/input/mice

        Option      "ZAxisMapping"  "4 5"

EndSection
```

With this setup, you don't need to have the USB mouse connected for X to come up.  You can plug it in at any time for it to work.  I believe the AlwaysCore for Mouse1 allows for this, it's been a while since I did this.

I have noticed, because I have one machine that I upgraded the kernel on, that the mouse driver in 2.6 kernel is drastically different that in 2.4 series.  It seems to me that it comes down to protocol recognition.

Just so you know, it did cat /dev/input/mice and got all kinds of output.  I never thought of doing that one, neet trick  :Smile: .

Anyway, in /var/log/XFree86.0.log look for USBMouse and check for any errors.  It's possible that it's not setting up your mouse properly.

Hope this helps...  :Wink: 

----------

## Shades3D

Still no go  :Sad: 

My touchpad is ps/2, integrated into my laptop

sections of my xf86config:

Mouse & Touchpad:

```

Section "InputDevice"

    Identifier   "USBMouse"

    Driver   "mouse"

    Option "Protocol"    "ExplorerPS/2"

    Option "Device"      "/dev/input/mouse0"

    Option "Buttons" "5"

    Option "ZAxisMapping" "4 5"

    Option "SendCoreEvents"

EndSection

Section "InputDevice"

    Identifier  "Touchpad"

    Driver "mouse"

    Option "Protocol" "PS/2"

    Option "Device" "/dev/psaux"

    Option "ZAxisMapping" "4 5"

EndSection

```

Server Layout:

```

Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen "Screen 1"

    InputDevice "USBMouse" "AlwaysCore"

    InputDevice "Touchpad" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

```

----------

## Will Scarlet

I'm assuming that the usb mouse does work when pluged in, it's just the scroll wheel that does not work.  If that is the case, have you tried to set the Protocol option to auto for your usb mouse?

Like I said, the mouse detection in the 2.6 kernel is different.

Also, could you post the parts of you XFree86.0.log that references USBMouse.

----------

## Shades3D

```

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

(**) USBMouse: Protocol: "ExplorerPS/2"

(**) Option "SendCoreEvents"

(**) USBMouse: always reports core events

(**) Option "CorePointer"

(**) USBMouse: Core Pointer

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

(**) Option "Buttons" "5"

(**) USBMouse: Emulate3Buttons, Emulate3Timeout: 50

(**) Option "ZAxisMapping" "4 5"

(**) USBMouse: ZAxisMapping: buttons 4 and 5

(**) USBMouse: Buttons: 5

```

ANd I tried auto, no go either.

----------

## Will Scarlet

Well, the log info looks right.

There are only two things I can think of that may cause the effect of what you are currently experiencing. Even though you have the wheel setup with what look to be proper:

One: your mouse might actually have more logical buttons.  If this is the case, then with your current XF86Config setup you will never reach the button assigned to the scroll wheel.

Two: your mouse is not detected by kernel 2.6 properly.  If this is the case, then knowing how to force the right protocol during detection becomes important.  For a usb mouse, I would not know where to begin with this one.

So, what is the brand and model of your usb mouse?

----------

## Shades3D

I've tried several mice. The typical one I use on the laptop is a MS Intellimouse with 3 buttons (including scroll wheel click) and wheel. Nothing beyond that.

----------

## Will Scarlet

I have successfully use a friends usb MS Wireless Optical mouse, I'm not sure of the specific version, with no issues with the same setup.  MS has several versions of the IntelliMouse each with a different set of features.

Anyway, I'm at my end for now.  The last thing I can suggest for now, if you haven't already done so, is to look over XFree86 documentation for Mouse support.  You can find it at :

http://www.xfree86.org/4.3.0/mouse.html

Maybe you'll find something that will make it work properly...  :Wink: 

----------

## Viperskin

I was reading this because I was having trouble with my wheel mouse which the model is mentioned above.  Here is what I put in to make it work.  It is a PS/2 mouse.

```

Section "InputDevice"

# Identifier and driver

    Identifier   "Mouse1"

    Driver   "mouse"

    Option "Protocol"    "Auto"

    Option "Device"      "/dev/mouse"  

    Option   "ZAxisMapping"   "4 5" 

EndSection
```

Restarted X and all is good!!  :Laughing:   :Laughing: 

----------

