Opened 6 years ago

Closed 5 years ago

Last modified 3 years ago

#8451 closed defect (fixed)

OFW should support Synaptics touchpad

Reported by: wmb@… Owned by: wmb@…
Priority: normal Milestone: 8.2.1
Component: ofw - open firmware Version: not specified
Keywords: 8.2.1:+ staging-9:- Cc: smithbone, dsd
Blocked By: Blocking:
Deployments affected: Action Needed: test in build
Verified: no

Description

In Q2E17 and earlier, "test /mouse" works correctly with the Alps touchpad, but doesn't support the "standard mouse" protocol.

Change History (24)

comment:1 Changed 6 years ago by wmb@…

  • Resolution set to fixed
  • Status changed from new to closed

Fixed by svn 931. The fix will appear in Q2E18. A test build with the fix is in http://dev.laptop.org/~wmb/q2e17d.rom

comment:2 Changed 6 years ago by mstone

  • Action Needed changed from never set to approve for release
  • Resolution fixed deleted
  • Status changed from closed to reopened

Q2E18 hasn't shipped yet so this isn't truly fixed (though I appreciate that there are tested changes available which we believe compromise a fix.)

comment:3 Changed 6 years ago by mstone

  • Action Needed changed from approve for release to add to release

Approved.

comment:4 Changed 6 years ago by cscott

  • Action Needed changed from add to release to test in release

Please test build 761 resulting from build-repo commit 66520e40.

comment:5 Changed 6 years ago by thomaswamm

Testing Q2E18 which came with olpc-update 8.2-763:

In OFW, 'test-all' apparently crashes just after the touchpad test which I believe is the 'test mouse' subset of 'test-all'.

I get the message 'Invalid Opcode' after the 2... 1... countdown after I press any key to exit the touchpad test.

I tried it about 5 times; it always ends with 'Invalid Opcode' then returns to the 'ok' prompt. It never got to the keyboard test.

Also, once I saw a failure message, maybe for the timer@i40 test (never got to 1, or something like that). I wasn't taking notes.
Looks non-reproduceable.

comment:6 follow-up: Changed 6 years ago by wmb@…

Fixed by svn 944. The touchpad selftest was leaving a spurious extra number on the stack, confusing the test-all code that scans for selftest methods.

comment:7 in reply to: ↑ 6 Changed 6 years ago by rhoward

I installed q2e19 and found that although the self test for mouse no longer crashes it fails to run the mouse self test on a G1G1 XO with the original ALPS track pad. I get back

"PS/2 Mouse (trackpad) open failed
mouse selftest failed. Return code = 1"
it then moves on to the next test.

Shouldn't the self test for Alps trackpad continue to work?

comment:8 follow-up: Changed 6 years ago by wmb@…

Fixed by svn 979. A couple of interesting things were happening.
First, sometimes when the mouse driver tried to identify the device during the initial open, it would get a "resend" response instead of an ack. That was confusing the identify routine. The solution is to honor the resend request and re-issue the command. Second, if you ran "test /mouse", then stopped it, then ran your finger over the touchpad, then ran "test /mouse" again, the second try would fail due to characters being queued up in the EC and confusing the identify response. When the first problem was fixed, the second problem manifested differently, as long (10 seconds) delays when trying to run "test /mouse" again. The fix for that is to turn off mouse streaming in the close routine, so the mouse doesn't send when it's not in use.

If anybody wants to try this change, there's a test build at http://dev.laptop.org/~wmb/q2e19a.rom .

comment:9 in reply to: ↑ 8 ; follow-up: Changed 6 years ago by rhoward

Replying to wmb@firmworks.com:

Fixed by svn 979. A couple of interesting things were happening.
First, sometimes when the mouse driver tried to identify the device during the initial open, it would get a "resend" response instead of an ack. That was confusing the identify routine. The solution is to honor the resend request and re-issue the command. Second, if you ran "test /mouse", then stopped it, then ran your finger over the touchpad, then ran "test /mouse" again, the second try would fail due to characters being queued up in the EC and confusing the identify response. When the first problem was fixed, the second problem manifested differently, as long (10 seconds) delays when trying to run "test /mouse" again. The fix for that is to turn off mouse streaming in the close routine, so the mouse doesn't send when it's not in use.

If anybody wants to try this change, there's a test build at http://dev.laptop.org/~wmb/q2e19a.rom .

Just been testing q2e19a and the self test mode is still buggy. I am testing with a G1G1 laptop with Alps trackpad .
Seen several different things happen.

I ran the complete self test a couple of times by cold booting with the left rocker held down.
1.) One time when it went into the mouse test phase as soon as I touched the right hand section of the touchpad it left the mouse test and went to the next test.

2.) When I ran test mouse from the ofw prompt the screen was left black until I hit enter a few times.

3.) Another problem is when you run 'test mouse' from the ofw prompt the screen the following may occur:

"Pressure: 10
Touchpad protocol botched

mouse selftest failed. Return code = -1
ok

Touchpad test. Both buttons clears screen. Type a key to exit."

I can repeat number 3 just by running finger around trackpad while varying pressure.

comment:10 in reply to: ↑ 9 Changed 6 years ago by rhoward

Replying to rhoward:

Just been testing q2e19a and the self test mode is still buggy. I am testing with a G1G1 laptop with Alps trackpad .
Seen several different things happen.

I ran the complete self test a couple of times by cold booting with the left rocker held down.
1.) One time when it went into the mouse test phase as soon as I touched the right hand section of the touchpad it left the mouse test and went to the next test.

2.) When I ran test mouse from the ofw prompt the screen was left black until I hit enter a few times.

3.) Another problem is when you run 'test mouse' from the ofw prompt the screen the following may occur:

"Pressure: 10
Touchpad protocol botched

mouse selftest failed. Return code = -1
ok

Touchpad test. Both buttons clears screen. Type a key to exit."

I can repeat number 3 just by running finger around trackpad while varying pressure.

I realize I need to clarify item 2 above. It should read:

2.) When I ran' test mouse', from the ofw prompt, on completion of the test the screen was left black until I hit enter a few times

comment:11 follow-up: Changed 6 years ago by wmb@…

svn 981 attempts to fix the issues raised above.

http://dev.laptop.org/~wmb/q2e19b.rom is a test build.

comment:12 in reply to: ↑ 11 Changed 6 years ago by rhoward

Replying to wmb@firmworks.com:

svn 981 attempts to fix the issues raised above.

http://dev.laptop.org/~wmb/q2e19b.rom is a test build.

Just tested q2e19b self test mode and it now seems to work. I tested with a G1G1 laptop with Alps trackpad. I ran the complete self test a couple of times by cold booting with the left rocker held down and the tests seemed to run okay even when trying to fill char buffer before going into mouse test. Also ran from ofw prompt 'test mouse' and this ran okay. Tried various gestures on the trackpads and the mouse button combos. On exiting 'test mouse' the screen was cleared. Self test seems to now work OK for XO with Alps trackpad.

I assume someone else will test with Synaptics trackpad

comment:13 Changed 6 years ago by mchua

|Test case|

Do the following on 2 XOs running the latest build of 8.2.1 and q2e19b (or later) firmware, both with developer keys. One of the XOs should have an Alps touchpad, and the other should have a Synaptics touchpad.

  1. Boot the XO with the left rocker button held down go to into self-test mode. It should run through a series of diagnostics. What we're looking for here is that it gets past the mouse/touchpad diagnostic test.
  2. Boot the XO with the Esc key held down to get to the OFW prompt (the "ok" prompt). Run "test /mouse" (no quotes) twice while moving your finger across the trackpad and pressing various mouse button comobs during the test. The test should pass both times.

If both subtests pass for both laptops, the test passes.

comment:14 Changed 6 years ago by mstone

  • Action Needed changed from test in release to communicate
  • Milestone changed from Not Triaged to 8.2.1

Mitch, Richard -- can you please recommend a firmware for integration testing? Thanks!

comment:15 Changed 6 years ago by edmcnierney

  • Keywords 8.2.1:+ added

comment:16 Changed 6 years ago by cjb

  • Cc smithbone added

Richard, Mitch, could you confirm that whichever firmware you're nominating for 8.2.1 contains a fix for this? Is that firmware in an 8.2.1 build for us to test yet?

comment:17 Changed 6 years ago by wmb@…

The current test candidate for 8.2.1 is Q2E24. All firmware versions Q2E20 and later have the fix for this problem.

comment:18 Changed 6 years ago by cjb

  • Action Needed changed from communicate to add to release

Great, thank you. Setting to add to release to ensure that we get Q2E24 in the next build.

comment:19 Changed 6 years ago by cscott

I've copied rsmith's bootfw-q2e24 packages from his public_rpms/joyride to his public_rpms/staging to ensure it is added to the next staging build.

comment:20 Changed 6 years ago by cscott

  • Action Needed changed from add to release to test in build

comment:21 Changed 6 years ago by dsd

  • Action Needed changed from test in build to diagnose
  • Cc dsd added
  • Keywords staging-9:- added

I am running Q2E24 from staging-9 on a C2 with ALPS touchpad.
This bug is not fully fixed.

Using the left-rocker to trigger all tests, the problem appeared after the touchpad test (which worked fine). It counted down to the next test (the keyboard one, I think) and then printed a message "General ...." (it scrolled off the screen too quickly for me to read it) and then prints "Invalid Opcode" in an endless loop.

"Invalid Opcode" is repeated indefinitely after the touchpad test. Reproducible 3 out of 3 tries. Also reproducible through the "test-all" command

"test /mouse" repeatedly works fine (Mel's 2nd test), as does "test /mouse" followed by "test /keyboard"

On another day, I can provide ssh access to minicom to debug this over a serial console, if necessary.

comment:22 Changed 6 years ago by wmb@…

You may be seeing #9178 instead. Try Q2E27 or Q2E28.

comment:23 Changed 6 years ago by dsd

  • Action Needed changed from diagnose to test in build

works there, thanks. I can confirm that mchua's test case passes on an ALPS touchpad. Now we need someone to test on synaptics.

comment:24 Changed 5 years ago by wmb@…

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.