1 |
Mansour Al Akeel posted on Fri, 17 Jun 2011 22:11:10 -0400 as excerpted: |
2 |
|
3 |
> Hello all, |
4 |
> |
5 |
> I upgraded from 2.6.37-gentoo-r4 to 2.6.38-gentoo-r6. I didn't change |
6 |
> anything in the config file, and used the old kernel config to compile |
7 |
> the new kernel. However, when I booted into the new kernel, I found the |
8 |
> scrolling in the touch pad is not working ! |
9 |
|
10 |
I was hoping someone with a bit more direct laptop-with-touchpad |
11 |
experience would reply, but no one has. Oh well, I have a netbook that |
12 |
runs a touchpad and run live-git upstream kernels, so between the two, |
13 |
hopefully I can help. But I run ~arch and while I don't typically update |
14 |
it as often as my main machine, it has been running 2.6.38 for some time, |
15 |
now and I'm forgetting the details. (Hey, 2.6.39 is out and the new 3.0 |
16 |
kernel already has multiple -rcs out, 2.6.38 was months ago, for me!) I |
17 |
don't recall having any of this sort of problems, but I may not use the |
18 |
scrolling you're using. My touch-pad is small and I don't use the edge- |
19 |
scrolling, instead choosing two-finger scrolling. |
20 |
|
21 |
In fact, that works much better now than it did, as AFAIK, the device now |
22 |
supports real two-finger detection while before, it only emulated it, |
23 |
often causing problems on the one side when my fingers were too moist and |
24 |
it triggered scrolling when I wanted just normal mouse movement, while on |
25 |
the other, if my fingers were too dry, I couldn't get it to scroll when I |
26 |
wanted it to! Now, it works *MUCH* better, because it actually detects |
27 |
the two separate touch-points and that's FAR more reliable than the |
28 |
emulation it was using before. |
29 |
|
30 |
FWIW, I don't run full xorg.confs on either my netbook or workstation. |
31 |
Instead, I rely on the built-in defaults for as much as I can, and only |
32 |
have files in /etc/X11/xorg.conf.d/ that reflect any changes from what |
33 |
xorg would normally run. My netbook has two files in that dir, the 20- |
34 |
synaptics.conf that the synaptics driver drops there, but I've commented |
35 |
all its settings out, and a file of my own, with only the following |
36 |
section -- everything else is xorg-standard built-in defaults. (FWIW, |
37 |
it's running xorg-server-1.10.1, xf86-input-synaptics-1.4.0): |
38 |
|
39 |
Section "InputClass" |
40 |
Identifier "syntouch" |
41 |
MatchIsTouchpad "on" |
42 |
MatchDevicePath "/dev/input/event*" |
43 |
Driver "synaptics" |
44 |
Option "SHMConfig" |
45 |
|
46 |
Option "VertTwoFingerScroll" |
47 |
Option "HorizTwoFingerScroll" |
48 |
|
49 |
Option "TapButton1" "1" |
50 |
Option "TapButton2" "2" |
51 |
|
52 |
Option "EmulateTwoFingerMinW" "10" |
53 |
Option "EmulateTwoFingerMinZ" "47" |
54 |
Option "EmulateMidButtonTime" "500" |
55 |
|
56 |
Option "FingerHigh" "35" |
57 |
Option "FingerLow" "28" |
58 |
Option "FingerPress" "255" |
59 |
Option "MaxTapMove" "442" |
60 |
Option "TrackstickSpeed" "5" |
61 |
|
62 |
Option "EdgeMotionMinZ" "35" |
63 |
Option "EdgeMotionMaxZ" "68" |
64 |
Option "EdgeMotionMinSpeed" "1" |
65 |
Option "EdgeMotionMaxSpeed" "201" |
66 |
Option "EdgeMotionUseAlways" |
67 |
EndSection |
68 |
|
69 |
The synaptics device is /dev/input/event8, according to the xorg log. It |
70 |
also detects mouse0, but doesn't detect the syntouch there so unloads the |
71 |
driver for it. |
72 |
|
73 |
> If I boot into the older kernel it works fine. I recompiled the |
74 |
> following Xorg drivers under the new kernel : |
75 |
> |
76 |
> xf86-input-evdev-2.6.0 xf86-input-mouse-1.7.0 xf86-input-synaptics-1.3.0 |
77 |
> xf86-video-fbdev-0.4.2 xf86-video-intel-2.14.0 xf86-video-vesa-2.3.0 |
78 |
|
79 |
FWIW, you can probably unmerge video-vesa and video-fbdev, assuming your |
80 |
system's running the intel driver. Similarly, input-mouse is seriously |
81 |
legacy and probably unneeded. input-evdev should work fine for external |
82 |
plugin mice if necessary, as well as keyboard, and input-synaptics should |
83 |
take over the touchpad. |
84 |
|
85 |
> I tried to check the correct mouse device using: |
86 |
> cat /dev/input/* |
87 |
> |
88 |
> For all the devices, but none produced the expected output of unreadable |
89 |
> characters. |
90 |
|
91 |
Note that here, both /dev/input/event8 and /dev/input/mice produce |
92 |
garbage when the mouse moves, but *ONLY* if I cat them from a real VT (as |
93 |
root), *NOT* if I try to do it from a konsole window inside X, where the |
94 |
cat produces absolutely nothing. |
95 |
|
96 |
> For some reason, TouchPad is not found, as per /var/log/Xorg.0.log |
97 |
> |
98 |
> [ 37.976] (II) No input driver/identifier specified (ignoring) |
99 |
> [ 37.976] (II) config/udev: Adding input device HDA Intel Headphone |
100 |
> (/dev/input/event7) |
101 |
> [ 37.976] (II) No input driver/identifier specified (ignoring) |
102 |
> [ 37.984] (II) config/udev: Adding input device AT Translated Set 2 |
103 |
> keyboard (/dev/input/event3) |
104 |
> [ 37.984] (**) AT Translated Set 2 keyboard: Applying InputClass |
105 |
> "evdev keyboard catchall" |
106 |
> [ 37.984] (**) AT Translated Set 2 keyboard: always reports core |
107 |
> events [ 37.984] (**) AT Translated Set 2 keyboard: Device: |
108 |
> "/dev/input/event3" |
109 |
> [ 37.990] (--) AT Translated Set 2 keyboard: Found keys [ 37.990] |
110 |
> (II) AT Translated Set 2 keyboard: Configuring as keyboard [ 37.990] |
111 |
> (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" |
112 |
> (type: KEYBOARD) |
113 |
> [ 37.990] (**) Option "xkb_rules" "evdev" |
114 |
> [ 37.990] (**) Option "xkb_model" "evdev" |
115 |
> [ 37.990] (**) Option "xkb_layout" "us" |
116 |
> [ 37.990] (II) config/udev: Adding input device SynPS/2 Synaptics |
117 |
> TouchPad (/dev/input/event4) |
118 |
> [ 37.990] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev |
119 |
> touchpad catchall" |
120 |
> [ 37.990] (**) SynPS/2 Synaptics TouchPad: Applying InputClass |
121 |
> "touchpad catchall" |
122 |
> [ 37.990] (II) Synaptics touchpad driver version 1.3.0 [ 37.990] |
123 |
> (**) Option "Device" "/dev/input/event4" |
124 |
> [ 37.994] (--) SynPS/2 Synaptics TouchPad: invalid x-axis range. |
125 |
> defaulting to 1615 - 5685 |
126 |
> [ 37.994] (--) SynPS/2 Synaptics TouchPad: invalid y-axis range. |
127 |
> defaulting to 1729 - 4171 |
128 |
> [ 37.994] (--) SynPS/2 Synaptics TouchPad: invalid pressure range. |
129 |
> defaulting to 0 - 256 |
130 |
> [ 37.994] (--) SynPS/2 Synaptics TouchPad: invalid finger width |
131 |
> range. defaulting to 0 - 16 |
132 |
> [ 37.994] (--) SynPS/2 Synaptics TouchPad: no supported touchpad |
133 |
> found |
134 |
> [ 37.994] (EE) SynPS/2 Synaptics TouchPad Unable to query/initialize |
135 |
> Synaptics hardware. |
136 |
> [ 37.999] (EE) PreInit failed for input device "SynPS/2 Synaptics |
137 |
> TouchPad" |
138 |
> [ 37.999] (II) UnloadModule: "synaptics" |
139 |
> [ 37.999] (II) config/udev: Adding input device SynPS/2 Synaptics |
140 |
> TouchPad (/dev/input/mouse0) |
141 |
> [ 37.999] (**) SynPS/2 Synaptics TouchPad: Applying InputClass |
142 |
> "touchpad catchall" |
143 |
> [ 37.999] (II) Synaptics touchpad driver version 1.3.0 [ 38.236] |
144 |
> (EE) SynPS/2 Synaptics TouchPad no synaptics event device found [ |
145 |
> 38.236] (**) Option "Device" "/dev/input/mouse0" |
146 |
> [ 38.240] (--) SynPS/2 Synaptics TouchPad: invalid x-axis range. |
147 |
> defaulting to 1615 - 5685 |
148 |
> [ 38.240] (--) SynPS/2 Synaptics TouchPad: invalid y-axis range. |
149 |
> defaulting to 1729 - 4171 |
150 |
> [ 38.240] (--) SynPS/2 Synaptics TouchPad: invalid pressure range. |
151 |
> defaulting to 0 - |
152 |
> 256 [ 38.240] (--) SynPS/2 Synaptics TouchPad: invalid finger width |
153 |
> range. defaulting to 0 - 16 |
154 |
> [ 38.261] (EE) Query no Synaptics: 6003C8 |
155 |
> [ 38.261] (--) SynPS/2 Synaptics TouchPad: no supported |
156 |
> touchpad found |
157 |
> [ 38.261] (EE) SynPS/2 Synaptics TouchPad Unable to query/initialize |
158 |
> Synaptics hardware. |
159 |
> [ 38.268] (EE) PreInit failed for input device "SynPS/2 Synaptics |
160 |
> TouchPad" |
161 |
> [ 38.268] (II) UnloadModule: "synaptics" |
162 |
|
163 |
It's trying to load it, but can't... |
164 |
|
165 |
> my Xorg: |
166 |
> |
167 |
> Section "ServerLayout" |
168 |
> Identifier "X.org Configured" |
169 |
> Screen "Screen0" 0 0 InputDevice "Mouse0" |
170 |
> "CorePointer" |
171 |
> InputDevice "usb_mouse" "CorePointer" |
172 |
> InputDevice "Keyboard0" "CoreKeyboard" |
173 |
> EndSection |
174 |
|
175 |
As I mentioned above, that whole serverlayout section is pretty much all |
176 |
default now (from xorg-server 1.8) and you should be able to delete it. |
177 |
Once you get this issue fixed, you can try commenting the above and |
178 |
restarting X, just to be sure. If it works fine with it all commented as |
179 |
it should, you can delete. |
180 |
|
181 |
> Section "Files" |
182 |
> ModulePath "/usr/lib64/xorg/modules" |
183 |
> FontPath "/usr/share/fonts/misc/" |
184 |
> FontPath "/usr/share/fonts/TTF/" |
185 |
> FontPath "/usr/share/fonts/OTF" |
186 |
> FontPath "/usr/share/fonts/Type1/" |
187 |
> FontPath "/usr/share/fonts/100dpi/" |
188 |
> FontPath "/usr/share/fonts/75dpi/" |
189 |
> FontPath "/usr/share/fonts/mono/" |
190 |
> EndSection |
191 |
|
192 |
Same with this files section. I looks default to me, so should be |
193 |
deletable. |
194 |
|
195 |
> Section "Module" |
196 |
> Load "dri2" |
197 |
> Load "extmod" |
198 |
> Load "dbe" |
199 |
> Load "record" |
200 |
> Load "dri" |
201 |
> Load "glx" |
202 |
> Load "synaptics" |
203 |
> EndSection |
204 |
|
205 |
This really is too. Synaptics isn't an absolute default, but it is with |
206 |
the proper InputClass section. |
207 |
|
208 |
> Section "InputDevice" |
209 |
> Identifier "Keyboard0" |
210 |
> Driver "kbd" |
211 |
> EndSection |
212 |
> |
213 |
> Section "InputDevice" |
214 |
> Identifier "Mouse0" |
215 |
> Driver "synaptics" |
216 |
> Option "Protocol" "auto-dev" |
217 |
> Option "Device" "/dev/input/mice" |
218 |
> Option "ZAxisMapping" "4 5 6 7" |
219 |
> Option "TapButton1" "1" |
220 |
> Option "TapButton2" "2" |
221 |
> Option "TapButton3" "3" |
222 |
> Option "SendCoreEvents" |
223 |
> Option "SHMConfig" "on" |
224 |
> EndSection |
225 |
> |
226 |
> Section "InputDevice" |
227 |
> Identifier "usb_mouse" |
228 |
> Driver "mouse" |
229 |
> Option "Device" "/dev/input/mice" |
230 |
> Option "ZAxisMapping" "4 5" |
231 |
> Option "Buttons" "5" |
232 |
> EndSection |
233 |
|
234 |
These three inputdevice sections are entirely ignored by xorg server now, |
235 |
unless you set some special flags in the ServerFlags section. It's all |
236 |
hotplugged and has been for quite some time, first with hal, now with |
237 |
udev. (That's what the "no input driver/identifier specified" in the xorg |
238 |
log is all about, despite these, as they are ignored without those |
239 |
serverflags settings, which you aren't using. It's ALL hotplugged now!) |
240 |
|
241 |
The inputclass sections can be used to configure hotplugged devices. See |
242 |
the xorg.conf manpage and my example above. It's worth noting that the |
243 |
synaptics driver drops a default inputclass for its driver in /etc/X11/ |
244 |
xorg.conf.d, which is why you see it trying to detect, altho it's |
245 |
failing, for reasons apparently unrelated to xorg (probably kernel) |
246 |
|
247 |
> Section "Monitor" |
248 |
> Identifier "Monitor0" |
249 |
> VendorName "Monitor Vendor" |
250 |
> ModelName "Monitor Model" |
251 |
> EndSection |
252 |
|
253 |
Defaults, delete. Only if you had custom modelines, or if you had custom |
254 |
monitor positioning for when you plugged in a second monitor, or the |
255 |
like, is a monitor section really useful, any more. Otherwise, the |
256 |
defaults are normally pretty good. |
257 |
|
258 |
> Section "Device" |
259 |
> Identifier "Card0" |
260 |
> Driver "intel" |
261 |
> VendorName "Intel Corporation" |
262 |
> BoardName "Arrandale Integrated Graphics Controller" |
263 |
> BusID "PCI:0:2:0" |
264 |
> EndSection |
265 |
|
266 |
More defaults. If you had some card-specific settings here, |
267 |
|
268 |
> Section "Screen" |
269 |
> Identifier "Screen0" |
270 |
> Device "Card0" |
271 |
> Monitor "Monitor0" |
272 |
> SubSection "Display" |
273 |
> Viewport 0 0 Depth 1 |
274 |
> EndSubSection SubSection "Display" |
275 |
> Viewport 0 0 Depth 4 |
276 |
> EndSubSection SubSection "Display" |
277 |
> Viewport 0 0 Depth 8 |
278 |
> EndSubSection SubSection "Display" |
279 |
> Viewport 0 0 Depth 15 |
280 |
> EndSubSection SubSection "Display" |
281 |
> Viewport 0 0 Depth 16 |
282 |
> EndSubSection SubSection "Display" |
283 |
> Viewport 0 0 Depth 24 |
284 |
> EndSubSection |
285 |
> EndSection |
286 |
|
287 |
More defaults that can be deleted. |
288 |
|
289 |
IOW, your entire xorg.conf as it is, can be scrapped. If you want some |
290 |
custom settings for one or more sections, drop files for those sections |
291 |
in the /etc/X11/xorg.conf.d directory. As mentioned, you'll probably |
292 |
already see one for the synaptics driver. You can modify it if you wish, |
293 |
or do what I did and simply comment everything out in it (if you delete |
294 |
it, the next time you update, it'll be replaced, but if you leave it in |
295 |
place but with everything commented, config-protection should kick in and |
296 |
let you delete the new one, or check to see if anything changed and then |
297 |
delete it), creating your own alternative file in the same dir, with your |
298 |
custom settings, that won't be affected by a config update. |
299 |
|
300 |
If you have custom monitor positioning or other sections/settings, you |
301 |
can drop files for them in the same place. But most folks won't need |
302 |
much. |
303 |
|
304 |
> |
305 |
> lsmod | sort : |
306 |
|
307 |
[I deleted these as pan screwed the wrapping up and I didn't want to |
308 |
bother fixing it manually.] |
309 |
|
310 |
The kernel synaptics driver doesn't show up here. However, I believe it |
311 |
can't be compiled as a module anyway, only built-in, so it not showing up |
312 |
in a list of modules is no surprise. |
313 |
|
314 |
But still, based on the fact that you lost the touchpad functionality |
315 |
over a kernel upgrade *AND* on the fact that the xorg log shows the xorg |
316 |
synaptics driver trying to load but finding no hardware to attach to, so |
317 |
the touchpad fell back to the normal evdev driver, I'm guessing you |
318 |
somehow lost the kernel config for it over the upgrade. |
319 |
|
320 |
Actually, I think I know how it happened, too. The kernel folks renamed |
321 |
one of the dependencies for the synaptics driver, so it no longer shows |
322 |
up as an option unless you enable the new name of that dependency. I'm |
323 |
not sure this was over the 2.6.38 cycle, but it was recently... |
324 |
|
325 |
In your kernel config, under general setup, make sure either Embedded |
326 |
system or Expert is set. The old name was Embedded. The new one is |
327 |
Expert. (The label still appears to say embedded here, but the option it |
328 |
configures is EXPERT.) |
329 |
|
330 |
Once you've verified that is set, look under device drivers, input device |
331 |
support. Verify that event interface is set (that's the new evdev |
332 |
keyboard and fallback mouse driver), as it probably will be. If you use |
333 |
a console mouse (gpm), you'll still want mouse interface set as well, |
334 |
because AFAIK, gpm doesn't handle evdev, only legacy mouse devices. If |
335 |
you don't use gpm/text-console-mouse, you can probably disable mouse |
336 |
interface without issue. |
337 |
|
338 |
Then make sure mice is enabled, and enter that submenu. Make sure ps/2 |
339 |
mouse is enabled, then verify synaptics ps/2 mouse protocol extension |
340 |
underneath it. This last one, the synaptics protocol extension, is the |
341 |
one affected by that new expert setting, formerly embedded, that may |
342 |
possibly have triggered this whole thing. |
343 |
|
344 |
Of course, rebuild the kernel if you need to. Hopefully that's what it |
345 |
was, and a rebuild and reboot onto the new kernel with those options set, |
346 |
will get you working touchpad extensions again. =:^) |
347 |
|
348 |
-- |
349 |
Duncan - List replies preferred. No HTML msgs. |
350 |
"Every nonfree program has a lord, a master -- |
351 |
and if you use the program, he is your master." Richard Stallman |