[BPI-R2 new image] debian 10 buster image with Kernel 4.19.62

Hi frank-w! first thx for your great job, I try to ssh the board but since there is no dhcp running on the board, my laptop never get an ip from the board, so I configured my ethernet port (laptop) to use a static ip address: But even though, I can’ t ssh or even ping the board

I can connect the board using picocom and my TTL cable. Then I tried to connect the board directly to the modem using ethernet ports but non seems to work. When I ping I got destination host unreachable, I can see that the ip address used by the board is Pardon me if I look confuse, but I’ m a developer and don’ t deal with network configuration often.

so what should I do to connect my board to my laptop using ssh and to connect my board to the modem ?

also for me it’s unclear about what is compiled and what is not. My goal is to turn the pi to an access point I want to plug my internet modem to the first ethernet port of the board, then using the wifi to connect my laptop to internet trough the board. Should I have to recompile the kernel ? (things i have almost no experience)


Red led near gpio stays on? Then lan0 is second ethernet-port.

serial works? You see login-prompt? You should see in “ip a” which port is up…you have connected cable directly between lan0 and laptop?

Red led near gpio stays on? yes

Then lan0 is second ethernet-port. ok I was confusing with the first one. I did try yesterday to connect to the first and second one and it didn’ t work. Today I did it again and now it work…

I tried to connect the board to internet. what is the device name of the first ethernet switch (the one alone) ? is it eth1 ? I tried to connect my modem to eth1. When I do dhclient eth1 I got no ip address.

when I connect the modem to lan1@eth0 and do dhclient lan1 I got a public ip address. But when I do ping or apt-get update the board seems to only try to connect the destination trough lan0@eth0. For example, the ping command returns Froms icmp_seq=1 Destination Host Unreachable

First port is wan. So wan,lan0,lan1,lan2,lan3

For internet access you need a default route defined (send all packets with no known network to the default route). Eth0 and eth1 are the cpu-lanes between soc and switch…they only need to be set to up…no ip config there

frank-w please help write this image in eMMC

  • Make sure partition-config is right on emmc
  • flash preloader
  • flash img to mmcblkx
  • change root-var/bootargs/partition to use emmc (replace device 1 to 0,partition to 0:1) and mountpoints in /etc/fstab on emmc

And you can write more ?

I thought you know my wiki…

Steps are same as here for ubuntu: https://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:ubuntu#installation

And you do not have a ready xx.emmc.img image that can be written down with one dd command ? That would greatly simplify the preparation of emmc memory. And then the root file system can then be written down with a simple copy as cp -ar …

No and it makes more work for me maintaining it

You only need to flash the sd-image and change 2 files…

what files need to be changed?

First one is uEnv.txt on fat-partition (boot),second on ext-partition (root)

All your recommendations do not work.


dd if=path/to/ubuntu.img of=/dev/mmcblkx and the system does not start from emmc

u-boot not start apparently needed other preloader but

write preloader from here to the emmc boot-device:

  • gunzip -c BPI-R2-EMMC-boot0-DDR1600-0k-0905.img.gz | sudo dd of=/dev/mmcblk1boot0 bs=1024 seek=0

is error gzip: BPI-R2-EMMC-boot0-DDR1600-0k-0905.img.gz: not in gzip format

in u-boot is missing command emmc pconf 0x48

New uboot handle mmc partconf over this (have it also on my wiki):

mmc partconf 0 1 1 0

Does boot0 exist? Filename correct (i wonder about the gzip-error)? Preloader/partconfig is the probable cause if no boot on emmc happens.at least you should see preloaders output

where to look

yes right. the downloaded file does not even unpack Linux

    [PART] blksz: 512B
[PART] [0x0000000000000000-0x000000000003FFFF] "PRELOADER" (512 blocks) 
[PART] [0x0000000000000000-0x000000000003FFFF] "MBR" (512 blocks) 
[PART] [0x0000000000040000-0x00000000000BFFFF] "UBOOT" (1024 blocks) 
[PART] [0x00000000000C0000-0x00000000000FFFFF] "CONFIG" (512 blocks) 
[PART] [0x0000000000100000-0x000000000013FFFF] "FACTORY" (512 blocks) 
[PART] [0x0000000000140000-0x000000000213FFFF] "BOOTIMG" (65536 blocks) 
[PART] [0x0000000002140000-0x000000000413FFFF] "RECOVERY" (65536 blocks) 
[PART] [0x0000000004140000-0x000000004413FFFF] "ROOTFS" (2097152 blocks) 
[PART] [0x0000000044140000-0x000001FFC413FFFF] "USER" (-4194304 blocks) 
[platform_vusb_on] PASS
[TOOL] PMIC not dectect usb cable!
[TOOL] <UART> listen  ended, receive size:0!
[TOOL] <UART> wait sync time 150ms->5ms
[TOOL] <UART> receieved data: ()

Device APC domain init setup:

 bootloader load uboot ,the address of uboot is 81E00000 
[PART]partition name UBOOT 
[PART]partition start block 0x200 
[PART]partition size 0x80000 
[PART]partition blks 0x400 
[PART]partition flags 0x0 
[PART]partition name 0x8 
[bean] part->startblk(0x200) bdev->blksz(0x200) part->part_id(8) hdr(0xFFB50000)
[BlkDev.c 101 ]partition block size 0x200 ,blks:0xE90000
[BlkDev.c 101 ]partition block erase size 0x200 

[PART] load "UBOOT" from 0x0000000000050000 (dev) to 0x81E00000 (mem) [SUCCESS]
[PART] load speed: 10462KB/s, 300000 bytes, 28ms
[BT_SD_PG] device info 0x8590 0x8A00 0xCB01 0x102
[PLFM] md_type[0] = 0 
[PLFM] md_type[1] = 0 

[PLFM] boot reason: 0
[PLFM] boot mode: 0
[PLFM] <0xFFB7CC10>: 0x0
[PLFM] boot time: 2018ms
[PLFM] DDR reserve mode: enable = 0, success = 0

[BLDR] jump to 0x81E00000
[BLDR] <0x81E00000>=0xEA0000B8
[BLDR] <0x81E00004>=0xE59FF014

so at least preloader is loaded…it looks like the preloader size-issue…does not load full uboot and then does not boot

Could you try this: https://github.com/BPI-SINOVOIP/BPI-files/blob/master/SD/100MB/BPI-R2-EMMC-boot0-DDR1600-20190722-0k.img.gz

OK! with this preloader, the system booted

I load mtk_pmic_keys module and install acpid package. But the power button does not work.
There is button support in this kernel 4.19.62-bpi-r2-main ?

and this kernel support uEnv.txt ? he is not in the image

Imho in 4.19 it should work…maybe config in buster is a bit different.

Uenv.txt is for uboot…it allows you to change uboot-environment like differen kernel name,cmdline,…

Hi frank. I’m using the image. Here are some suggestions:

  • Install more packages. like locales, curl(or wget), vi(or vim)
  • For installed locales. configure en_US.UTF-8. And set it as default locale for the system.
    maybe you can add your locales
  • Let /etc/resole.conf empty or default.
  • Use PARTUUID instead LABEL in /etc/fstab. For install to emmc more easy. (use genfstab in arch-install-scripts is a good idea)

Have a nice day :grinning: