| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 30,120
» Latest member: benstoke
» Forum threads: 16,364
» Forum posts: 117,537
Full Statistics
|
| Latest Threads |
Real women, real desire, ...
Forum: General
Last Post: Spaker
7 hours ago
» Replies: 0
» Views: 26
|
Weatherproof case build
Forum: Enclosures
Last Post: ltorsini
07-07-2026, 07:01 PM
» Replies: 12
» Views: 38,519
|
Pinephone + Keyboard for ...
Forum: PinePhone Hardware
Last Post: PinePhoneProUser
07-07-2026, 04:47 PM
» Replies: 16
» Views: 11,079
|
pinecil v2 dosent negotia...
Forum: General Discussion on Pinecil
Last Post: moses
07-07-2026, 07:28 AM
» Replies: 0
» Views: 94
|
Pinephone software
Forum: General Discussion on PinePhone
Last Post: Csanderson0313
07-06-2026, 05:22 PM
» Replies: 2
» Views: 256
|
Rock64 v2.0 u-boot SPI is...
Forum: General Discussion on ROCK64
Last Post: ju0n
07-05-2026, 11:02 AM
» Replies: 0
» Views: 133
|
Libby - ebook reader that...
Forum: PineNote Software
Last Post: kiwigoldfish
07-04-2026, 04:41 PM
» Replies: 6
» Views: 4,097
|
PineNote v1.2 - Charges N...
Forum: General Discussion on Pinebook Pro
Last Post: ttsp
07-02-2026, 02:52 AM
» Replies: 0
» Views: 333
|
How to change the PineNot...
Forum: General Discussion on PineNote
Last Post: cameronharring
07-01-2026, 12:22 PM
» Replies: 0
» Views: 187
|
PinePhone Pro disable Vol...
Forum: PinePhone Pro Hardware
Last Post: FR_IV
07-01-2026, 10:53 AM
» Replies: 1
» Views: 1,638
|
|
|
| Touchpad, Keyboard, I2C oh my. |
|
Posted by: resistanceisfutile - 01-15-2020, 05:17 PM - Forum: Pinebook Pro Hardware and Accessories
- Replies (12)
|
 |
As of the latest firmware update for the keyboard and touchpad that is miles better for the keyboard, users have been reporting a sort of input lag with the touchpad. With the right libinput tweaks, it is a little annoying but usable.
I too did some experimenting, but did not get very far.
The keyboard is driven by the SH68F83, which presents two interfaces over USB - one for keyboard and one for touchpad. The touchpad is connected to the SH68F83 over an i2c bus. An eeprom is also connected to the SH68F83 i2c bus and is used only for persisting the kill switches states. When the touchpad is touched, interrupts are fired alerting the SH68F83 to read registers and proxy data back to the OS over USB.
@xalius has been attempting to reverse the the firmware that runs on the SH68F83, a USB/keyboard MCU with an 8051 core.
How I suspect the keyboard and touchpad firmware update process works:
- A firmware fw_tp_update.hex is flashed to the SH68F83. This firmware appears to be named XW-TPUTOOL_TV3-US-H1-12-00.
- The touchpad update firmware receives tpfw.bin over USB and then flashes it to the touchpad IC (likely over i2c at 400KHz, but could be some OOB bitbang over the i2c bus)
- The fw_ansi.hex or fw_iso.hex are then flashed back to the SH68F83.
According to the SH68F83 datasheet, two flashing modes are described. ICP (JTAG) after an undocumented waveform is modulated - followed by the flash - the protocol also undocumented. Another mode, SSP (Self-Sector Programming) is described. This mode is performed by code running on the 8051 MCU, and would thus require said code to be part of the firmware image.
Dissassembly of the 8051 code in the available images has so far been fruitless. The SH68F83 has many application-specific SFRs that - while listed in the datasheet - do not appear in any of the dissassemblies I have tried (after modifying a disassembler to print their names).
If SSP mode is being used, then there should be code in the firmware images that more or less does the following:- Get a block of data from the USB transceiver. Using the TX* and RX* SFRs.
- Fill XPAGE, IB_OFFSET, and IB_DATA SFRs with the flash sector, offset into the sector, and data to write.
- Kick off a state "gate" by sequentially filling IB_CON1, IB_CON2, IB_CON3, IB_CON4, and IB_CON5 with a magic numbers.
Another theory is that there is perhaps an undocumented USB flashing mode and the updater tool (which I've been told was derived from a mysterious reverse-engineered? windows-based flash tool).
Access to the i2c bus is available on the touchpad. Can access the eeprom here too. I forgot to mark V33 (3.3V) is the pad next to D1.
![[Image: yYI8392.jpg]](https://i.imgur.com/yYI8392.jpg)
From the factory, the eeprom is erased (all 0xFF). What this tells us is the firmware running the SH68F83 is checking for 0xFF at address 0x00 of the eeprom and ensuring none of the kill switches are enabled.
The 3 LSBs of address 0x00 in the eeprom correspond to the state of the kill switches:
Pine+F10 = Bit 1
Pine+F11 = Bit 2
Pine+F12 = Bit 3
All other bits will be zero. Once a kill switch is pressed, the 3 LSBs will hold the state of each switch and the rest of the bits will remain zero forever. High = kill switch enabled, Low = disabled.
When the system boots, the SH68F83 firmware accesses the eeprom to read these 3 bits. This occurs regardless of what is happening with the SoC.
All I have is a Bus Pirate - and it's not fast enough to sniff even the 100KHz i2c. I was able to capture partial data from both the eeprom accesses and from the touchpad. However, the flash operation over i2c (or OOB something?) was either running at 400KHz or it's not i2c. The idea is to get a dump of what gets sent to the touchpad IC during step-2 of the firmware updater tool, as that is when i saw the largest burst of traffic over i2c.
Regarding the touchpad IC. The spec sheet from the pinebookpro wiki says the touchpad is using a PCT1336QN - for which a datasheet is available. It is a QFN48. Even though the pcb is the same model number, they're not using a PCT1336QN. It's a QFN40 part number HLK H2168. Searches for any information on this part have come up with nothing. No idea what it is. And without a $400 Saleae, I've exhausted my options.
Hoping somebody with more toys and experience can pick up from here? Here's what we're hoping for:
- A proper dissassembly of the SH68F83's 8051 code from the firmware .hex files.
- A dump of sniffed i2c traffic during a firmware update of the touchpad.
- A dump of sniffed i2c traffic while using the touchpad, with correlation to what was happening on the touch pad (tapping, two fingers, scroll, pressing the buttons, etc.)
- What the heck is the HLK H2168? Datasheets or any info anyone can find about this chip are greatly appreciated.
Additional note: I found the bCountryCode byte in both the ISO and ANSI firmwares in what I think is what the datasheet refers to as the "Information Block", which could be useful. Gave @xalius a link to my patched firmwares for testing. This could be helpful in terms of further updates - the flasher tool could detect the country code and thus eliminate the need to specify it when running the update.
|
|
|
|
| Fried eMMC? |
|
Posted by: matega - 01-15-2020, 03:25 PM - Forum: General Discussion on Pinebook Pro
- Replies (7)
|
 |
I have a Pinebook Pro. I did the following: - I flashed the Manjaro image on the eMMC from Debian running on from the SD card. That rendered it unbootable, it only lit up both LEDs if I tried to power it on.
- I concluded that it must have a corrupt bootloader or u-boot on the eMMC, so I removed it. It then booted fine from the SD card.
- I did the trick where I reinstalled the eMMC and then switched on the eMMC switch just after the machine started booting. It booted from the SD card and recognized the eMMC.
- I then zeroed out the first few MBs of the eMMC in order to nuke the defunct bootloader or u-boot. After a few seconds the machine hung, I though it was because it filled its RAM with IO cache, no big deal.
- Since it must have gone past the bootloader already, I reset the machine - and after that it never showed the eMMC drive again. It doesn't show up in /dev, it isn't shown in gparted. Dmesg only shows one line containing mmc1, it's about clock speed being set. I misplaced my USB eMMC reader, so I can't test it using that. I tried using rkflashtool, it shows this:
Code: rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3399...
rkflashtool: info: interface claimed
rkflashtool: info: MASK ROM MODE
rkflashtool: info: Flash ID: 00 00 00 00 00
rkflashtool: info: Flash Info:
Manufacturer: Samsung (0)
Flash Size: 0MB
Block Size: 0KB
Page Size: 0KB
ECC Bits: 0
Access Time: 0
Flash CS:
but it shows the same even if I remove the eMMC. (I had to patch rkflashtool and add the pid of rk3399 because it wouldn't find the pbp) Did I fry the module somehow? How to test it further before ordering (and waiting for) another eMMC reader? (I want to order a new eMMC too if this one is really fried and I don't want to pay for shipping twice)
|
|
|
|
| Hissing noise when using headphones |
|
Posted by: RotatingNut - 01-15-2020, 02:07 PM - Forum: General Discussion on Pinebook Pro
- Replies (4)
|
 |
Hi,
I'm relatively new to the PBP, having received it only a few days ago, and I have a problem:
Whenever I playback any video or audio on Firefox or Chromium and listen via my headphones I can hear a strange hissing noise that stops whenever I stop the playback. Also, in Firefox, the audio only plays back if the local volume setting (that is within e.g. the video player) is at its maximum. Am I doing something wrong?
I'd like to thank for your help in advance!
|
|
|
|
| Unable to boot: blinking red light |
|
Posted by: houki - 01-15-2020, 12:16 PM - Forum: General Discussion on Pinebook Pro
- Replies (8)
|
 |
It seems that after modifying my fstab on manjaro to mount a swap partition, the pinebook pro is unable to boot.
The problem is, the mmc has boot priority over the sd-card, so the only way to boot from sd is to disable the mmc, which leaves me unable to access the fstab in question. Enabling the mmc after boot doesn't make it visible either.
However, now I think about it, when I was installing manjaro, it did boot from the sd-card without having to disable the mmc.
Can it be something else that's wrong? A corrupted u-boot install maybe?
Unfortunately, I don't have a working UART cable (I ordered the official one that runs on 5V), nor do I have a usb to mmc adapter.
Does anyone have any ideas to fix this?
|
|
|
|
| System hard-freezes and reboots shortly after startup |
|
Posted by: trgt - 01-15-2020, 11:25 AM - Forum: General Discussion on Pinebook Pro
- Replies (1)
|
 |
Hi all. My brand new Pinebook Pro has been working fine since Monday but I've been having issues with it today. Around 30 seconds after the login screen displays the system freezes up for around ten seconds and then reboots. I'm running the default image and haven't changed any settings on the machine.
If I tail /var/log/syslog this is the last message I get before it locks up:
Code: serial8250: too much work for irq35
What are my next steps? I'm not sure how to debug this.
|
|
|
|
New Pinebook Pro - no sound |
|
Posted by: vve1505 - 01-15-2020, 11:05 AM - Forum: General Discussion on Pinebook Pro
- Replies (9)
|
 |
Hello all,
Just received my PBP yesterday. I typically use Ubuntu, so the desktop will take a little getting used to. However, I created a new sudo user acct, which does not have sound playback at all. The default "rock" user does have sound playback.
I searched the forums and found a post about the alsamixer / selecting the correct sound device, but this did not work. How do I get sound playback for accounts other than the default "rock" user?
Thanks!
|
|
|
|
| *** MyDigitalSSD SBXe 960 GB success story *** |
|
Posted by: as400 - 01-15-2020, 10:05 AM - Forum: Pinebook Pro Hardware and Accessories
- Replies (12)
|
 |
Today I installed this drive with @danielt hack (thanks ).
PBP was at 14% of battery at the time I booted it and the boot was successful. Then I copied almost entire filesystem from eMMC to SSD and it went fine.
So I think one might say it works OK. If anything bad happens I will update this thread.
I ordered it on amazon and it came quite quick delivered straight from amazon warehouse by DHL.
edit1: I have put it into hardware accessory compatibility list on wiki.
edit2: Some performance comparison between eMMC and NVME:
[root@pbp ~]# hdparm -Tt --direct /dev/nvme0n1
/dev/nvme0n1:
Timing O_DIRECT cached reads: 1934 MB in 2.00 seconds = 966.69 MB/sec
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Timing O_DIRECT disk reads: 2646 MB in 3.00 seconds = 881.86 MB/sec
[root@pbp ~]# hdparm -Tt --direct /dev/mmcblk2
/dev/mmcblk2:
Timing O_DIRECT cached reads: 300 MB in 2.01 seconds = 149.55 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing O_DIRECT disk reads: 440 MB in 3.01 seconds = 146.42 MB/sec
|
|
|
|
| nVME crashes system |
|
Posted by: mamboman777 - 01-15-2020, 05:47 AM - Forum: General Discussion on Pinebook Pro
- Replies (29)
|
 |
I'm having issues using my nVME drive with my pinebook pro. Any time I do any sort of major read or write the entire system freezes. I have attempted the power reduction settings listed in the wiki, however, the state is not saveable and does not fix the issue. I'm using a Samsung 970 500gb. Any help would be appreciated; I'm at a loss.
|
|
|
|
|