Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 30,265
» Latest member: apkmegapk
» Forum threads: 16,393
» Forum posts: 117,647

Full Statistics

Latest Threads
Article: The Advantages o...
Forum: General
Last Post: zetabeta
10-20-2026, 02:38 PM
» Replies: 2
» Views: 181
Star64 Irradium (based on...
Forum: Getting Started
Last Post: mara
10-19-2026, 12:27 PM
» Replies: 22
» Views: 21,360
StarPro64 Irradium (based...
Forum: Getting Started
Last Post: mara
10-19-2026, 10:01 AM
» Replies: 25
» Views: 16,172
Article: Will Linux phone...
Forum: General
Last Post: amosbatto
10-19-2026, 09:52 AM
» Replies: 11
» Views: 1,288
Login issues
Forum: PineTab Hardware
Last Post: Corkonian
10-17-2026, 02:34 AM
» Replies: 2
» Views: 307
Rii mini 4 keyboard and t...
Forum: PinePhone Accessories
Last Post: Flymoon
10-15-2026, 08:04 AM
» Replies: 3
» Views: 5,904
Pinephone visibly losing ...
Forum: General Discussion on PinePhone
Last Post: Flymoon
10-14-2026, 04:20 PM
» Replies: 10
» Views: 9,599
Pinecil V2 + Raspberry Pi...
Forum: General
Last Post: tllim
10-12-2026, 09:42 PM
» Replies: 1
» Views: 400
SlateOS feedback needed!
Forum: Development Discussion on PineTime
Last Post: Nolegdai
10-05-2026, 02:04 PM
» Replies: 1
» Views: 885
Unknown Startup Password ...
Forum: PineTab Hardware
Last Post: tllim
10-05-2026, 12:44 PM
» Replies: 1
» Views: 472

 
  Maskrom recovery mode/Recovering from broken SPI flashes ***IMPORTANT***
Posted by: as400 - 02-07-2020, 06:48 AM - Forum: Pinebook Pro Tutorials - No Replies

If you accidentally soft brick your PBP there is special mode implemented called maskrom mode. In this mode the device is accessible as regular USB device and can be accessed using rkdevelop tools. Especially to rewrite SPI flash or to erase it.

According to Rockchip documentation it should be accessible following below procedure:

1. Press and hold recovery button.
2. Short press reset.
3. Release recovery button after about 3 seconds.

Unfortunately it is not always the case. I had a clear SPI from factory and had to do this procedure trillion times to eventually get into maskrom mode. There is another person who had the same problems.

The nature of this problem is not clear. There are two suspicions:

- the button is not working correctly or is just prone to failures.
- the problem occurs only when the SPI was previously flashed.

One way or the other the button works shorting two pins in an SPI device. But in some cases it just does nothing. So if you experience such problem there is a way to overcome it. You can short the two pins by yourself.

Procedure:

1. Unscrew bottom cover.
2. Remove the metal shield surrounding main CPU - it is held in place by a tape and micro clamps on pcb.
3. Disconnect all (!!!) boot devices (emmc, sdcard, usb).
4. Locate SPI flash (number 29 on picture).


.jpg   PBPL_S.jpg (Size: 442.41 KB / Downloads: 7,682)

5. Connect pbp with USB-C - USB-A cable to another computer (pbp on USB-C side).
6. Turn on pbp, short pins CLK and VSS and press reset. It should get your pbp into maskrom mode.


.png   spi.png (Size: 1.84 KB / Downloads: 1,345)


On another computer:

1. Compile rkdeveloptools --> https://github.com/rockchip-linux/rkdeveloptool

2. Create a file filled with zeros:

Code:
dd if=/dev/zero of=zerospi bs=1M count=16


3. Then flash this file to SPI using rkdeveloptool:

Code:
Code:
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin rkdeveloptool wl 0 zerospi rkdeveloptool td rkdeveloptool rd


  Noob struggling with flashing script
Posted by: Nooblife - 02-07-2020, 04:55 AM - Forum: SailfishOS on PinePhone - Replies (11)

It's probably me being a total noob, but i fail to use the flashing script:

[Image: CVBrxNx.png]

[Image: sjj3BBj.png]
Is writing mmcblk0 wrong?


  Sharing photos - please be mindful of modem numbers
Posted by: Luke - 02-07-2020, 04:31 AM - Forum: General Discussion on PinePhone - No Replies

We're pleased that you guys are excited and sharing pictures of your phone. However, it is advisable to keep the caseback ON when sharing photographs of the phone, since a number of potentially sensitive numbers (notably IMEI) are etched on the metal cover of the modem.

If you are keen to show others the internals of the phone, then feel free to share this image. It looks identical to the inside of your phone.

If you already shared pictures with the cover off, don't worry about it; consider this a precautions post.


  Lock screen problem?
Posted by: undo - 02-07-2020, 04:24 AM - Forum: SailfishOS on PinePhone - Replies (5)

Hey, having a bit of an issue. I got Sailfish installed and up to a point where the screen is locked and there are arrows pointing out from the sides implying I should swipe. But nothing happens with swipe sideways. The swipe up and down works as expected. Anyone know what's going on?


  Did you have to pay import tax and how much was it?
Posted by: Luke - 02-07-2020, 04:16 AM - Forum: General Discussion on PinePhone - Replies (117)

Thank you all for getting a PinePhone BH. With the release of this early adopters version of the PinePhone we've also taken the opportunity to try out a new shipping method. There are a a number of upsides and drawbacks to this shipping method - which I've listed in the January community update - but shipping cost is probably the most notable positive.

So, then, I (and likely other end-users) would like to find out how many of you were asked to pay import tax on your PinePhone? In the comments feel free to include other relevant info such as country, amount paid, etc.
Thanks


  Sailfish install problem.
Posted by: pjsf - 02-06-2020, 10:56 PM - Forum: SailfishOS on PinePhone - Replies (15)

Sailfish is one of the oses i'd like to try out, but it's also the only one I can't get to boot properly.
The flash-it script reported success, the device starts to boot, the sailfish logo appears then it goes to a blank screen and the led comes on. looks kind of pink. I've left it in this state for several minutes but no change. 
All other images I've tried have worked fine on the phone, including using the same sd card. any clues? what am I missing?

Edit: That's a bit scary, nothing else would boot on the pinephone until I did a reset (long hold vol down plus power). back to normal now but something's really wrong with sailfish.


Exclamation Flash dhivael's SPI uboot (risky)
Posted by: clover - 02-06-2020, 10:42 PM - Forum: Pinebook Pro Tutorials - Replies (51)

Exclamation Warning: As far as I am aware, so far, this flash process has had about a 16% failure rate. It is difficult to restore your machine with a bad SPI flash. Please proceed at your own risk, and probably best not to try at all if you don't have experience or the time it takes to recover your machine. Exclamation

Necessary Items:
 - a screwdriver
 - USB Type-A to USB-C cable
 - Another Computer with a USB-A 3.0 port (I used a Macbook Pro with a type-c dongle, if you use something else, idk.)
Not a requirement but if you want to boot from nvme you need:
 - bootable NVME (i.e., with /boot/boot.txt having root=/dev/whatever_your_nvme_is plus some operating system. I use Manjaro. if you are unsure how to do this or want to sync your emmc with your nvme before hand, as400 has a great guide) preferably an intel 660p since it is what I have. 


Build and install rkdeveloptool on your other computer, find out all the info to do that on their Github. 
    
sanity test that you have installed it correctly

Code:
rkdeveloptool --version
should output: rkdeveloptool ver 1.3

On this other computer, make a directory to hold all of your files in.
Code:
mkdir ~/PBPBoot

You will need to have two files in this directory get them from: SPI_Flash
  1. the db flash helper(https://www.ironrobin.net/clover/droppy/$/i1mNQ). This prepares the SPI for a binary, in this case, u-boot.
  2. the uboot binary (https://www.ironrobin.net/clover/droppy/$/H3yzt), built from dhivael's version of u-boot. 
Note: This uboot binary was built for SPI environment only. It will not work if you try putting it on your eMMC. It also probably will not work when trying to boot a kernel that is not mainline.

Code:
mv rk3399_loader_spinor_v1.15.114.bin ~/PBPBoot mv dhiv_SPI_uboot.bin ~/PBPBoot cd ~/PBPBoot


Now that is all set up, we need to get our Pinebook Pro into maskrom mode.

Plug the Type-A end into your non-Pinebook Pro device. Plug the Type-C end into your Pinebook Pro.

Remove all bootable devices from your pinebook pro.


Extra steps to clear SPI 
(Only necessary if you have flashed your SPI before, skip to end if you have never flashed anything to your SPI. If you are not sure and want to make sure it is empty, feel free to follow these steps.)
- on other computer: 
Code:
fallocate -l 16M zerospi dd if=/dev/zero of=zerospi bs=1M count=16

- Plug your usb-a end into your other computer and usb-c end into your pinebook pro

- On pinebook, get into maksrom mode. If you can't maskrom easily because SPI is bootable (only should be the case if you have flashed uboot or some other boot software to your SPI already) follow as400's guide

- Verify you are in maskrom. On other computer: 
Code:
rkdeveloptool ld
look for maksrom output (e.g., DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=1401 Maskrom)

- flash zerospi 
Code:
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin rkdeveloptool wl 0 zerospi rkdeveloptool td rkdeveloptool rd

(thanks as400 for this part)


Back to the regular tutorial...

Reboot your computer, it will look like nothing is happening, no LEDs or anything.

to verify you are in maskrom mode, with your computers connected
Code:
rkdeveloptool ld
you should get an output like this 
DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=1401 Maskrom

if that is looking good, lets move forward. if you get something like no devices found, either your pinebook is off or you have some bootable device still in your pinebook, or your cable is bad, or your computer doesn't put enough power through its usb. (tried this with two pinebooks and it didn't work)

Now we will flash the flash helper db file.
Code:
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin

if that works you will get output
Downloading bootloader succeeded.

Now for the exciting part
time to flash the new uboot to your SPI
Code:
rkdeveloptool wl 0 dhiv_SPI_uboot.bin

your output should end up being
Write LBA from file (100%)

good work, now you can run a test to make sure it's healthy.
Code:
rkdeveloptool td

hopefully you get Reset Device OK.

Now run
Code:
rkdeveloptool rd

which essentially reboots your pinebook pro.

You should see the red dot almost immediately. if you do see it, congrats! you now have an upstream SPI uboot (don't need to have uboot on emmc anymore. its very cool.)
boot order:
sd -> nvme -> usb -> emmc


  full disk encryption with luks on manjaro xfce
Posted by: limxr - 02-06-2020, 10:27 PM - Forum: Pinebook Pro Tutorials - Replies (48)

This recipe is for a manjaro xfce pinebook pro image installed to an sdcard.  This recipe may work with other manjaro pinebook pro images.  
First I created a separate partition for /boot that remained unencrypted.  Second, I encrypted the existing root / installation using luks.
I used debian os installed to emmc of pinebook pro, any os that supports luks should work (the default os on pinebook pro does not support luks).  You may want to make sure to have a good backup first in case something goes wrong.


Code:
=================================== separate partitions for boot & root =================================== boot to debian on emmc create new partition layout using gparted (boot will be on 1st partition & root on 2nd partition) resize mmcblk1p1 partition to smallest size to create free space (don't touch ~31m unallocated space at start of sdcard)     copy mmcblk1p1 & paste into remaining free space   format mmcblk1p1 ext4 to delete files   resize mmclk1p1 to your desired size, for me ~800mb     (don't touch ~31m unallocated space at start of sdcard)   label mmcblk1p1 BOOT resize/move mmcblk1p2 to fill all remaining free space move files to /boot sudo mkdir /mnt/boot; sudo mount /dev/mmcblk1p1 /mnt/boot     sudo mkdir /mnt/root; sudo mount /dev/mmcblk1p2 /mnt/root     cd /mnt/boot     sudo mv /mnt/root/boot/* /mnt/boot set automount for boot partition     sudo nano /mnt/root/etc/fstab         /dev/mmcblk1p1 /boot ext4 defaults 0 2 configure bootloader     get PARTUUID, for me its 781b2cf9-02         sudo blkid|grep mmcblk1p2     add PARTUUID for root and remove /boot/ folder from 3 lines         cd /mnt/boot/         sudo nano boot.txt             #setenv bootargs console=ttyS2,1500000n8 root=PARTUUID=${uuid} rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash append video=eDP-1:1920x1080@60             setenv bootargs console=ttyS2,1500000n8 root=PARTUUID=781b2cf9-02 rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash append video=eDP-1:1920x1080@60             #if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/Image; then             if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} Image; then                #if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then                if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} dtbs/${fdtfile}; then                   #if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then                   if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} initramfs-linux.img; then     sudo apt install u-boot-tools     sudo ./mkscr boot to manjaro on sdcard ============ encrypt root ============ boot to manjaro on sdcard add modules & hooks to initram (the order the modules and hooks are loaded is important)     sudo nano /etc/mkinitcpio.conf         MODULES=(panfrost rockchipdrm drm_kms_helper hantro_vpu analogix_dp rockchip_rga panel_simple arc_uart cw2015_battery i2c-hid iscsi_boot_sysfs jsm pwm_bl uhid)         BINARIES=()         FILES=()         HOOKS=(base udev keyboard autodetect keymap modconf block encrypt filesystems fsck)         COMPRESSION="cat"             sudo mkinitcpio -P boot to debian on emmc encrypt existing partition in place with luks     make sure mmcblk1p2 is not mounted     sudo e2fsck -f /dev/mmcblk1p2     sudo resize2fs -M /dev/mmcblk1p2     sudo cryptsetup-reencrypt /dev/mmcblk1p2 --new --reduce-device-size 16M     sudo cryptsetup open /dev/mmcblk1p2 cryptroot     sudo resize2fs /dev/mapper/cryptroot     sudo mount /dev/mapper/cryptroot /mnt/root configure bootloader     get UUID for mmcblk1p2     sudo blkid|grep mmcblk1p2         get UUID root, for me its 6d1c2895-f2c2-477f-8415-b04f7a4641da     change kernel parameters for encrypted root including display to console & disable splash         sudo mount /dev/mmcblk1p1 /mnt/boot         cd /mnt/boot         sudo nano boot.txt             # setenv bootargs console=ttyS2,1500000n8 root=PARTUUID=781b2cf9-02 rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash append video=eDP-1:1920x1080@60             setenv bootargs console=tty1 root=/dev/mapper/cryptroot cryptdevice=UUID=0d739f2d-92af-40ec-bd8b-c8f241e6a2ce:cryptroot:allow-discards rw rootwait quiet append video=eDP-1:1920x1080@60             #booti ${kernel_addr_r} - ${fdt_addr_r};             booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};         sudo ./mkscr reboot to manjaro on sdcard


  Cases and cooling
Posted by: clach04 - 02-06-2020, 09:55 PM - Forum: Rock64 Hardware and Accessories - Replies (1)

I ended up buying https://www.amazon.com/gp/product/B0756RLGRH/  
iUniker Raspberry Pi 3 B+ Case with Cooling Fan.... along with a Dremel. It fits rock64 after a few cuts :-) (my board came in a cardboard box so was not able to follow https://forum.pine64.org/showthread.php?tid=4961)

Fan works great (I think I can use the P5 connector and then cut out space for the regular GPIO pins to be usable in this case). I ended up hacking together a stress script to plot charts ala Stressberry that works on the rock64 and the pi. The fan is definitely worth using based on my quick tests.

It came with 3 heatsinks and tape. 2 Aluminium ones with fins and a solid copper one with no fins. I was going to use the bigger finned one on the CPU but wondered about what to do with the other chip. Do nothing or use either the copper or aluminum one. Any thoughts/comments on that?

EDIT added PNG (SVGs not allowed by forum) of temps
.png   temp.png (Size: 111.85 KB / Downloads: 775)


Bug For those having issues with the screen turning off
Posted by: wesleyorama - 02-06-2020, 09:22 PM - Forum: SailfishOS on PinePhone - Replies (5)

I finally figured out how to get around the screen turning off and on with the current version of sailfish. Looks like the issue is the with the light sensor, I found that it would the screen would turn off less often if I angled it just right into some strong light. I was able to get into the settings and turn off the "Adjust automatically" setting in the "Display" settings. Once that was turned off everything worked as normal.