en:bpi-r4:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:bpi-r4:start [2024/01/29 06:49] – [openwrt] frank | en:bpi-r4:start [2024/05/07 07:56] (current) – [Network] frank | ||
---|---|---|---|
Line 12: | Line 12: | ||
* either 2x SFP+ (10GBit/s USXGMII) or 1SFP+ and 2g5 rj45 with PoE ([[https:// | * either 2x SFP+ (10GBit/s USXGMII) or 1SFP+ and 2g5 rj45 with PoE ([[https:// | ||
* Wifi7 with additional module connected to the 2 PCIe slots at bottom of board | * Wifi7 with additional module connected to the 2 PCIe slots at bottom of board | ||
- | * MediaTek | + | * BPI-R4-NIC-BE19 (no public sale): |
+ | * BPI-R4-NIC-BE14: | ||
* powersupply 12V/5A required when using wifi card,2A (like on other BPi Routers) is not enough | * powersupply 12V/5A required when using wifi card,2A (like on other BPi Routers) is not enough | ||
Line 30: | Line 31: | ||
{{: | {{: | ||
+ | |||
+ | |||
+ | |||
+ | ===== thermal ===== | ||
+ | |||
+ | cat / | ||
+ | |||
+ | Uses lvts driver | ||
+ | |||
+ | Thermalpad size: https:// | ||
+ | |||
+ | ==== testing fan ==== | ||
+ | |||
+ | by default first trip point is set to 40°C and second is 85°C...for testing the fan it is a bit high when using a passive heatsink. so just set first to 35 and second to 45. | ||
+ | < | ||
+ | root@bpi-r4-v11:/ | ||
+ | # cat trip_point_4_temp | ||
+ | 40000 | ||
+ | root@bpi-r4-v11:/ | ||
+ | # cat trip_point_3_temp | ||
+ | 85000 | ||
+ | root@bpi-r4-v11:/ | ||
+ | # echo 45000 > trip_point_3_temp | ||
+ | root@bpi-r4-v11:/ | ||
+ | # echo 35000 > trip_point_4_temp | ||
+ | root@bpi-r4-v11:/ | ||
+ | </ | ||
===== Network ===== | ===== Network ===== | ||
Line 57: | Line 85: | ||
NETSYS: V2 for mt7986 (bpi-r3) V3 for mt7988 (bpi-r4) | NETSYS: V2 for mt7986 (bpi-r3) V3 for mt7988 (bpi-r4) | ||
+ | |||
+ | Daniel tells me that lro should be enabled via userspace with | ||
+ | |||
+ | ethtool -N $ifname flow-type tcp4 dst-ip $lan_ip loc 0 | ||
==== Wifi ==== | ==== Wifi ==== | ||
wifi is realized with daughter board (Network Interface Card) in the 2 mPCIe-Slots at bottom of the board. | wifi is realized with daughter board (Network Interface Card) in the 2 mPCIe-Slots at bottom of the board. | ||
- | |||
- | {{: | ||
Wifi-Module needs 12V...v1 uses sw4 in on-position, | Wifi-Module needs 12V...v1 uses sw4 in on-position, | ||
Line 67: | Line 97: | ||
kernel-module: | kernel-module: | ||
- | Newer wifi card planned | + | {{: |
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | Newer wifi card with reduced antenna-count (6 instead of 14): | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | newer card currently has timeout on 3rd wifi interface (6.8-netnext), | ||
===== PCIE ===== | ===== PCIE ===== | ||
Line 93: | Line 134: | ||
{{ : | {{ : | ||
+ | ===== eeprom ===== | ||
+ | |||
+ | BPI-R4 has an eeprom on i2c-mux channel 0 | ||
+ | |||
+ | [ 1.515672] at24 2-0057: 256 byte 24c02 EEPROM, writable, 1 bytes/write | ||
+ | |||
+ | write-mode (wp-gpio is linked to green led): | ||
+ | < | ||
+ | # echo 0 > / | ||
+ | root@bpi-r4-v11: | ||
+ | # echo " | ||
+ | root@bpi-r4-v11: | ||
+ | # hexdump -C / | ||
+ | 00000000 | ||
+ | 00000010 | ||
+ | * | ||
+ | 00000100 | ||
+ | root@bpi-r4-v11: | ||
+ | # echo 1 > / | ||
+ | root@bpi-r4-v11: | ||
+ | </ | ||
+ | |||
+ | ===== rtc ===== | ||
+ | |||
+ | Battery connection looks like charging circuit for ml2032. You should not connect non-rechargeable battery like cr2032. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Connector is JST with 1.25mm pitch | ||
+ | |||
+ | RTC time will survive software reboot | ||
+ | < | ||
+ | # dmesg | grep rtc | ||
+ | [ 1.479923] rtc-pcf8563 2-0051: low voltage detected, date/time is not reliable. | ||
+ | [ 1.487390] rtc-pcf8563 2-0051: registered as rtc0 | ||
+ | [ 1.493378] rtc-pcf8563 2-0051: low voltage detected, date/time is not reliable. | ||
+ | [ 1.500771] rtc-pcf8563 2-0051: hctosys: unable to read the hardware clock | ||
+ | root@bpi-r4-v11: | ||
+ | # date -s " | ||
+ | Sat Apr 27 07:55:00 UTC 2024 | ||
+ | root@bpi-r4-v11: | ||
+ | # hwclock -w | ||
+ | root@bpi-r4-v11: | ||
+ | # hwclock -r | ||
+ | 2024-04-27 07: | ||
+ | root@bpi-r4-v11: | ||
+ | # reboot | ||
+ | ... | ||
+ | root@bpi-r4-v11: | ||
+ | # dmesg | grep rtc | ||
+ | [ 1.480067] rtc-pcf8563 2-0051: registered as rtc0 | ||
+ | [ 1.486061] rtc-pcf8563 2-0051: setting system clock to 2024-04-27T07: | ||
+ | root@bpi-r4-v11: | ||
+ | # date | ||
+ | Sat Apr 27 08:00:46 UTC 2024 | ||
+ | root@bpi-r4-v11: | ||
+ | </ | ||
===== uboot/ATF ===== | ===== uboot/ATF ===== | ||
Line 98: | Line 196: | ||
currently use these: | currently use these: | ||
- | * uboot: https:// | + | * uboot: https:// |
* ATF: https:// | * ATF: https:// | ||
Line 115: | Line 213: | ||
in newer u-boot i have set kaddr to 0x46000000 (fit loadaddr 0x44000000, rdaddr 0x48000000) | in newer u-boot i have set kaddr to 0x46000000 (fit loadaddr 0x44000000, rdaddr 0x48000000) | ||
- | swiotlb errors (in ethernet-driver) can be fixed with limiting ram in uboot/cmdline to 3G (32bit border) | + | [[uboot]] |
===== tftp ===== | ===== tftp ===== | ||
Line 141: | Line 239: | ||
BPI-R4> bootm 0x50000000# | BPI-R4> bootm 0x50000000# | ||
</ | </ | ||
+ | |||
+ | to get the bootconfigs (after #) we can use dumpimage from uboot-tools, | ||
+ | |||
+ | |||
===== linux ===== | ===== linux ===== | ||
Line 147: | Line 249: | ||
3GB Ram limit not needed anymore as ethernet driver now uses 36bit addressing | 3GB Ram limit not needed anymore as ethernet driver now uses 36bit addressing | ||
< | < | ||
- | Currently we need to limit ram to 3G because of swiotlb buffer full issues in ethernet driver | + | Currently we need to limit ram to 3G because of swiotlb buffer full issues in ethernet driver |
mem=3G | mem=3G | ||
Line 201: | Line 303: | ||
==== openwrt ==== | ==== openwrt ==== | ||
+ | |||
+ | === upstream === | ||
+ | |||
+ | same as for r3 | ||
+ | |||
+ | https:// | ||
+ | |||
+ | but select BananaPi BPI-R4 of course :) | ||
+ | |||
+ | i had to do a "make distclean" | ||
+ | |||
+ | < | ||
+ | # Update the feeds | ||
+ | ./ | ||
+ | ./ | ||
+ | |||
+ | make menuconfig | ||
+ | #select " | ||
+ | make -j$(nproc) | ||
+ | </ | ||
+ | |||
+ | then write the sdcard image... | ||
+ | |||
+ | gunzip -c bin/ | ||
+ | |||
+ | === downstream (sdk) === | ||
* clone openwrt master | * clone openwrt master | ||
Line 228: | Line 356: | ||
tar -xf bin/ | tar -xf bin/ | ||
dumpimage -l sysupgrade-mediatek_mt7988a-rfb-nand/ | dumpimage -l sysupgrade-mediatek_mt7988a-rfb-nand/ | ||
+ | | ||
+ | tftpboot 0x50000000 openwrt-mediatek-filogic-bananapi_bpi-r4-initramfs-recovery.itb | ||
+ | bootm 0x50000000# | ||
| | ||
===== Known Issues ===== | ===== Known Issues ===== | ||
- | * Card in M.2 slot causes i2c issues (sfp not detected): https:// | + | |
+ | * pcie2 and some others (offloading with 4G, multiple ppe, rss/lro) not yet working (https:// |
en/bpi-r4/start.1706507378.txt.gz · Last modified: 2024/01/29 06:49 by frank