Date: Wed, 23 Jan 2008 13:26:41 +0200 (EET) From: cristi@roedu.net To: "Eygene Ryabinkin" <rea-fbsd@codelabs.ru> Cc: freebsd-hackers@freebsd.org, Cristian KLEIN <cristi@roedu.net>, Giulio Ferro <auryn@zirakzigil.org>, nork@freebsd.org Subject: Re: Synaptics Message-ID: <41549.193.226.5.33.1201087601.squirrel@mail.roedu.net> In-Reply-To: <a9614w/m/NEnSoIiPTPh4/uowc0@Bh3KkpMJSlNKovi1bWYCmMEWisk> References: <fa.Je1w5RRybr4qmj2ujueWGXySl20@ifi.uio.no> <fa.snnr/Fs7qMJDr7skc/SIMDKR890@ifi.uio.no> <fa.bvfj5WRYM4TkklLxmpgK9vdqM8E@ifi.uio.no> <4c65bf9e-80e5-4c0b-acef-d9914a57679f@i12g2000prf.googlegroups.com> <47728D80.5010507@zirakzigil.org> <475A8637.9020507@zirakzigil.org> <20071212155244.GJ1442@daemon.grid.kiae.ru> <4760114D.6020203@zirakzigil.org> <FZ4mJko0Sid9vm6uNWZcbCwQB48@SCyRCnsBHjFm/teUDw7ZY9jGvfs> <47950952.6040909@roedu.net> <a9614w/m/NEnSoIiPTPh4/uowc0@Bh3KkpMJSlNKovi1bWYCmMEWisk>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
> Cristian, good day.
>
> Mon, Jan 21, 2008 at 11:06:26PM +0200, Cristian KLEIN wrote:
>> Eygene Ryabinkin wrote:
>>> But what protocol is selected? From your Xorg log I assume that
>>> it is either "event", "auto-dev" or not set at all.
>>
>> I just ran into the same problem. In xorg.conf I explicitly told the
>> synaptics driver to use "psm" and "/dev/psm0", but the error message
>> would
>> suggest that it uses "event".
>>
>> Also, I tried to change the source code of the synaptics driver
>> (synaptics.c) and hard-coded "psm" as the only driver, no matter what
>> xorg.conf says. Synaptics still would not start, but this time
>> complaining
>> that no device was specified. Please note that I had "Device" in my
>> xorg.conf, but the error suggests that the driver ignored it.
>
> Could you please provide your Xorg configuration file and the Xorg
> logs for the run when you had hardcoded psm driver. It will also
> be good to see the modified Synaptics driver source file.
>
> And the version and platform for your FreeBSD is?
I don't know why I keep forgetting to include essential information. Sorry.
cristi:~# uname -a
FreeBSD hades 7.0-RC1 FreeBSD 7.0-RC1 #0: Mon Dec 24 10:10:07 UTC 2007
root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
cristi:~# pkg_info | grep xorg-server
xorg-server-1.4_3,1 X.Org X server and related programs
cristi:~# pkg_info | grep synaptics
synaptics-0.14.6_2 The Synaptics touchpad X driver
Suppose I use the attached xorg.conf file, at some point,
/var/log/Xorg.0.log shows the following error:
(II) Synaptics touchpad driver version 0.14.6 (1406)
Synaptics_Touchpad no synaptics event device found (checked 10 nodes)
Synaptics_Touchpad The /dev/input/event* device nodes seem to be missing
(EE) xf86OpenSerial: No Device specified.
Synaptics driver unable to open device
(EE) PreInit failed for input device "Synaptics_Touchpad"
(II) UnloadModule: "synaptics"
As you said, it looks like synaptics is trying to use the "auto" protocol,
although the configuration file tells it to use "psm".
Now, if I put the attached patch in x11-drivers/synaptics/files, using the
same xorg.conf, synaptics will fail like this:
(II) Synaptics touchpad driver version 0.14.6 (1406)
(EE) xf86OpenSerial: No Device specified.
Synaptics driver unable to open device
(EE) PreInit failed for input device "Synaptics_Touchpad"
(II) UnloadModule: "synaptics"
It almost looks as if I have to hardcode the device too, because synaptics
certainly ignores my options.
Any ideas?
[-- Attachment #2 --]
# File generated by xorgconfig.
#
# Copyright 2004 The X.Org Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of The X.Org Foundation shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from
# The X.Org Foundation.
#
# **********************************************************************
# Refer to the xorg.conf(5) man page for details about the format of
# this file.
# **********************************************************************
# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"
# This loads the DBE extension module.
Load "dbe" # Double buffer extension
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
# This loads the font modules
# Load "type1"
Load "freetype"
# Load "xtt"
# This loads the GLX module
# Load "glx"
# This loads the DRI module
# Load "dri"
EndSection
# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************
Section "Files"
# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
# RgbPath "/usr/local/share/X11/rgb"
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
#
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/local/"
# FontPath "/usr/local/lib/X11/fonts/Speedo/"
# FontPath "/usr/local/lib/X11/fonts/TrueType/"
# FontPath "/usr/local/lib/X11/fonts/freefont/"
# The module search path. The default path is shown here.
# ModulePath "/usr/local/lib/modules"
EndSection
# **********************************************************************
# Server flags section.
# **********************************************************************
Section "ServerFlags"
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
# Option "NoTrapSignals"
# Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.
# Option "DontVTSwitch"
# Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence
# This allows clients to receive this key event.
# Option "DontZap"
# Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching
# sequences. This allows clients to receive these key events.
# Option "Dont Zoom"
# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.
# Option "DisableVidModeExtension"
# Uncomment this to enable the use of a non-local xvidtune client.
# Option "AllowNonLocalXvidtune"
# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.
# Option "DisableModInDev"
# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).
# Option "AllowNonLocalModInDev"
EndSection
# **********************************************************************
# Input devices
# **********************************************************************
# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "500 30"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
# Option "Xleds" "1 2 3"
# Option "LeftAlt" "Meta"
# Option "RightAlt" "ModeShift"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a non-U.S.
# keyboard, you will probably want to use:
# Option "XkbModel" "pc105"
# If you have a US Microsoft Natural keyboard, you can use:
# Option "XkbModel" "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
# Option "XkbLayout" "de"
# or:
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:swapcaps"
# These are the default XKB settings for Xorg
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc105"
# Option "XkbLayout" "us"
# Option "XkbVariant" ""
# Option "XkbOptions" ""
# Option "XkbDisable"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbOptions" "compose:caps"
EndSection
# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************
# Dummy device
Section "InputDevice"
Identifier "dummy"
Driver "void"
EndSection
# Real Synaptics Driver
Section "InputDevice"
Identifier "Synaptics_Touchpad"
Driver "synaptics"
Option "Device" "/dev/psm0"
Option "Protocol" "psm"
EndSection
# **********************************************************************
# Other input device sections
# this is optional and is required only if you
# are using extended input devices. This is for example only. Refer
# to the xorg.conf man page for a description of the options.
# **********************************************************************
#
# Section "InputDevice"
# Identifier "Mouse2"
# Driver "mouse"
# Option "Protocol" "MouseMan"
# Option "Device" "/dev/mouse2"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball"
# Driver "magellan"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball2"
# Driver "spaceorb"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen0"
# Driver "microtouch"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "1412"
# Option "MaxX" "15184"
# Option "MinY" "15372"
# Option "MaxY" "1230"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen1"
# Driver "elo2300"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "231"
# Option "MaxX" "3868"
# Option "MinY" "3858"
# Option "MaxY" "272"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonThreshold" "17"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
# **********************************************************************
# Monitor section
# **********************************************************************
# Any number of monitor sections may be present
Section "Monitor"
Identifier "LCD"
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 31.5 - 82.0
# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 50-90
EndSection
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"
# The chipset line is optional in most cases. It can be used to override
# the driver's chipset detection, and should not normally be specified.
# Chipset "generic"
# The Driver line must be present. When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module. Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this section.
Driver "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for. When this line isn't present, a device
# section can only match up with the primary video device. For PCI
# devices a line like the following could be used. This line should not
# normally be included unless there is more than one video device
# intalled.
# BusID "PCI:0:10:0"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
# Device configured by xorgconfig:
Section "Device"
Identifier "ATI Radeon HD2400"
Driver "radeonhd"
#VideoRam 131072
# Insert Clocks lines here if appropriate
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "ATI Radeon HD2400"
Monitor "LCD"
DefaultDepth 24
Subsection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1152x864"
ViewPort 0 0
EndSubsection
EndSection
# **********************************************************************
# ServerLayout sections.
# **********************************************************************
# Any number of ServerLayout sections may be present. Each describes
# the way multiple screens are organised. A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option. In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.
Section "ServerLayout"
# The Identifier line must be present
Identifier "Simple Layout"
# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.
Screen "Screen 1"
# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".
InputDevice "dummy" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Synaptics_Touchpad" "SendCoreEvents"
EndSection
# Section "DRI"
# Mode 0666
# EndSection
[-- Attachment #3 --]
--- synaptics.c.orig 2008-01-23 13:10:17.000000000 +0200
+++ synaptics.c 2008-01-23 13:11:33.000000000 +0200
@@ -188,9 +188,8 @@
proto = SYN_PROTO_PSM;
} else if (str_par && !strcmp(str_par, "alps")) {
proto = SYN_PROTO_ALPS;
- } else { /* default to auto-dev */
- if (event_proto_operations.AutoDevProbe(local))
- proto = SYN_PROTO_EVENT;
+ } else { /* default to psm */
+ proto = SYN_PROTO_PSM;
}
switch (proto) {
case SYN_PROTO_PSAUX:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41549.193.226.5.33.1201087601.squirrel>
