Hi,

The code received few minor improvements recently which can affect the
usability of this device so if you have one please read on.


Some background info on the hardware versions follows. Pinebook Pro is
a toy laptop based on RK3399 SBC design with rudimentary circuity to
handle a 1S LiIon cell marketed and sold by PINE STORE LIMITED. There
were essentially two slightly different variants, the initial mass
produced device and the newer batches manufactured after the COVID-19
components shortage was largely over. The important differences are:

1. Later batch has 9600 mAh battery (instead of the earlier 10000 mAh
one) for which no calibration data exists so the reported "state of
charge" value is about as good as random. The voltage is accurate
either way though;

2. First version had AMPAK AP6256 WiFi/Bluetooth SDIO module, the
newer version has AzureWave AW-CM256SM. For that one needs to manually
copy /etc/firmware/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
to brcmfmac43455-sdio.pine64,pinebook-pro.txt (until the bwfm firmware
package is updated to current linux-firmware);

3. With Linux it's established that for suspend to RAM to work on
post-pandemic variant one needs to use U-Boot built with proprietary
Rockchip DRAM init blob.


OpenBSD status highlights for PBP with the current snapshot:

* Using up-to-date U-Boot (or its fork Tow-Boot) is possible both for
  installation and running the system, that gives the following
  possibilities: 1. Keyboard input so you can set boot> parameters
  without serial console; 2. USB mass storage so you can install
  and/or run from external medium connected via USB;

* Display support for the installer images, this allows to go through
  the whole process without serial console if you enter "set tty fb0"
  at the boot> prompt or add that to /etc/boot.conf on the partition
  with the kernel;

* The chances of getting stuck on startup (or reboot) with bwfm
  timeouts are greatly reduced, hopefully this bug won't bother much
  anymore.


Known issues:

* Under maximum CPU load sometimes the charging red LED on the side
  starts blinking, charging stops and the system continues to run on
  battery. This is a hardware issue caused by wrong battery
  temperature measurements and can only be fixed by lots of external
  cooling (so that the battery is under 46 degrees) or by replacing
  two resistors on the mainboard (so that the limit is set to 60
  degrees following JEITA guidelines);

* The SoC runs hotter than it should because OpenBSD doesn't currently
  support non-retaining CPU idle states, this could be fixed one day
  but not trivial;

* No wakeup interrupts are enabled so there's no chance to resume from
  zzz(8), in my testing with ad-hoc hacks it "almost worked" (gave
  shell prompt, then hanged on uni-processor build) so there is a
  chance to get it working later;

* Linux GPU driver "panfrost" is GPL-2.0 only so even though one can
  build Mesa it would lack the kernel component so do not expect
  accelerated OpenGL on this hardware with OpenBSD.


If you're interested in this hardware please feel free to share your
experience or ask questions (including schematics-level), I'll try to
help where I can.

Reply via email to