Problem with the LCD screen when rebooting Pinebook Pro

Before switching to Manjaro 20.08 I was using default Mrfixit2001’s Debian and ISO keyboard. Just before the switch, I’ve changed the keyboard to ANSI. Replacing keyboard in a Pinebook Pro means that you need to disassemble it completely and reassemble with a new one. After changing the keyboard I’ve booted Debian once to flash the keyboard firmware. The process of flashing keyboard firmware includes rebooting and it was normal. Then I’ve opened the Pinebook Pro one more time to switch eMMC module to the one with Manjaro 20.08 (now I’m on the 20.10 version, but the problem persists). Just after setting up a new Manjaro ARM install there is first reboot and LCD did not work properly. It happens after every reboot, the screen shows three vertical stripes through the entire screen (it is the logo, I think) when the Manjaro logo should be on the boot screen and turns gray when the login screen should be displayed. It happened on the 5.8 kernel, on 5.7.19 (from linux-pinebookpro package) it happens too, but the external screen works with this kernel and it works properly, only the LCD screen is affected. I’m using Manjaro for a month now and without reboots the LCD works perfectly. Is it because of the mainline uboot? I can’t find anything related on this forum or on the Pine64 forum, either. I’m on the stable branch.

I have this problem as well, my pinebook pro is the one that came with Debian and I had to change the keyboard last month. Reboot is having problems with Manjaro 20.08 and 20.10, it’s fine with 20.06, this one is using u-boot 2020.04 and it’s working fine in my testing but what I did was to install uboot-pinebookpro-bsp and flash this uboot, this one is working fine too. The problem is with uboot 2020.07 and 2020.10 (I think these ones are the mainlines?)

1 Like

This only happens on some units.

The unit I have, does not have this issue with uboots 2020.07 or 2020.10.

1 Like

According to rickin’s post, to fix this I need to just install uboot-pinebookpro-bsp, right?
First I’d need to install this package with pacman and then run those three echoed dd commands to flash it. What will these three dd commands rewrite? Are they still safe too run with two partition images from the recent Manjaro ARM versions? I don’t want to brick my PBP.

They flash the actual firmware to the drive. The firmware (BSP one) is split into 3 parts, therefore 3 DD commands.

Yes. The BSP uboot works with newer Manjaro versions.

The only reason I can see to use BSP uboot is to get suspend support. All the other things, mainline uboot does better.

1 Like

if you install bsp check extlinux.conf in /boot/extlinux. This package tries to change the root label there to ROOT, it should be like this: root=LABEL=ROOT_MNJRO.

1 Like

Will the BSP uboot fix the LCD problem for me? What additional steps I’d need to revert to the mainline uboot? The mainline uboot consists of two .img files, so I’ll probably need to zero out what was in trust.img after doing the two echoed dd commands (if there is need to do it manually after ‘pacman -S uboot-pinebookpro’), right?
PS. I’ve kept the original eMMC module with updated Debian from Mrfixit2001, I can send you the extracted uboot, if it will help anyone, but I’ll need to extract it first.

I have found https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro-bsp/-/blob/master/uboot-pinebookpro-bsp.install, it is from June, so there should be now a sed command in post_install function changing ROOT to ROOT_MNJRO, I think, but I’ll check it before power off. Thank you.

I don’t know. I don’t have the LCD issue on any uboot. So don’t know what will fix it for you.

Best is to zero out the sections, before you DD the new uboot.

I have no need for that uboot. It’s basically the same binaries as the ones provided by the uboot-pinebookpro-bsp package.

I’ve finally flashed the u-boot from the last update (2020.07-3), but it didn’t fix my LCD problem. I’ve wondered if the two 4MB devices named mmcblk2boot0 and mmcblk2boot1 are the areas where the U-Boot is stored on the eMMC module. but their existence is just a movement made to confuse the opponent (me).

In this package are files from 1.5 branch of mrfixit2001 github, there is a newer version of uboot.img in 2.0 branch (which was flashed on my old module). According to this: https://forum.pine64.org/showthread.php?tid=7830 the newer version from 07/02/2020 added USB 3.0 booting (changed USB 3.0 priority over eMMC). If it’s the only change and I’ve never used USB booting option with my Pinebook Pro, I don’t know if there is any sense in flashing 2.0 version instead of 1.5. But assuming that I’ll flash the 2.0 version, do I need to copy uboot.img file from 2.0 branch to /boot folder or flashing it will do just fine (after installing uboot-pinebookpro-bsp package)?

According to GParted there is 30.52 MiB of unused space before the boot partition. How the dd command should look a like to clear what it’s needed and not overwrite anything important?
My plan is to check out BSP U-Boot, if it won’t fix the LCD problem, I’ll go back to the mainline U-Boot.

The BSP U-Boot fixed my LCD reboot problem. I wonder, what is the difference between these two U-Boots and the Pinebook Pro models with weirdly acting LCDs (the ones with preinstalled Debian? I don’t know if changing the keyboard have some influence on recognizing them) and the models without LCD reboot problem (the ones with preinstalled Manjaro?).

Yeah, it fixed the issue for me too, still not sure why. I did notice 04-2020 uboot is working too (from Manjaro 20.06), not sure what changed between uboot versions to have this problem(or maybe keyboard change like you said). For now I will be using BSP with Manjaro.

I’ve also noticed the lack of weird sounds, but maybe it’s just a placebo effect. I don’t know, if 1.5 version uboot was an “old” version of uboot, mentioned in Pinebook Pro Wiki, that didn’t used UART for console output.
EDIT: Nope, it was a placebo effect. The whining sounds and plops are still here.

Could I have please the download link for the BSP-Uboot and its documentation please?

The BSP-Uboot comes from uboot-pinebookpro-bsp package from official Manjaro ARM repository. It was packed by @spikerguy but the files are prebuilt binaries from mrfixit2001 github https://github.com/mrfixit2001/updates_repo/tree/v1.5/pinebook/filesystem (there is a newer version of uboot.img in 2.0 branch from February 2nd, the files from manjaro-arm gitlab are from February 27th and contains files from October and November). I didn’t find any documentation or source files (but it doesn’t mean there isn’t any).
To install it on your Pinebook Pro you will need to first install uboot-pinebookpro-bsp, e.g.:

sudo pacman -Sy uboot-pinebookpro-bsp

During the installation there will be a message:

A new U-Boot version needs to be flashed our install drive. Please use lsblk to determine your drive, before proceeding.
You can do this by running:
# dd if=/boot/idbloader.img of=/dev/mmcblkX seek=64 conv=notrunc
# dd if=/boot/uboot.img of=/dev/mmcblkX seek=16384 conv=notrunc
# dd if=/boot/trust.img of=/dev/mmcblkX seek=24576 conv=notrunc

The X should be a number, you can use lsblk to list all block devices or just run:

ls /dev/mmcblk?

You need root privileges to run above dd commands.
To finish installation, you will have to power off using e.g. sudo poweroff. During start with BSP U-Boot the LED is green from the beginning.
The uninstallation process is tricky because the mainline U-boot has 2 files (instead of 3) and the sizes are different. It will not install it self, it’ll just print similar message (but with two dd commands) but I don’t know if they are sufficient after BSP installation, the BSP U-Boot will have to be removed by zeroing out what was previously flashed. The safest way to do it is to first create files with zeros with the same sizes like the files idbloader.img, uboot.img and trust.img, then dd these files with zeros instead of the BSP U-boot ones. This way one will not accidentally overwrite the whole eMMC module with zeros.

2 Likes

Big sh…t

Done all like written in previous post and now the system does not book anymore :frowning:
LED goes green and remains green, screen is black

I have to overwrite it - better install from scratch on the EMMC and then link the SSD later on

Could not boot from SD card with any available Manjaro-KDE image:

System claims that the autologin password were not correct or that the SD card is write only because of an defective journal on the EXT-4 partition on the SD card

Any chance to overwrite the EMMC completely with any other OS oder tool?

A bit confusing, not clear
Maybe your emmc is not booting?? Maybe because you messed up uboot?
And you want to reinstall?
If you have a linux box, fsck.ext4 that partition (on SD card)

Can you boot from the SD card by turning off eMMC module (24)?
https://wiki.pine64.org/index.php/Pinebook_Pro#Mainboard_Switches_and_Buttons
The easiest (and safest) way would be to use the eMMC to USB adapter (it is the same adapter and modules used in other Pine64 devices, so it should be available not only in the Pine64 Store). You can try to switch off eMMC for a few seconds, just to boot from SD card and turn it on fast enough to detect eMMC module.
https://forum.pine64.org/showthread.php?tid=8959

Only a image with Debian could be started on SD. With debian zeroed out with dd the first GB of the EMMC.
After this a boot with Manjaro on SD worked and the system could be reinstalled. Backup was from yesterday, so no problem further.

Next buy would be an eMMC to USB adapter…