Banana Pi BPI-R4 Wifi 7 router board with MediaTek MT7988A (Filogic 880),4G RAM and 8G eMMC

Not a release yet, just development/nightly snapshots. Release branch will be created in a few months, stable release including support for the R4 towards the end of the year probably.

Okay, I delated the “official”. Sometimes I’m a bit fast … thought snapshot should be clear … .

1 Like

“official” is the true part. “release” is what you should remove.

Yea, that what i meant! I used the latest snapshot yet and for my simple purpose seemed working quite well, i did all my simple stuffs without bugs and seems quite stable, but isn’t the official stable release. Anyway waiting the wifi7 card i used an old Atheros AR5BXB63 and i setup the bpi as AP with vlans for different SSID. Btw thanks for your answers and precisations. Bye

:slightly_smiling_face:, :smiling_face_with_tear:, :thinking:, :saluting_face: much to learn I have …

An anecdote for those trying to passively cool the R4: I bought a passive heatsink from Alpha - Heat Sink | Your thermal solution partner (specifically a LPDM50-40BP-1P3N) and it seems to work quite well, and maybe even quite a bit of overkill. I wasn’t sure what mounting pressure to select so I went with the lightest one. I’m testing with stress -c 4 (if there is a better way to test a maximum thermal load I’m all ears!) and it caps out at ~48C, mounted vertically not in a case. At a more typical load (no substantial traffic, just running a few servers, it stabilizes around ~42C.

I did some measurements and looked at the board design file and while the holes are slightly closer on the board than on this heatsink, it works with some minor effort.

Because of a tall surface mount component, I did have to file down the heatsink a few millimeters in one corner:

I probably could have gone with a much shorter one and it would have stayed pretty cool, but I wasn’t sure so just went overboard; I’ll be designing my own case so can design around a large heatsink. Final look:

1 Like

I used the firmware downloaded from OpenWrt Firmware Selector and found that I could not connect to the pptp client via the pptp server. I can’t find net.netfilter.nf_conntrack_helper in my system, can anyone help me with this problem?

These are my system info

root@OpenWrt:/# sysctl -w net.netfilter.nf_conntrack_helper=1
sysctl: error: 'net.netfilter.nf_conntrack_helper' is an unknown key
root@OpenWrt:/# opkg list | grep helper
kmod-nf-nathelper - 6.1.81-1
kmod-nf-nathelper-extra - 6.1.81-1
root@OpenWrt:/# cat /etc/op
openwrt_release  openwrt_version  opkg.conf        opkg/
root@OpenWrt:/# cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r25529-1d3d6ef826'
DISTRIB_TARGET='mediatek/filogic'
DISTRIB_ARCH='aarch64_cortex-a53'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r25529-1d3d6ef826'
DISTRIB_TAINTS=''
root@OpenWrt:/# cat /etc/openwrt_version 
r25529-1d3d6ef826
root@OpenWrt:/# cat /etc/openwrt_
openwrt_release  openwrt_version
root@OpenWrt:/# cat /etc/openwrt_
openwrt_release  openwrt_version
root@OpenWrt:/# cat /etc/op
openwrt_release  openwrt_version  opkg.conf        opkg/
root@OpenWrt:/# cat /etc/o
odhcp6c.user     openwrt_release  opkg.conf        os-release
odhcp6c.user.d/  openwrt_version  opkg/
root@OpenWrt:/# cat /etc/
TZ                    hotplug.json          profile.d/
banner                init.d/               protocols
banner.failsafe       inittab               rc.button/
board.d/              iproute2/             rc.common
board.json            localtime             rc.d/
capabilities/         luci-uploads/         rc.local
chatscripts/          modules-boot.d/       resolv.conf
config/               modules.conf          services
crontabs/             modules.d/            shadow
dbus-1/               mtab                  shells
device_info           nftables.d/           shinit
diag.sh               odhcp6c.user          ssl/
dnsmasq.conf          odhcp6c.user.d/       sysctl.conf
dropbear/             openwrt_release       sysctl.d/
e2fsck.conf           openwrt_version       syslog.conf
ethers                opkg.conf             sysupgrade.conf
fstab                 opkg/                 uci-defaults/
fw_env.config         os-release            udhcpc.user
gcom/                 passwd                udhcpc.user.d/
group                 ppp/                  urandom.seed
hosts                 pptpd.conf            usb-mode.json
hotplug-preinit.json  preinit               xattr.conf
hotplug.d/            profile
root@OpenWrt:/# cat /etc/os-release 
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r25529-1d3d6ef826"
OPENWRT_BOARD="mediatek/filogic"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt SNAPSHOT r25529-1d3d6ef826"
root@OpenWrt:/# cat /etc/openwrt_version 
r25529-1d3d6ef826
root@OpenWrt:/# cat /etc/openwrt_release 
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r25529-1d3d6ef826'
DISTRIB_TARGET='mediatek/filogic'
DISTRIB_ARCH='aarch64_cortex-a53'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r25529-1d3d6ef826'
DISTRIB_TAINTS=''
root@OpenWrt:/# sysctl -w net.netfilter.nf_conntrack_helper=1
sysctl: error: 'net.netfilter.nf_conntrack_helper' is an unknown key
root@OpenWrt:/# sysctl -w net.netfilter.nf_conntrack_helper=1^C

root@OpenWrt:/# ^C

root@OpenWrt:/# cat /proc/sys/net/netfilter/nf_conntrack_helper
cat: can't open '/proc/sys/net/netfilter/nf_conntrack_helper': No such file or directory
root@OpenWrt:/# lsmod 
af_alg                 28672  4 algif_skcipher,algif_rng,algif_hash,algif_aead
algif_aead             16384  0 
algif_hash             16384  0 
algif_rng              16384  0 
algif_skcipher         16384  0 
aquantia               28672  0 
arc4                   16384  0 
asn1_decoder           16384  1 nf_nat_snmp_basic
at24                   20480  0 
atm                    53248  3 usbatm,pppoatm,br2684
authenc                16384  2 crypto_safexcel,authencesn
authencesn             16384  0 
br2684                 24576  0 
cdc_acm                32768  0 
cdc_eem                16384  0 
cdc_ether              16384  2 rndis_host,cdc_ncm
cdc_mbim               16384  0 
cdc_ncm                24576  1 cdc_mbim
cdc_subset             16384  0 
cdc_wdm                28672  3 cdc_mbim,qmi_wwan
cfg80211              307200  5 mt7996e,mt7915e,mt76_connac_lib,mt76,mac80211
compat                 16384  2 mac80211,cfg80211
crypto_safexcel       122880  0 
crypto_user            16384  0 
des_generic            16384  0 
ehci_fsl               16384  0 
ehci_hcd               61440  3 ehci_pci,ehci_platform,ehci_fsl
ehci_pci               16384  0 
ehci_platform          16384  0 
evdev                  28672  0 
fsl_mph_dr_of          16384  0 
gpio_button_hotplug    16384  0 
gre                    16384  2 pptp,ip_gre
hid                   118784  2 usbhid,hid_generic
hid_generic            16384  0 
hso                    45056  0 
i2c_mux                16384  1 i2c_mux_pca954x
i2c_mux_pca954x        16384  0 
input_core             49152  2 hid,evdev
ip_gre                 28672  0 
ip_tables              28672  4 iptable_nat,iptable_raw,iptable_mangle,iptable_filter
ip_tunnel              28672  1 ip_gre
ip6_tables             28672  3 ip6table_raw,ip6table_mangle,ip6table_filter
ip6t_REJECT            16384  0 
ip6table_filter        16384  0 
ip6table_mangle        16384  0 
ip6table_raw           16384  0 
ipt_REJECT             16384  0 
iptable_filter         16384  0 
iptable_mangle         16384  0 
iptable_nat            16384  0 
iptable_raw            16384  0 
leds_gpio              16384  0 
libcrc32c              16384  1 nf_tables
libdes                 24576  2 crypto_safexcel,des_generic
mac80211              593920  4 mt7996e,mt7915e,mt76_connac_lib,mt76
md5                    16384  1 crypto_safexcel
mdio_i2c               16384  1 sfp
mhi                    73728  2 mhi_wwan_mbim,mhi_wwan_ctrl
mhi_wwan_ctrl          16384  0 
mhi_wwan_mbim          20480  0 
mii                    16384  1 usbnet
mt76                   77824  3 mt7996e,mt7915e,mt76_connac_lib
mt76_connac_lib        53248  2 mt7996e,mt7915e
mt7915e               143360  0 
mt7996e               122880  0 
nf_conncount           24576  1 xt_connlimit
nf_conntrack           90112 36 xt_connlimit,nf_conncount,xt_state,xt_nat,xt_helper,xt_conntrack,xt_connmark,xt_connbytes,xt_REDIRECT,xt_NETMAP,xt_MASQUERADE,xt_CT,nft_redir,nft_nat,nft_masq,nft_flow_offload,nft_ct,nf_nat_tftp,nf_nat_snmp_basic,nf_nat_sip,nf_nat_pptp,nf_nat_irc,nf_nat_h323,nf_nat_ftp,nf_nat_amanda,nf_nat,nf_flow_table,nf_conntrack_tftp,nf_conntrack_snmp,nf_conntrack_sip,nf_conntrack_pptp,nf_conntrack_irc,nf_conntrack_h323,nf_conntrack_ftp,nf_conntrack_broadcast,nf_conntrack_amanda
nf_conntrack_amanda    16384  3 nf_nat_amanda
nf_conntrack_broadcast   16384  1 nf_conntrack_snmp
nf_conntrack_ftp       16384  3 nf_nat_ftp
nf_conntrack_h323      49152  5 nf_nat_h323
nf_conntrack_irc       16384  2 nf_nat_irc
nf_conntrack_pptp      16384  2 nf_nat_pptp
nf_conntrack_sip       32768  3 nf_nat_sip
nf_conntrack_snmp      16384  2 nf_nat_snmp_basic
nf_conntrack_tftp      16384  3 nf_nat_tftp
nf_defrag_ipv4         16384  1 nf_conntrack
nf_defrag_ipv6         20480  1 nf_conntrack
nf_flow_table          32768  2 nf_flow_table_inet,nft_flow_offload
nf_flow_table_inet     16384  0 
nf_log_syslog          20480  0 
nf_nat                 40960 16 iptable_nat,xt_nat,xt_REDIRECT,xt_NETMAP,xt_MASQUERADE,nft_redir,nft_nat,nft_masq,nft_chain_nat,nf_nat_tftp,nf_nat_sip,nf_nat_pptp,nf_nat_irc,nf_nat_h323,nf_nat_ftp,nf_nat_amanda
nf_nat_amanda          16384  0 
nf_nat_ftp             16384  0 
nf_nat_h323            16384  0 
nf_nat_irc             16384  0 
nf_nat_pptp            16384  0 
nf_nat_sip             20480  0 
nf_nat_snmp_basic      16384  0 
nf_nat_tftp            16384  0 
nf_reject_ipv4         16384  3 nft_reject_ipv4,nft_reject_inet,ipt_REJECT
nf_reject_ipv6         16384  3 nft_reject_ipv6,nft_reject_inet,ip6t_REJECT
nf_tables             176128251 nft_fib_inet,nf_flow_table_inet,nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject,nft_redir,nft_quota,nft_objref,nft_numgen,nft_nat,nft_masq,nft_log,nft_limit,nft_hash,nft_flow_offload,nft_fib_ipv6,nft_fib_ipv4,nft_fib,nft_ct,nft_chain_nat
nfnetlink              20480  1 nf_tables
nft_chain_nat          16384  2 
nft_ct                 20480 13 
nft_fib                16384  3 nft_fib_inet,nft_fib_ipv6,nft_fib_ipv4
nft_fib_inet           16384  0 
nft_fib_ipv4           16384  1 nft_fib_inet
nft_fib_ipv6           16384  1 nft_fib_inet
nft_flow_offload       16384  0 
nft_hash               16384  0 
nft_limit              16384  5 
nft_log                16384  0 
nft_masq               16384  1 
nft_nat                16384  0 
nft_numgen             16384  0 
nft_objref             16384  9 
nft_quota              16384  0 
nft_redir              16384  0 
nft_reject             16384  3 nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet
nft_reject_inet        16384  2 
nft_reject_ipv4        16384  0 
nft_reject_ipv6        16384  0 
ohci_hcd               49152  1 ohci_platform
ohci_platform          16384  0 
option                 61440  1 
ppp_async              24576  0 
ppp_generic            45056  6 pppoe,pptp,pppox,ppp_mppe,ppp_async,pppoatm
ppp_mppe               16384  0 
pppoatm                20480  0 
pppoe                  24576  0 
pppox                  20480  2 pppoe,pptp
pptp                   32768  0 
pwm_fan                16384  0 
qcserial               20480  0 
qmi_wwan               32768  0 
rndis_host             16384  0 
rtc_pcf8563            20480  0 
seqiv                  16384  0 
sfp                    32768  0 
sha1_ce                16384  0 
sha1_generic           16384  2 crypto_safexcel,sha1_ce
sha512_arm64           20480  0 
slhc                   16384  1 ppp_generic
ts_bm                  16384  0 
ts_fsm                 16384  0 
ts_kmp                 16384  6 
uhci_hcd               36864  0 
usb_common             16384  6 xhci_plat_hcd,xhci_hcd,ohci_platform,ohci_hcd,ehci_platform,usbcore
usb_wwan               24576  2 qcserial,option
usbatm                 28672  0 
usbcore               196608 29 qcserial,option,cdc_mbim,usb_wwan,rndis_host,qmi_wwan,cdc_subset,cdc_ncm,cdc_ether,cdc_eem,usbserial,usbnet,usbhid,usbatm,hso,cdc_wdm,cdc_acm,xhci_plat_hcd,xhci_pci,xhci_mtk_hcd,xhci_hcd,uhci_hcd,ohci_platform,ohci_hcd,ehci_pci,ehci_platform,ehci_fsl,ehci_hcd
usbhid                 40960  0 
usbnet                 32768  7 cdc_mbim,rndis_host,qmi_wwan,cdc_subset,cdc_ncm,cdc_ether,cdc_eem
usbserial              32768  5 qcserial,option,usb_wwan
wwan                   24576  2 mhi_wwan_mbim,mhi_wwan_ctrl
x_tables               32768 37 xt_connlimit,iptable_nat,xt_state,xt_nat,xt_helper,xt_conntrack,xt_connmark,xt_connbytes,xt_REDIRECT,xt_NETMAP,xt_MASQUERADE,xt_CT,ipt_REJECT,xt_time,xt_tcpudp,xt_recent,xt_quota,xt_pkttype,xt_owner,xt_multiport,xt_mark,xt_mac,xt_limit,xt_comment,xt_cgroup,xt_addrtype,xt_TCPMSS,xt_LOG,iptable_raw,iptable_mangle,iptable_filter,ip6table_raw,ip_tables,ip6table_mangle,ip6table_filter,ip6_tables,ip6t_REJECT
xhci_hcd              143360  3 xhci_plat_hcd,xhci_pci,xhci_mtk_hcd
xhci_mtk_hcd           24576  0 
xhci_pci               20480  0 
xhci_plat_hcd          16384  0 
xt_CT                  16384  0 
xt_LOG                 16384  0 
xt_MASQUERADE          16384  0 
xt_NETMAP              16384  0 
xt_REDIRECT            16384  0 
xt_TCPMSS              16384  0 
xt_addrtype            16384  0 
xt_cgroup              16384  0 
xt_comment             16384  0 
xt_connbytes           16384  0 
xt_connlimit           16384  0 
xt_connmark            16384  0 
xt_conntrack           16384  0 
xt_helper              16384  0 
xt_limit               16384  0 
xt_mac                 16384  0 
xt_mark                16384  0 
xt_multiport           16384  0 
xt_nat                 16384  0 
xt_owner               16384  0 
xt_pkttype             16384  0 
xt_quota               16384  0 
xt_recent              24576  0 
xt_state               16384  0 
xt_tcpudp              16384  0 
xt_time                16384  0 
root@OpenWrt:/# opkg list | grep helper
kmod-nf-nathelper - 6.1.81-1
kmod-nf-nathelper-extra - 6.1.81-1

Hi everyone, I tried to compile the Open WRT image by cloning the official vendor repository: GitHub - BPI-SINOVOIP/BPI-R4-OPENWRT-V21.02

I performed this procedure:

sudo apt-get update
sudo apt-get install git gcc binutils bzip2 flex python3 perl make grep unzip gawk subversion libz-dev libc-dev rsync
git clone https://github.com/BPI-SINOVOIP/BPI-R4-OPENWRT-V21.02
cd BPI-R4-OPENWRT-V21.02/
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make -j$(nproc) V=s

Compilation fails with an error related to the cryptsetup library. I noticed that some partially compiled modules remain in the build folder: json-c-0.15, libubox-2021-05-16-b14c4688 and opkg-2021-06-13-1bf042dd

root@vbox:/home/ubuntu/BPI-R4-OPENWRT-V21.02# make -j1 V=s VERBOSE=1
WARNING: Makefile 'package/feeds/mtk_openwrt_feed/flowtable/Makefile' has a dependency on 'kmod-nf-flow-netlink', which does not exist
make[1]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[2]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[3]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux'
make[4]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79'
rm -f /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/localversion
/home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/kconfig.pl  + + /home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/generic/config-5.4 /home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79/config-5.4 /home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79/generic/config-default > /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target
awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' /home/ubuntu/BPI-R4-OPENWRT-V21.02/.config >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target
echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target
echo "# CONFIG_KALLSYMS_ALL is not set" >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target
echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target
/home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/package-metadata.pl kconfig /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/.packageinfo /home/ubuntu/BPI-R4-OPENWRT-V21.02/.config 5.4 > /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.override
/home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/kconfig.pl 'm+' '+' /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.target /dev/null /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.override > /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set
mv /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.old
grep -v INITRAMFS /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.old > /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set
echo 'CONFIG_INITRAMFS_SOURCE=""' >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set
echo '# CONFIG_INITRAMFS_FORCE is not set' >> /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set
rm -rf /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/modules
cmp -s /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.prev || { cp /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config; cp /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.prev; }
export MAKEFLAGS= ; [ -d /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/user_headers ] || make -C /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246 KCFLAGS="-fmacro-prefix-map=/home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl=target-mips_24kc_musl -fno-caller-saves " HOSTCFLAGS="-O2 -I/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="mips-openwrt-linux-musl-" ARCH="mips" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Fri Feb  2 03:38:38 2024" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.246 CC="mips-openwrt-linux-musl-gcc" INSTALL_HDR_PATH=/home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/user_headers headers_install
grep '=[ym]' /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.config.set | LC_ALL=C sort | mkhash md5 > /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.vermagic
touch /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.configured
rm -f /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/vmlinux /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/System.map
make -C /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246 KCFLAGS="-fmacro-prefix-map=/home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl=target-mips_24kc_musl -fno-caller-saves " HOSTCFLAGS="-O2 -I/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/include  -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="mips-openwrt-linux-musl-" ARCH="mips" KBUILD_HAVE_NLS=no KBUILD_BUILD_USER="" KBUILD_BUILD_HOST="" KBUILD_BUILD_TIMESTAMP="Fri Feb  2 03:38:38 2024" KBUILD_BUILD_VERSION="0" HOST_LOADLIBES="-L/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/lib" KBUILD_HOSTLDLIBS="-L/home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/host/lib" CONFIG_SHELL="bash" V=''  cmd_syscalls=  KERNELRELEASE=5.4.246 CC="mips-openwrt-linux-musl-gcc" modules
make[5]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246'
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  Building modules, stage 2.
  MODPOST 74 modules
make[5]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246'
touch /home/ubuntu/BPI-R4-OPENWRT-V21.02/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.246/.modules
make -C image compile TARGET_BUILD=
make[5]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79/image'
make[5]: Nothing to be done for 'compile'.
make[5]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79/image'
make[4]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux/ath79'
make[3]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/target/linux'
time: target/linux/compile#8.02#2.05#9.70
make[2]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
export MAKEFLAGS= ;make -w -r buildinfo
make[2]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
 make[3] diffconfig buildversion feedsversion
make[2]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[2]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
rm -rf /home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/target-mips_24kc_musl/root-ath79
make[2]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[2]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[3]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/libs/libjson-c'
mkdir -p /home/ubuntu/BPI-R4-OPENWRT-V21.02/dl
SHELL= flock /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/.json-c-0.15-nodoc.tar.gz.flock -c '        /home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/download.pl "/home/ubuntu/BPI-R4-OPENWRT-V21.02/dl" "json-c-0.15-nodoc.tar.gz" "99bca4f944b8ced8ae0bbc6310d6a3528ca715e69541793a1ef51f8c5b4b0878" "" "https://s3.amazonaws.com/json-c_releases/releases/"    '
make[3]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/libs/libjson-c'
time: package/libs/libjson-c/host-compile#0.29#0.05#0.29
make[3]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/libs/libubox'
mkdir -p /home/ubuntu/BPI-R4-OPENWRT-V21.02/dl
SHELL= flock /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/.libubox-2021-05-16-b14c4688.tar.xz.flock -c '      /home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/download.pl "/home/ubuntu/BPI-R4-OPENWRT-V21.02/dl" "libubox-2021-05-16-b14c4688.tar.xz" "7dd1db1e0074a9c7c722db654cce3111b3bd3cff0bfd791c4497cb0f6c22d3ca" "" || (       echo "Checking out files from the git repository..."; mkdir -p /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl && cd /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl && rm -rf libubox-2021-05-16-b14c4688 && [ \! -d libubox-2021-05-16-b14c4688 ] && git clone  https://git.openwrt.org/project/libubox.git libubox-2021-05-16-b14c4688 && (cd libubox-2021-05-16-b14c4688 && git checkout b14c4688612c05c78ce984d7bde633bce8703b1e && git submodule update --init --recursive) && echo "Packing checkout..." && export TAR_TIMESTAMP=`cd libubox-2021-05-16-b14c4688 && git log -1 --format='\''@%ct'\''` && rm -rf libubox-2021-05-16-b14c4688/.git &&    tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name ${TAR_TIMESTAMP:+--mtime="$TAR_TIMESTAMP"} -c libubox-2021-05-16-b14c4688 |   xz -zc -7e > /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl/libubox-2021-05-16-b14c4688.tar.xz && mv /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl/libubox-2021-05-16-b14c4688.tar.xz /home/ubuntu/BPI-R4-OPENWRT-V21.02/dl/ && rm -rf libubox-2021-05-16-b14c4688;  )    '
make[3]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/libs/libubox'
time: package/libs/libubox/host-compile#0.24#0.05#0.26
make[3]: Entering directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/system/opkg'
mkdir -p /home/ubuntu/BPI-R4-OPENWRT-V21.02/dl
SHELL= flock /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/.opkg-2021-06-13-1bf042dd.tar.xz.flock -c '         /home/ubuntu/BPI-R4-OPENWRT-V21.02/scripts/download.pl "/home/ubuntu/BPI-R4-OPENWRT-V21.02/dl" "opkg-2021-06-13-1bf042dd.tar.xz" "aeda4e0f11805bf95fc7be6d38391ce579acd965c8ba6a490b3e8669815b7264" "" || (          echo "Checking out files from the git repository..."; mkdir -p /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl && cd /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl && rm -rf opkg-2021-06-13-1bf042dd && [ \! -d opkg-2021-06-13-1bf042dd ] && git clone  https://git.openwrt.org/project/opkg-lede.git opkg-2021-06-13-1bf042dd && (cd opkg-2021-06-13-1bf042dd && git checkout 1bf042dd06751b693a8544d2317e5b969d666b69 && git submodule update --init --recursive) && echo "Packing checkout..." && export TAR_TIMESTAMP=`cd opkg-2021-06-13-1bf042dd && git log -1 --format='\''@%ct'\''` && rm -rf opkg-2021-06-13-1bf042dd/.git &&    tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name ${TAR_TIMESTAMP:+--mtime="$TAR_TIMESTAMP"} -c opkg-2021-06-13-1bf042dd |      xz -zc -7e > /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl/opkg-2021-06-13-1bf042dd.tar.xz && mv /home/ubuntu/BPI-R4-OPENWRT-V21.02/tmp/dl/opkg-2021-06-13-1bf042dd.tar.xz /home/ubuntu/BPI-R4-OPENWRT-V21.02/dl/ && rm -rf opkg-2021-06-13-1bf042dd;  )    '
make[3]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02/package/system/opkg'
time: package/system/opkg/host-compile#0.25#0.06#0.28
make[2]: *** No rule to make target 'package/cryptsetup/host/compile', needed by 'package/compile'.  Stop.
make[2]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make[1]: *** [package/Makefile:116: /home/ubuntu/BPI-R4-OPENWRT-V21.02/staging_dir/target-mips_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/ubuntu/BPI-R4-OPENWRT-V21.02'
make: *** [/home/ubuntu/BPI-R4-OPENWRT-V21.02/include/toplevel.mk:230: world] Error 2

My goal is to get a working image to be able to install docker inside this device. For this purpose I have enabled some kernel modules that I believe are necessary for this purpose:

CONFIG_KERNEL_AIO=y
CONFIG_KERNEL_BLK_CGROUP=y
CONFIG_KERNEL_BLK_DEV_BSG=y
CONFIG_KERNEL_BLK_DEV_THROTTLING=y
CONFIG_KERNEL_CFQ_GROUP_IOSCHED=y
CONFIG_KERNEL_CGROUPS=y
CONFIG_KERNEL_CGROUP_CPUACCT=y
CONFIG_KERNEL_CGROUP_DEVICE=y
CONFIG_KERNEL_CGROUP_FREEZER=y
CONFIG_KERNEL_CGROUP_PERF=y
CONFIG_KERNEL_CGROUP_PIDS=y
CONFIG_KERNEL_CGROUP_SCHED=y
CONFIG_KERNEL_CPUSETS=y
CONFIG_KERNEL_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_FANOTIFY=y
CONFIG_KERNEL_FHANDLE=y
CONFIG_KERNEL_FREEZER=y
CONFIG_KERNEL_IPC_NS=y
CONFIG_KERNEL_MEMCG=y
CONFIG_KERNEL_MEMCG_KMEM=y
CONFIG_KERNEL_MEMCG_SWAP=y
CONFIG_KERNEL_MM_OWNER=y
CONFIG_KERNEL_NAMESPACES=y
CONFIG_KERNEL_NET_CLS_CGROUP=y
CONFIG_KERNEL_NET_NS=y
CONFIG_KERNEL_PERF_EVENTS=y
CONFIG_KERNEL_PID_NS=y
CONFIG_KERNEL_POSIX_MQUEUE=y
CONFIG_KERNEL_PROC_PID_CPUSET=y
CONFIG_KERNEL_RESOURCE_COUNTERS=y
CONFIG_KERNEL_USER_NS=y
CONFIG_PACKAGE_kmod-veth=y

Can anyone tell me where I’m wrong?

may i ask why you clone the vendor version and not the snapshot of openwrt? because the snapshot version works like a charm. i also had a lot of trouble with the vendor version (required old version of packages). you must NOT run ./scripts/feeds when building the sinovoip version! When you go with the official openwrt snapshot, you can and should update the packages with ./scripts/feeds

Hi, I’m still thinking that something is wrong with the PCIe slot: gist:de8a0726f22b97de72558a59029225ff · GitHub after trying to connect the Intel BE200 wireless card. I tried different adapters + different slots,I checked the card on old laptop which is taking good performance results (also I got another card base on mt7921e which is working normally on BPI-R4 in both slots). I also asked a commit author firmware: add Intel BE200 firmware by januszdziedzic · Pull Request #14531 · openwrt/openwrt · GitHub if the card is working normally on his device and he confirm, that everything is fine on his bpi-r64 device.

The boot log is completely innocent. The two mPCIe slots both report a link, the two M.2 slots both report that the link is down. It can be an electrical problem (we’ve had this before and maybe we again miss a filter capacitor somewhere) or a problem with PCIe power management, for example. If we know what the problem is we might be able to solve it in software, but there are chances that it’s a hardware incompatibility.

Just for clarification because I see people again and again assuming that error -517 is an error, it is not:

So those lines in the bootlog saying

[    0.051838] /soc/pcie@11290000: Failed to get clk index: 0 ret: -517

basically just means that the clk driver has not yet been loaded and the kernel should try again to bring up the PCIe driver at a later point. Really not an error, but something completely normal.

1 Like

Thanks for the very detailed answer

The BE200 cards are well known to only work in recent Intel systems. It is not known if this is something Intel did intentionally, or if support can be added to other platforms.

Yes, there was many threads on reddit about it. I still consider that it will not work on BPI-R4, but according to the OpenWRT forum, it is working for some users on BPI-R64 and Nvidia Jetson. Maybe they have different cards, maybe they have different adapters… Now I ordered two more adapters, just to remove suspicion.

Does anyone know how I can enable the fan ?

Several people have told me to do this:

echo 0 > /sys/class/pwm/pwmchip0/export echo 10000 > /sys/class/pwm/pwmchip0/pwm0/period echo 5000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable

but /sys/class/pwm/ is empty.

I use OpenWrt’s official snapshot - checked out and compiled from GitHub yesterday, so I might just miss a module or something?

That is interesting. I did not read this in any banana pi chat.

The last information I had was:

->SUPPORT IS NOT ESTABLISHED YET.

Ok, one person from Sinovoip said it should work with both their image (it does) and the official OpenWRT snapshot, and one person from DIYzone on AliExpress (which sells the cabinet with fan) said that it should work.

I have removed the sense cable until I, or someone else figures it out. :slightly_smiling_face:

That already explains why it doesn’t work. The 3rd pin on the fan connector on the BPI-R4 board is not a sensor input, but rather a PWM signal output. The other two pins are constant DC output. So you need a fan with mosfet to have than PWM signal drive the fan, typically fans with 4-pin connector have DC input, PWM input and sensor output. Use one of those and connect the sensor output to any of the GPIO inputs of the GPIO header, if you want to measure fan speed.

Pwm on fan socket works for you (in your wip tree)?

It works great with BPI-R4-mtk-bpi-r4-SD-20231030, but not if I compile it myself using the OpenWrt git, so it is either not supported there, or I’m missing a module, or something.