usb touchpad not working properly on CURRENT with usb2

Boris Kotzev boris.kotzev at gmail.com
Mon Mar 9 04:45:06 PDT 2009


>
> Can you get me dmesg with ums debugging enabled when you move the cursor?
>
> What does:
>
> ps auxw |grep moused
>
> output ?
>
> --HPS

Hi Hans,

With "hw.usb2.ums.debug" set to "5" the touchpad attaches as follows:

ukbd0: <Apple Internal Keyboard> on usbus0
kbd1 at ukbd0
ums1: <Touchpad> on usbus0
ums1: 3 buttons and [XY] coordinates
ums_attach:546: sc=0xffffff000e020c00
ums_attach:547: X       8/8
ums_attach:548: Y       16/8
ums_attach:549: Z       0/0
ums_attach:550: T       0/0
ums_attach:551: W       0/0
ums_attach:555: B1      0/1
ums_attach:555: B2      1/1
ums_attach:555: B3      2/1
ums_attach:557: size=64, id=0
uhid1: <Apple Internal Keyboard> on usbus0
ums_open:701:
ums_open:701:
ums_ioctl:738:
ums_ioctl:738:
ums_ioctl:738:
ums_ioctl:738:
ums_ioctl:738:

After raising the debug level to "6" the following messages begin scrolling
on the console on end (without any input to the touchpad):

ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff000e020c00 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00

In contrast, the external usb mouse does not produce any dmesg output at the
same debug level until moved.

Moving the cursor results in the following dmesg output (hw.usb2.ums.debug=6):

ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f9 00 00 00 00 00
ums_intr_callback:264: x:0 y:7 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fa ff 00 00 00 00
ums_intr_callback:264: x:0 y:6 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f9 00 00 00 00 00
ums_intr_callback:264: x:0 y:7 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 00 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 00 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 00 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f7 00 00 00 00 00
ums_intr_callback:264: x:0 y:9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 00 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f7 00 00 00 00 00
ums_intr_callback:264: x:0 y:9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 00 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 00 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 00 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 ff 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f5 00 00 00 00 00
ums_intr_callback:264: x:0 y:11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f5 00 00 00 00 00
ums_intr_callback:264: x:0 y:11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 ff 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f7 ff 00 00 00 00
ums_intr_callback:264: x:0 y:9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f5 00 00 00 00 00
ums_intr_callback:264: x:0 y:11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 ff 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f6 ff 00 00 00 00
ums_intr_callback:264: x:0 y:10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f7 ff 00 00 00 00
ums_intr_callback:264: x:0 y:9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 fe 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 ff 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f8 fe 00 00 00 00
ums_intr_callback:264: x:0 y:8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 f9 ff 00 00 00 00
ums_intr_callback:264: x:0 y:7 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fa ff 00 00 00 00
ums_intr_callback:264: x:0 y:6 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fb ff 00 00 00 00
ums_intr_callback:264: x:0 y:5 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fb ff 00 00 00 00
ums_intr_callback:264: x:0 y:5 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fc ff 00 00 00 00
ums_intr_callback:264: x:0 y:4 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fd ff 00 00 00 00
ums_intr_callback:264: x:0 y:3 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fd ff 00 00 00 00
ums_intr_callback:264: x:0 y:3 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 fe 00 00 00 00 00
ums_intr_callback:264: x:0 y:2 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 00 ff 00 00 00 00
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 02 00 00 00 00 00
ums_intr_callback:264: x:0 y:-2 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 03 01 00 00 00 00
ums_intr_callback:264: x:0 y:-3 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 04 00 00 00 00 00
ums_intr_callback:264: x:0 y:-4 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 05 01 00 00 00 00
ums_intr_callback:264: x:0 y:-5 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 06 01 00 00 00 00
ums_intr_callback:264: x:0 y:-6 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 07 01 00 00 00 00
ums_intr_callback:264: x:0 y:-7 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 08 01 00 00 00 00
ums_intr_callback:264: x:0 y:-8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 09 01 00 00 00 00
ums_intr_callback:264: x:0 y:-9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 09 02 00 00 00 00
ums_intr_callback:264: x:0 y:-9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0a 01 00 00 00 00
ums_intr_callback:264: x:0 y:-10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0b 02 00 00 00 00
ums_intr_callback:264: x:0 y:-11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0b 02 00 00 00 00
ums_intr_callback:264: x:0 y:-11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0b 02 00 00 00 00
ums_intr_callback:264: x:0 y:-11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0c 03 00 00 00 00
ums_intr_callback:264: x:0 y:-12 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0c 04 00 00 00 00
ums_intr_callback:264: x:0 y:-12 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0d 03 00 00 00 00
ums_intr_callback:264: x:0 y:-13 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0d 03 00 00 00 00
ums_intr_callback:264: x:0 y:-13 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0c 03 00 00 00 00
ums_intr_callback:264: x:0 y:-12 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0c 03 00 00 00 00
ums_intr_callback:264: x:0 y:-12 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0b 03 00 00 00 00
ums_intr_callback:264: x:0 y:-11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0b 02 00 00 00 00
ums_intr_callback:264: x:0 y:-11 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 0a 02 00 00 00 00
ums_intr_callback:264: x:0 y:-10 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 09 01 00 00 00 00
ums_intr_callback:264: x:0 y:-9 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 08 02 00 00 00 00
ums_intr_callback:264: x:0 y:-8 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 07 01 00 00 00 00
ums_intr_callback:264: x:0 y:-7 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 06 02 00 00 00 00
ums_intr_callback:264: x:0 y:-6 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 05 01 00 00 00 00
ums_intr_callback:264: x:0 y:-5 z:0 t:0 w:0 buttons:0x00000001
ums_intr_callback:174: sc=0xffffff00060c9000 actlen=4
ums_intr_callback:191: data = 02 00 00 00 00 00 00 00

All the time moused was running on the ums1 port only:

ps auxw |grep moused
root        1537  0,0  0,1  6968  1100  ??  Is    1:06pm   0:00,00 /usr/sbin/moused -p /dev/ums1 -t auto -I /var/run/moused.ums1.pi
root        1560  0,0  0,1  8016  1232   1  S+    1:07pm   0:00,00 grep moused

I also killed all instances of moused and then started X with

Option      "Device" "/dev/ums1"

in xorg.conf.  The behavior of the touchpad was the same as when running under the moused.


Best regards,

Boris Kotzev





More information about the freebsd-usb mailing list