Group: Hardware/research/laptop/Pinebook PRO

From LibrePlanet
Jump to: navigation, search

Introduction

This page research if it's possible to replace a Libreboot Thinkpad with a Pinebook PRO and how much freedom issue the Pinebook PRO has.

Research

Nonfree firwmares:

  • Internal WiFi / Bluetooth [1] => Use another WiFi / Bluetooth adapter on another bus (USB, PCIe, etc).
  • dptx.bin: The internal display works without it but the external displays won't work without it.

There might be other too like video decoding offload (which can be avoided by decoding videos with the CPU) but if they are they are not very visible: users will probably not notice any lack of functionality.

WiFi

An adapter [2] exists to enable to connect NGFF A/E key WiFi cards.

Thinkpenguin also seems to have some potentially compatible cards that use the ath9k driver:

I don't know if the length match or if you an E only keyed cards works with an A/E NGFF adapter.

Alternatively it's possible to use external USB WiFi cards, but they will be limited to 2.4GHz and there is a tradeoff to make between the range and the key size.

Some more research might be needed to understand if it's possible to easily mount an USB WiFi card inside that laptop.

Storage

  • 128M flash chip: can be used for the bootloader[3]: This way you could encrypt fully the other storage which have internal nonfree firmwares.
  • Removable eMMC (64G or 128G available at the time of writing)
  • MicroSD (SD3.0, MMC 4.5, up to 50MB/s)
  • Adding an NVMe is also possible but this has some downsides:
    • This occupies the PCIe connector. It might be a better idea to try to find a way to connect an ath9k compatible card on that connector.
    • The NVMe has an internal nonfree firmware and probably has DMA access to your RAM

Status

According to the person who worked to add support for it in Guix, some time ago it still required some patches to boot[4] as without them it didn't boot. There are now new patchsets[5] and new kernel releases available so they need to be tested to understand if it's possible to boot and use a Pinebook PRO without any kernel patches.

If / when that will be the case we'd have more guarantee of being able to continue using it: kernel patches require maintenance, and distributions don't always have the time to maintain them, whereas if they are integrated in Linux, they'd support that laptop automatically.

Other differences with a Libreboot Thinkpad

Libreboot Thinkpad Pinebook PRO
Architecture
  • i686 on some laptops
  • x86_64 on others
  • ARM 64bit

See distribution compatibility for more infos.

Embedded controller firmware Nonfree

Handles:

  • The keyboard
  • The power up sequence (voltages, power rails)
  • WiFi / bluetooth power on/off
  • Battery charging
  • etc
Unsure if it's free software.

probably handles similar things.

RAM 4G, 8G possible with specific RAM DIMMs. 4G soldered
Ethernet Integrated Through USB adapter
Display Mate, good enough for working. Mate, more recent / better?
Debug
  • UART in the dock on some laptops, or absent on other
  • It might be possible to add an UART through the express card connector
  • USB Debug (not very practical)
  • Reinstalling Libreboot can be time consuming on some laptops (~1day) while it can be really fast on other (minutes)[6].
  • External UART connector (multiplexed with sound?)
  • TODO: What is the SOC/device boot order?

References

  1. https://forum.pine64.org/showthread.php?tid=11136
  2. https://forum.pine64.org/showthread.php?tid=9727
  3. https://wiki.pine64.org/index.php?title=Pinebook_Pro_SPI
  4. https://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-pinebook-pro&id=47a5442aa7dad8b1904483954e91640c3cac5e90
  5. https://gitlab.manjaro.org/tsys/linux-pinebook-pro/-/commits/v5.10
  6. It of course depends on people's skills, flash programmer speeds and so on but it's not uncommon to spend ~8h to disassemble and reassemble a Thinkpad T400 when doing it the first time, while it probably takes less than 10 minutes for a Thinkpad X200. Doing that is needed to install Libreboot or reinstall it if the computer doesn't boot anymore.