Op 24-10-11 21:00, Marc Dietrich schreef:
:
Let's see exactly what is "not working". When in compatible (IMPS
protocol), the touchpad is seen by Xorg differently than when using the
ad-hoc protocol. In particular, you should have the "synaptic" driver.
Do you have it loaded? Check you xorg log (/var/log/Xorg.0.log). Also
I tried with it, but it does not detect the touchpad. I attached the xorg log
with the imps mouse driver and the synaptics driver.
just some new data point. Booted with with elantech proto (instead of imps)
and the synaptics driver loaded:
:
Ok, so Xorg correctly tries, but as the kernel driver fails to
initialise the hardware, obviously Xorg cannot get much out of it.
you can check whether there is input coming from the kernel or not: you
need to stop Xorg, and then do something like "evtest
/dev/input/eventX", where X is the number for the device corresponding
to your touchpad. Then touch a bit your touchpad, and you should see
lots of inputs, or not?
correct, it reports the events matching my gestures.
Sorry, I'm reading again the dmesg logs, and I had missed all this "lost
sync" before. The elantech driver doesn't seem to be so happy with your
device.
:
I have these patches already. In fact the problems started with them :-)
After the "knocking", the touchpad responses 0x3c 0x03 0x00 which isn't
detected in the old code.
Ok. Well, at least it's great because now you already have the latest
version of the kernel driver, so you can directly contact the developer
mailing-list.
Let me know if you find out the source of the problems.
There is something special with this netbook as it connected the touchpad to a
keyboard controller which connects itself via i2c bus to the tegra cpu. So we
have our own ps2 driver which "tunnels" the ps2 commands via i2c. This worked
well till now, but maybe the keyboard controller firmware may play tricks on us
(I hope it doesn't).
It could be, indeed.
Basically, it seems it can see the hardware, but when it tries to write
to it, it fails. It blocks at the a ETP_PS2_CUSTOM_COMMAND=0xf8 in a
call to elantech_write_reg():
[ 658.643473] elantech: retrying ps2 command 0xe6 (2).
[ 659.176446] elantech: retrying ps2 command 0xf8 (2).
[ 659.880999] elantech: retrying ps2 command 0xf8 (1).
The rest of your log is lost connection to the hardware, until it
eventually gives up.
In the log we can see it tries 5 times before failing, so it's very
probably in elantech_set_absolute_mode(), which tries
ETP_READ_BACK_TRIES=5 times.
I can't really pinpoint what is command 0xe6. Could you maybe add a
debug line in elantech_ps2_command() to see what is exactly is sent before:
elantech_debug("sending ps2 command 0x%02x.\n", command);
However, the way to write a register to the hardware is quite similar
for all versions of the hardware (above 1). So I'd quite be surprised
your hardware expects something else. So, if the command sent is
correct, and this fails, it might be due to some strange things
happening in the tunnelling...
All in all, I'd recommend you to determine precisely at which command in
fails in elantech_set_absolute_mode(). Then contact the linux-input
(linux-input@xxxxxxxxxxxxxxx) mailing list with JJ Ding
(jj_ding@xxxxxxxxxx) and Dmitry Torokhov (dmitry.torokhov@xxxxxxxxx) in
CC. Explain precisely your setup, with the tunnelling, and with a copy
of the logs you have. Maybe someone else has the same device touchpad
version and could compare the log at least.
See you,
Éric
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html