BPI-R2 Kernel Development


5.2-rc1 was released and i have added it to my repo for testing. i see no errors on build and in dmesg


5.2-rc1.boot.log (28,0 KB)

currently additional features like hdmi,internal wifi, poweroff, phylink or other are not included. i start porting now

poweroff is working :wink: pushed branch 5.2-poweroff for testing

hdmi (xserver) is also working with 5.1-patches, but not fbdev :frowning:

on 5.1 i see many more drm-messages in dmesg 5.1-hdmi.log.txt (79,4 KB) 5.2-hdmi.log.txt (63,0 KB)

5.1: [    7.089645] mediatek-drm 14000000.dispsys: fb0: DRM emulated frame buffer device  
5.2: [    6.845071] mediatek-drm 14000000.dispsys: fb0: mediatekdrmfb frame buffer device

seems in 5.2 framebuffer is not “DRM-emulated”

can this be the cause? in 5.2 i see no drm-messages after this line. I’ve wrote to CK Hu and Bibby Hsieh…as first response it can be a timing problem (hdmi-hotplug before framebuffer is ready). Bibby is currently on getting the missing Patches into mainline then focus on fbcon

Have also ported internal wifi,quick test works…i can create ap0 and can connect to it via my mobile phone (running ssh over it)

regards Frank


Great job Frank. I suspended BPi R2 as home router/nas but if 5.2 will be as they promise I will get back

What do “they” promise? And who are “they”?

“they” are kernel developers, and as I read they will support out of the box new realtek wlan adapters, also the’re will be a lot of drivers improvements for arm (also MediaTek MT7623N better support)

Have you a link to the article?

just FYI we got phylink on 5.2 working (using net-next-patches which will be hopefully merged in 5.2 final):

if anyone wants to try…wan is second gmac (label does not work yet => eth1), all lan-ports using eth0


gmac1 (lan0@eth0,bpi-r2-tx)
[ ID] Interval           Transfer     Bandwidth       Retr                                                                                                          
[  4]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec    0             sender                                                                                        
[  4]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver                                                                                      

gmac1 reverse (lan0@eth0,bpi-r2-rx)
[ ID] Interval           Transfer     Bandwidth       Retr                                                                                                          
[  4]   0.00-10.00  sec   966 MBytes   811 Mbits/sec    0             sender                                                                                        
[  4]   0.00-10.00  sec   965 MBytes   810 Mbits/sec                  receiver                                                                                      

gmac2 (bpi-r2-tx):
[ ID] Interval           Transfer     Bandwidth       Retr                                                                                                          
[  4]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0             sender                                                                                        
[  4]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver                                                                                      

reverse way (bpi-r2-rx): 
[ ID] Interval           Transfer     Bandwidth       Retr                                                                                                          
[  4]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec    0             sender                                                                                        
[  4]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec                  receiver

eth1 is now renamed to wan :wink:

btw. i tested also throughput of gmac1 with rgmii instead of trgmii (because gmac2 have better performance above), here are the results:

[ ID] Interval           Transfer     Bandwidth       Retr                                                                                                          
[  4]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec   45             sender          <<< i always get 1/10 chunks with exact 45 retransmitts
[  4]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver 

reverse way (bpi-r2-rx = remotehost sending)
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec    0             sender  
[  4]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec                  receiver     

these performance is only over 1 eth-port with only 1 client (over switch). but i never got more than 1gbit/s (different clients+ports+gmacs) with/without phylink. @jackzeng / @sinovoip / @garywang / @moore / @ryder.lee / @linkerosa can you confirm, that this is possible by hardware? we have read in mt7623 technical document that soc has only 1GBit/s wiring for both gmacs (did not find the right page, but document should be this)

which one is latest kernel development (at your github)?









5.2-rc is the “main”-branch,the other are feature-branches which contain a single feature (not merged to rc).

so take a feature branch to test single feature or rc branch and merge the branches you want to it. In hdmi fbcon is still not workin.Last phylink is 5.2-net-next-phylink-gmac but phylink-patches need net-next (net patches for 5.3 which may be instable)

Hi Frank

How should I do to implement this into my current openlede?


What is “this”? There are different feature-branches which need some testing. First you need to merge all together build kernel and anyhow replace kernel in lede…imho this is not easy because lede does not use partitions

5.2 kernel is out. Let me know if you merge it on your github.

I can merge poweroff and wifi but not phylink because of net-next and hdmi (fbcon still not working)

So as now the most complete is your 4.14.x kernel? (I’m waiting till 5.2 will be becouse I bought Intel AX200 which is WIFI 6 standard wireless module - its M2 but I’m waiting for adapter M2>miniPCIe)

Some special things like hwnat/hw-qos are only available on 4.14. But these are reported as unstable if activated (i do not have them activated). Most other functions are available on 4.19 too…5.2 will be no lts (maybe upcoming 5.3) and so eol soon or testing new functions or porting drivers.

which 4.19 branch?

  • 4.19-gmac
  • 4.19-hardening
  • 4.19-hdmi
  • 4.19-hdmiv5_new
  • 4.19-lora
  • 4.19-lora_new
  • 4.19-main
  • 4.19-mt76
  • 4.19-mt7615

Acctualy I need only basic kernel, good to have hwnat, aes crypto extensions working.

My intel ax200 wlan drivers are included in 5.1 kerner or newer

or should I try any of your 5.1 or 5.2 braches? If yes which one?

and my last question Frank, does OpenWrt support same kernel as linux? Or should I compile it within OpenWrt build?

good article on changes in 5.2 kernel regarding ARM architcture:

if you need these drivers, you cannot use 4.19…normally x.xx-main is the right one for r2…for 5.2 i have not upgraded to final and merged the feature-branches. also second gmac is not ported because we try to realize this with phylink (in 5.2 net-next-patches are needed).

as a first start you can use 5.2-rc (if you do not need poweroff, hdmi and internal wifi). else you have to merge by yourself or wait till i have done it…

currently busy because of phylink/mainline-network on r64

basicly openwrt uses same kernel, but by default it is built inside the image and cannot replaced so easy. see the openwrt-repo from lexa2 how to get an openwrt with partitions…with this image you can replace kernel on boot-partition, but if you use my kernels you maybe have to swap mmc back (openwrt using mainline-kernel which does not swap mmc i’ve done for debian/ubuntu). simply revert the mmc-swap-commit

edit: have now created 5.2-main and merged poweroff+ wifi

5.3 is out for 2 days now and i did some work on it

1 Like

basic includes all features or no ?

Features are merged if they are tested some time (not yet)…or you can merge it by yourself.