Re: Elantech touchpad problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux