Trackpad firmware update
#1
[edit 10/01/2020] FW flahing Instructions have been edited for both ISO and ANSI users now


Credit goes to @tllim , @xalius , @ayufan and @anarsoul 

N.B. This trackpad/ keyboard firmware update applies to all Pinebook Pros produced in 2019

Before you start:
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.

The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.

Please report any issues you encounter in this thread.

What you'll need:
  • Your Pinebook Pro fully charged / running of mains power
  • Connection to WiFi
  • An external USB keyboard/ access to the Pinebebook Pro via ssh 

What you need to do:

Please follow @ayufan's instructions exactly

[edit 14/01/2020] If you encounter issues please try this.
[url=https://forum.pine64.org/showthread.php?tid=8407&pid=56570#pid56570][/url]
Instruction Brief for BOTH models (read original instructions for further details):

ISO version
Code:
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater
cd pinebook-pro-keyboard-updater
sudo apt-get install build-essential libusb-1.0-0-dev xxd
make

First Step:

Code:
sudo ./updater step-1 iso
sudo reboot

Second Step:
Code:
cd pinebook-pro-keyboard-updater
sudo ./updater step-2 iso
sudo reboot
------------------------------------------------------------------------

ANSI version
Code:
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater
cd pinebook-pro-keyboard-updater
sudo apt-get install build-essential libusb-1.0-0-dev xxd
make

First Step:
Code:
sudo ./updater step-1 ansi
sudo reboot

Second Step:
Code:
cd pinebook-pro-keyboard-updater
sudo ./updater step-2 ansi
sudo reboot
You can find me on IRC, Discord and Twitter


  Reply
#2
Just ran the updater. Worked well. Trackpad is MUCH better now. Is actually usable. I just followed the Ayufan's instructions exactly and had no issues.

A GREAT BIG thanks to all involved ( @tllim , @xalius , @ayufan and @anarsoul )
  Reply
#3
Hi,

thanks a lot for the firmware update! Missed keyboard keystrokes and bad tracking from the touchpad where major pain points for me. 

Would it be possible to open source keyboard and touchpad firmware? I'd love to see this device become even more open  Smile
Manjaro ARM

Kernel dev
Buy me a coffee
  Reply
#4
Worked great for me too.  Thank you all very much.

Matthew
  Reply
#5
Photo 
Code:
Running STEP-2...
[*] Flashing touchpad firmware...
[*] Opening in touchpad mode
>>> Trying to open VID:258a PID:001f...
>>> Kernel Driver Active
>>> Writing offset:0 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:1024 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:2048 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:3072 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:4096 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:5120 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:6144 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:7168 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:8192 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:9216 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:10240 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:11264 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:12288 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:13312 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:14336 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:15360 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:16384 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:17408 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:18432 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:19456 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:20480 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:21504 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:22528 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:23552 length:1024...
>>> Verifying '1k-data'...
[*] Verifying 'end-program'...
[*] Verifying 'checksum'...
[*] Verifying 'program'...
[*] Finished succesfully!
>>> release interface
[*] Flashing keyboard firmware...
>>> Fix hex file
[*] Opening in user mode...
>>> Trying to open VID:258a PID:001e...
>>> Device not found
>>> Trying to open VID:258a PID:001f...
[*] Sending command to switch to boot mode...
[*] Command send
>>> release interface
[*] Opening in boot mode
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Failed to open in boot mode
[*]
 
This doesn't look OK. And touchpad doesn't work.
Tried flashin second time, same result.
Anything I can  try to solve this?
  Reply
#6
(11-22-2019, 12:11 PM)MatejSpindler Wrote:
Code:
Running STEP-2...
[*] Flashing touchpad firmware...
[*] Opening in touchpad mode
>>> Trying to open VID:258a PID:001f...
>>> Kernel Driver Active
>>> Writing offset:0 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:1024 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:2048 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:3072 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:4096 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:5120 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:6144 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:7168 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:8192 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:9216 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:10240 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:11264 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:12288 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:13312 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:14336 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:15360 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:16384 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:17408 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:18432 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:19456 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:20480 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:21504 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:22528 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:23552 length:1024...
>>> Verifying '1k-data'...
[*] Verifying 'end-program'...
[*] Verifying 'checksum'...
[*] Verifying 'program'...
[*] Finished succesfully!
>>> release interface
[*] Flashing keyboard firmware...
>>> Fix hex file
[*] Opening in user mode...
>>> Trying to open VID:258a PID:001e...
>>> Device not found
>>> Trying to open VID:258a PID:001f...
[*] Sending command to switch to boot mode...
[*] Command send
>>> release interface
[*] Opening in boot mode
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Failed to open in boot mode
[*]
 
This doesn't look OK. And touchpad doesn't work.
Tried flashin second time, same result.
Anything I can  try to solve this?
[*]

Had that happen to me, too. It seems the touchpad does not enter boot mode reliably. Just rebooting and retrying fixed it for me.
Manjaro ARM

Kernel dev
Buy me a coffee
  Reply
#7
(11-22-2019, 12:15 PM)tsys Wrote:
(11-22-2019, 12:11 PM)MatejSpindler Wrote:
Code:
Running STEP-2...
[*] Flashing touchpad firmware...
[*] Opening in touchpad mode
>>> Trying to open VID:258a PID:001f...
>>> Kernel Driver Active
>>> Writing offset:0 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:1024 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:2048 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:3072 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:4096 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:5120 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:6144 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:7168 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:8192 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:9216 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:10240 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:11264 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:12288 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:13312 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:14336 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:15360 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:16384 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:17408 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:18432 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:19456 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:20480 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:21504 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:22528 length:1024...
>>> Verifying '1k-data'...
>>> Writing offset:23552 length:1024...
>>> Verifying '1k-data'...
[*] Verifying 'end-program'...
[*] Verifying 'checksum'...
[*] Verifying 'program'...
[*] Finished succesfully!
>>> release interface
[*] Flashing keyboard firmware...
>>> Fix hex file
[*] Opening in user mode...
>>> Trying to open VID:258a PID:001e...
>>> Device not found
>>> Trying to open VID:258a PID:001f...
[*] Sending command to switch to boot mode...
[*] Command send
>>> release interface
[*] Opening in boot mode
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Trying to open VID:0603 PID:1020...
>>> Device not found
>>> Failed to open in boot mode
[*]
 
This doesn't look OK. And touchpad doesn't work.
Tried flashin second time, same result.
Anything I can  try to solve this?
[*]

Had that happen to me, too. It seems the touchpad does not enter boot mode reliably. Just rebooting and retrying fixed it for me.
[*]
 
Just step-2 or everything from the start ?
  Reply
#8
(11-22-2019, 12:21 PM)MatejSpindler Wrote:  Just step-2 or everything from the start ?

While the manual states that you should always restart from step-1 I did only step-2 again after rebooting. It worked for me, but no gurantees. I believe the update steps are somewhat independent once step-1 has completed but that is just an intuitive assumption I got from the log output.
Manjaro ARM

Kernel dev
Buy me a coffee
  Reply
#9
Updating worked like a champ. A quick sloppy typing session in leafpad and it is a vast improvement, love it! Thank you.
  Reply
#10
Updated without a problem. Works much better!
However, when I am using the touchpad and I want to left click and I touch the touchpad, my mouse jumps around (also present previously). In general, much better and way more accurate. No problems with the upgrade as well.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Trackpad sensitivity barn 1 117 08-06-2020, 01:03 PM
Last Post: tophneal
  trackpad button misbehavior pinebookpro with kali jamiechonz@gmail.com 1 128 07-17-2020, 10:51 AM
Last Post: jpalus
  Trackpad doesn't pick up small movements dieselnutjob 3 404 07-15-2020, 06:18 AM
Last Post: dieselnutjob
  Lifting Trackpad p3pp3r 6 343 07-10-2020, 10:19 AM
Last Post: p3pp3r
  Stuck trackball / trackpad issue charlespine 0 129 06-27-2020, 03:27 PM
Last Post: charlespine
  Trackpad woes robt 22 1,499 06-26-2020, 03:03 PM
Last Post: robt
  issues with keyboard/trackpad in Manjaro, can't test other OSs joshw 11 905 06-25-2020, 08:11 AM
Last Post: joshw
  Default OS update log Luke 194 57,599 06-11-2020, 11:25 PM
Last Post: xmixahlx
  Unresponsive trackpad - brand new PBP oxoocoffee 2 317 06-04-2020, 01:35 PM
Last Post: oxoocoffee
  Mr. Fixit Script Manual Update + MicroSD Boot help SageFox 12 1,058 04-17-2020, 03:30 AM
Last Post: mlentink

Forum Jump:


Users browsing this thread: 2 Guest(s)