On 02/04/2018 09:21 PM, Pali Rohár wrote: > On Sunday 04 February 2018 20:39:06 Juanito wrote: >> On 02/04/2018 07:16 PM, Pali Rohár wrote: >>> On Monday 11 September 2017 13:26:30 Juanito wrote: >>>> Hi Masaki Ota, >>>> >>>> Thanks! >>>> >>>> On 11.09.2017 04:38, Masaki Ota wrote: >>>>> Hi, Juanito, >>>>> >>>>> In my information, ALPS Touchpad is used on Thinkpad E series and L series. >>>>> I don't know the device that is ALPS Touchpad + other vendor TrackStick. >>>>> But Lenovo might use ALPS Touchpad on such a combination. >>>>> >>>> >>>> Well, that is probably my fault, as it is not the original touchpad that >>>> was delievered with the laptop. I bought the touchpad (that included >>>> the three buttons) separately because I didn't like the clickpad that >>>> came with my laptop. >>> >>> Hi Juanito, >>> >> >> Hi Pali, >> >>> if you are still want to play with your touchpad hardware, I have a good >>> news for your. >>> >> >> Yeah! I'd love to get it to work! It's just I've been "working" on some >> other projects and my last kernel builds didn't work at all so I gave up >> and never got back to it. >> >> Thank you very much for that! >> >>> It looks like that at least ALPS rushmore touchpads allow to receive RAW >>> PS/2 packets from trackstick to host kernel, without modifying them by >>> touchpad. Plus I was able to tell ALPS touchpad to start "mixing" those >>> RAW trackstick PS/2 packets with native touchpad packets. >>> >>> On my configuration trackstick in RAW PS/2 mode by default talks with >>> standard bare 3 byte PS/2 protocol and touchpad in 6 byte ALPS protocol. >>> alps.c/psmouse.ko is already able to process and parse such mixed >>> packets. And trackstick can be switched to some extended 4 byte >>> protocol... >>> >>> All this happen when passthrough mode is enabled. >>> >>> From my understanding it seems that in normal mode, touchpad and >>> trackstick communicate with that 4 byte protocol and touchpad converts >>> it into 6 byte ALPS protocol and then send to kernel. >>> >>> On thinkpads trackstick communicate with TPPS/2 protcol and above 4 >>> byte. So in my opinion ALPS touchpad by default cannot understand it. >>> But you should be able to enter passthrough mode and then you would >>> receive that TPPS/2 in alps kernel code. >>> >> >> I don't really understand what you mean. Do I "just" have to set it to >> passthrough mode? How exactly can I do that? > > Look at function alps_passthrough_mode_v3(). And try to call it after > touchpad is initialized. > Cool, I'll give this a try! > You can also look which alps_command_mode_write_reg() functions are > called for your touchpad and maybe try to figure out what those the > registers can enabled/disable. > > On http://www.cirque.com/gen4-dev-resources you can find document named > GP-AN- 130823 INTERFACING TO GEN4 OVER I2C (PDF) which contains > some description of those registers (in section 7). > > Register C2C8, bit 0 has description "PS2AuxControl.CommandPassThruEnabled" > > If trackstick is not detected, it seems you can "force" enable it by > setting bit 7 "PS2AuxControl.AuxDevicePresent" in same register. > >> Again, thank you very much! > > Have you tried to read from that register which Masaki Ota talked in > previous emails? > I tried but I just didn't manage to get it to work, at all and gave up (I really am a newbie in this whole kernel world). Maybe a fresh start helps here. Cheers, Juanito
Attachment:
signature.asc
Description: OpenPGP digital signature