# problem HAL with Synaptics Touchpad



## zloidemon (Dec 1, 2009)

Hi all. Why is defined as a PS/2? I added all options for synaptics...

This is dmesg|grep psm

```
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Synaptics Touchpad, device ID 0
```

option in loader.conf

```
hw.psm.synaptics_support="1"
```

few options in sysctl.conf

```
hw.psm.synaptics.vscroll_ver_area=-1
hw.psm.synaptics.directional_scrolls=0
hw.psm.tap_timeout=1
```


```
pkg_info -xI synaptics
xf86-input-synaptics-1.1.2 X.Org synaptics input driver
```

I use default fdi with hal.

lshal


```
udi = '/org/freedesktop/Hal/devices/psm_0'
  freebsd.device_file = '/dev/psm0'  (string)
  freebsd.driver = 'psm'  (string)
  freebsd.unit = 0  (0x0)  (int)
  info.addons = {'hald-addon-mouse-sysmouse', 'hald-addon-mouse-sysmouse'} (string list)
  info.capabilities = {'input', 'input.mouse'} (string list)
  info.category = 'input.mouse'  (string)
  info.parent = '/org/freedesktop/Hal/devices/atkbdc_0'  (string)
  info.product = 'PS/2 Mouse'  (string)
  info.subsystem = 'platform'  (string)
  info.udi = '/org/freedesktop/Hal/devices/psm_0'  (string)
  input.device = '/dev/psm0'  (string)
  input.x11_driver = 'mouse'  (string)
  platform.id = 'psm.0'  (string)
```


----------



## SirDice (Dec 1, 2009)

Try loading moused. Xorg should pick it up as /dev/sysmouse.


----------



## zloidemon (Dec 1, 2009)

SirDice said:
			
		

> Try loading moused. Xorg should pick it up as /dev/sysmouse.



Touchpad stopped responding to touch, work only the buttons.

I need this to work through the HAL, did not use the old form xorg.conf.

My xorg.conf


```
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	Option         "AutoAddDevices" "True"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
	FontPath     "/usr/local/lib/X11/fonts/webfonts/"
EndSection

Section "Module"
	Load  "freetype"
	Load  "extmod"
	Load  "record"
	Load  "dbe"
	Load  "glx"
#	Load  "dri"
#	Load  "dri2"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
	Option      "RenderAccel" "true"
	Option      "AllowGLXWithComposite" "true"
	Identifier  "Card0"
	Driver      "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "G98M [GeForce G 105M]"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Extensions"
	Option "Composite" "Enable"
	Option "RENDER" "Enable"
EndSection
```


----------



## malic (Dec 7, 2009)

I have somewhat the same problem.

Touchpad get recognized as /dev/psm0 as GlidePoint but once I use Xorg (w/ hal), it is recognized as a mouse and doesn't load the synaptics driver.
I tried to disable hal with the AutoAddDevices option and use the good ol' xorg.conf def but it is still recognized as a PS/2 mouse.

Everything is working but only one thing is missing : the ability to scroll vertically.

I added fdi file in /usr/local/etc/hal/fdi/policy and also the xorg.conf device statement for an alps touchpad.

Thing I noticed is that I have some sort of ghost device Ã  /dev/ums0 which looks like a mouse type device from Broadcom Corp. whith product id 0x4053.

Tonight I'll post the Xorg logs 'cause I don't have the laptop here (it's a DELL XPS M1530 with an ALPS GlidePoint touchpad btw)

Malic


----------



## malic (Dec 8, 2009)

> dmesg | grep psm0

```
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model GlidePoint, device ID 0
```


> dmesg | grep ums0

```
ums0: <Broadcom Corp product 0x4503, class 0/0, rev 2.00/1.00, addr 5> on usbus5
ums0: 3 buttons and [XY] coordinates ID=2
```


I setup Xorg with using HAL (xorg.conf provided) where I add the touchpad as /dev/psm0 and protocol alps
moused is disabled.

=========== xorg.conf ===========

```
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Touchpad0" "CorePointer"
EndSection
[...]
Section "InputDevice"
    Identifier     "Touchpad0"
    Driver         "synaptics"
    Option         "SendCoreEvents" "true"
    Option         "Device" "/dev/psm0"
    Option         "Protocol" "alps"
    Option         "HorizScrollDelta" "0"
    Option "VertScrollDelta" "10"

    Option         "SHMConfig" "true"
    Option         "MaxSpeed" "0.9"
   Option         "AccelFactor" "0.07"
EndSection
```
=========== end xorg.conf ===========

=========== Xorg.log ===========

```
(==) ServerLayout "X.org Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Card0"
(**) |-->Input Device "Keyboard0"
(**) |-->Input Device "Touchpad0"
(**) Option "DontZap" "off"
(**) Option "AllowEmptyInput" "off"
(**) Option "AutoAddDevices" "off"
(**) Not automatically adding devices
(==) Automatically enabling devices
[...]
(II) No default mouse found, adding one
(**) |-->Input Device "<default pointer>"
[...]
(II) Synaptics touchpad driver version 1.1.2
(**) Option "Device" "/dev/psm0"
(**) Option "SHMConfig" "true"
(**) Option "VertScrollDelta" "10"
(**) Option "HorizScrollDelta" "0"
(**) Option "MaxSpeed" "0.9"
(**) Option "AccelFactor" "0.07"
(**) Option "SendCoreEvents" "true"
(**) Option "CorePointer"
(**) Touchpad0: always reports core events
(II) XINPUT: Adding extended input device "Touchpad0" (type: TOUCHPAD)
(**) Touchpad0: (accel) keeping acceleration scheme 1
(**) Touchpad0: (accel) filter chain progression: 2.00
(**) Touchpad0: (accel) filter stage 0: 20.00 ms
(**) Touchpad0: (accel) set acceleration profile 0
(WW) <default pointer>: No Device specified, looking for one...
(II) <default pointer>: Setting Device option to "/dev/sysmouse"
(--) <default pointer>: Device: "/dev/sysmouse"
(==) <default pointer>: Protocol: "Auto"
(**) Option "AlwaysCore"
(**) <default pointer>: always reports core events
(==) <default pointer>: Emulate3Buttons, Emulate3Timeout: 50
(**) <default pointer>: ZAxisMapping: buttons 4 and 5
(**) <default pointer>: Buttons: 9
(**) <default pointer>: Sensitivity: 1
(II) XINPUT: Adding extended input device "<default pointer>" (type: MOUSE)
(**) <default pointer>: (accel) keeping acceleration scheme 1
(**) <default pointer>: (accel) filter chain progression: 2.00
(**) <default pointer>: (accel) filter stage 0: 20.00 ms
(**) <default pointer>: (accel) set acceleration profile 0
(II) <default pointer>: SetupAuto: hw.iftype is 4, hw.model is 0
(II) <default pointer>: SetupAuto: protocol is SysMouse
```
=========== end Xorg.log ===========


What is this default pointer? why is it coming into the picture? It seems to mess up the configuration of the touchpad.
And what is this strange /dev/ums0 device?

Malic


----------



## malic (Dec 8, 2009)

It's freaky, I tried to use moused to manage the touchpad but no way I can get the advanced features :


```
# moused -i all -p /dev/psm0
/dev/psm0 ps/2 sysmouse GlidePoint
# moused -p /dev/psm0 -t glidepoint -V
moused: mouse type mismatch (ps/2 != glidepoint), ps/2 is assumed
```

I'm really puzzled about this.
Hope someone has an idea.


----------



## symingz (Feb 4, 2010)

malic said:
			
		

> It's freaky, I tried to use moused to manage the touchpad but no way I can get the advanced features :
> 
> 
> ```
> ...



"glidepoint" is for serial mouse only, mouse attached to 
ps/2 port should always use "auto" or "ps/2", moused(8) has 
detail expanation of the "-t" option.


----------

