Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:sinovoip:bananapi_bpi_r3_v1.0_v1.1 [2023/03/04 02:40] – tags, flash layout, fixes garlettoh:sinovoip:bananapi_bpi_r3_v1.0_v1.1 [2024/02/12 11:13] – external edit
Line 4: Line 4:
 ===== Supported Versions ===== ===== Supported Versions =====
  
----- datatable ---- +<!-- ToH: { 
-cols    BrandModelVersionsSupported Current Rel, OEM device homepage URL_url, Forum Search_search-forums, Device Techdata_pageid +  "source""json", 
-headers BrandModel, Version, Current Release, OEM Info, Forum Search, Technical Data +  "dom": "t", 
-align   c,c,c,c,c,c,c +  "paging": false
-filter  : Brand=Sinovoip +  "rotate"true
-filter  Model=BananaPi BPi R3 +  "shownColumns"["brand""model""version""supportedcurrentrel""oemdevicehomepageurl""forumsearch", "deviceid"]
- +  "filterColumns"{"brand": "^Sinovoip$", "model""^BananaPi BPi R3$"} 
-----+-->
  
 /* If no unsupported functions known, comment out the following datatable or delete it.  /* If no unsupported functions known, comment out the following datatable or delete it. 
----- datatable ---- +<!-- ToH: { 
-cols    Unsupported Functions_unsupporteds +  "source""json", 
-filter  : Brand=Sinovoip +  "dom""t", 
-filter  : Model=BananaPi BPi R3 +  "paging"false, 
----- */+  "shownColumns": ["unsupported_functions", "model", "version", "cpu", "cpumhz", "cpucores", "flashmb", "rammb", "wlanhardware", "wlan24ghz", "wlan50ghz", "ethernet100mports", "ethernet1gports", "modem", "usbports"], 
 +  "filterColumns": {"brand": "^Sinovoip$", "model": "^BananaPi BPi R3$"} 
 +-->
  
-===== Experimental Versions =====+  * Two 1G/2.5G capable SFP cages, one of them connected via the on-board MT7531 switch.
  
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  +  * PCIe gen-3 x2 Key-M M2/NGFF socket for NVMe SSD (or additional WiFi in Key-A/E to Key-M adapter)
-   The official Table of Hardware only lists current, stable versions of OpenWrt.  * +
-   Use this space to describe any on-going efforts to create a newer version       * +
-   of the firmware for this device. Provide links to firmware images,              * +
-   active threads on the forum, or other sources of information.                   * +
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +
- +
-//None at this time.// +
- +
-===== Hardware Highlights ===== +
----- datatable ---- +
-cols    : Model, Versions, CPU, CPU MHz, CPU Cores_numcores, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet Gbit ports_, Modem, USB ports_ +
-header  : Model, Version,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB +
-align   : c,c,c,c,c,c,c,c,c,c,c,c,+
-filter  : Brand=Sinovoip +
-filter  : Model=BananaPi BPi R3 +
-----+
  
 +  * mPCIe slot with SIM card slot and USB 2.0 wired (**no actual PCIe signals on the mPCIe socket!**)
  
 ===== Installation ===== ===== Installation =====
 /* stable release */ /* stable release */
-/* uncomment once stable release is available +<!-- ToH: { 
----- datatable ---- +  "source""json", 
-cols    ModelVersionsSupported Current RelFirmware OpenWrt Install URL_urlFirmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url +  "dom": "t", 
-headers ModelVersionCurrent ReleaseFirmware OpenWrt InstallFirmware OpenWrt UpgradeFirmware OEM Stock +  "paging": false, 
-align   : c,c,c +  "rotate": true
-filter  : Brand=Sinovoip +  "shownColumns"["model""version""supportedcurrentrel""firmwareopenwrtinstallurl""firmwareopenwrtupgradeurl""firmwareoemstockurl"]
-filter  Model=BananaPi BPi R3 +  "filterColumns"{"brand": "^Sinovoip$", "model""^BananaPi BPi R3$"} 
-filter  : Versions~V1.0, V1.1 +-->
----- +
-*/+
  
  
 /* snapshot */ /* snapshot */
-/* delete once stable release is available */ +/* delete once stable release is available 
----- datatable ---- +<!-- ToH: { 
-cols    ModelVersionsSupported Current RelFirmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url +  "source""json", 
-headers ModelVersionCurrent ReleaseFirmware OpenWrt snapshot InstallFirmware OpenWrt snapshot UpgradeFirmware OEM Stock +  "dom": "t", 
-align   : c,c,c +  "paging": false
-filter  : Brand=Sinovoip +  "shownColumns"["model""version""supportedcurrentrel""firmwareopenwrtsnapshotinstallurl""firmwareopenwrtsnapshotupgradeurl""firmwareoemstockurl"]
-filter  Model=BananaPi BPi R3 +  "filterColumns"{"brand": "^Sinovoip$", "model""^BananaPi BPi R3$"} 
-----+--
 +*/
  
-Tip: firmware-selector.openwrt.org can create a custom snapshot with packages like luci-ssl+Tip: [[https://firmware-selector.openwrt.org/?target=mediatek%2Ffilogic&id=bananapi_bpi-r3|firmware-selector.openwrt.org]] can create a custom snapshot with packages like luci-ssl
  
   - Unzip bananapi_bpi-r3-sdcard and write the image on a micro sd card using:   - Unzip bananapi_bpi-r3-sdcard and write the image on a micro sd card using:
Line 97: Line 83:
 # lsblk /dev/mmcblk0  /dev/mtdblock*  -o START,SIZE,FSTYPE,NAME,PARTLABEL # lsblk /dev/mmcblk0  /dev/mtdblock*  -o START,SIZE,FSTYPE,NAME,PARTLABEL
 ^ START ^ SIZE ^ FSTYPE ^ NAME ^ PARTLABEL ^ ^ START ^ SIZE ^ FSTYPE ^ NAME ^ PARTLABEL ^
-|        | 128.0 MiB |          | NAND | | 
-|        | 122.5 MiB | ubi      | ├mtdblock0 | / | 
-|        |   2.0 MiB |          | ├mtdblock1 | uboot | 
-|        |   3.0 MiB |          | ├mtdblock2 | | 
-|        |   0.5 MiB |          | ├mtdblock3 | bl2 second stage bootoader | 
 |        |   7.3 GiB |          | mmcblk0   | emmc device | |        |   7.3 GiB |          | mmcblk0   | emmc device |
 |     34 |   4.0 MiB |          | ├mmcblk0p128 | | |     34 |   4.0 MiB |          | ├mmcblk0p128 | |
Line 110: Line 91:
 | 131072 | 104.0 MiB |          | ├mmcblk0p5 | production | | 131072 | 104.0 MiB |          | ├mmcblk0p5 | production |
 | 141856 |   6.1 MiB | squashfs |  ├mmcblk0p65 | /rom | | 141856 |   6.1 MiB | squashfs |  ├mmcblk0p65 | /rom |
-| 154296 |  92.7 MiB | f2fs     |  mmcblk0p66 | /overlay |+| 154296 |  92.7 MiB | f2fs     |  mmcblk0p66 | /overlay 
 +|        | 128.0 MiB |          | NAND | | 
 +|        | 122.5 MiB | ubi      | ├mtdblock0 | / | 
 +|        |   2.0 MiB |          | ├mtdblock1 | uboot | 
 +|        |   3.0 MiB |          | ├mtdblock2 | | 
 +|        |   0.5 MiB |          | └mtdblock3 | bl2 second stage bootloader | 
 +|        |  32.0 MiB |          | NOR | | 
 +|        |  20.0 MiB |          | ├mtdblock0 | | 
 +|  10816 |   5.6 MiB | squashfs |  └mtdblock0p1 | |  
 +|        |   9.1 MiB |          | ├mtdblock1 | | 
 +|        |  10.5 MiB |          | ├mtdblock2 | |  
 +|        |   0.5 MiB |          | ├mtdblock3 | |  
 +|        |   0.5 MiB |          | ├mtdblock4 | |  
 +|        |   0.2 MiB |          | ├mtdblock5 | |  
 +|        |   0.2 MiB |          | └mtdblock6 | 
  
-/* 
-f2fs info, including "discard blocks" https://docs.kernel.org/filesystems/f2fs.html 
- cat /sys/kernel/debug/f2fs/status 
  
-set eMMC partition 5  end at 512MB+To create data partition and resize eMMC f2fs, boot on NOR(0000) or NAND(1010) and type: 
- parted -s /dev/mmcblk0 resizepart 5 512MB +<code> 
- mount /dev/mmcblk0p66 /mnt  +parted /dev/mmcblk0 -- mkpart f2fs 768MiB -34s resizepart 5 768MiB resizepart 4 67.1M resizepart 3 12.6M  
- umount /dev/mmcblk0p66 +  # say F to fix gpt global size 
- rezise.f2fs /dev/mmcblk0p66+reboot 
 + 
 +mount /dev/mmcblk0p66 /mnt && umount /dev/mmcblk0p66 && resize.f2fs /dev/mmcblk0p66 
 +  # if resize.f2fs fails, a sysupgrade may fix 
 +</code> 
 +Now boot on eMMC(0110) and check if it worked ! 
  
-create data partition: 
- parted -s /dev/mmcblk0 mkpart PART-TYPE [FS-TYPE] START END 
- parted -s /dev/mmcblk0 mkpart PART-TYPE f2fs 512MB 8192MB 
-*/ 
  
 +Get [[https://docs.kernel.org/filesystems/f2fs.html|f2fs]] info, including "discard blocks":
 +<code> cat /sys/kernel/debug/f2fs/status </code>
  
 ===== Upgrading OpenWrt ===== ===== Upgrading OpenWrt =====
Line 165: Line 161:
 The default network configuration is: The default network configuration is:
 ^ Interface Name   ^ Description                  ^ Default configuration    ^ ^ Interface Name   ^ Description                  ^ Default configuration    ^
-| br-lan            LAN & WiFi           | 192.168.1.1/24   | +| br-lan           | LAN ports, SFP2 & WiFi       | 192.168.1.1/24   | 
 +| br-wan           | WAN port and SFP1            | DHCP             |
  
 ==== Ports ==== ==== Ports ====
Line 193: Line 189:
 ==== Info ==== ==== Info ====
  
----- datatemplatelist dttpllist ---- +<!-- ToH: { 
-templatemeta:template_datatemplatelist +  "source""json", 
-cols    BrandModelVersionsDevice TypeAvailabilitySupported Since Commit_gitSupported since RelSupported current RelUnsupportedBootloaderCPUTargetCPU MHzFlash MBsRAM MBSwitchEthernet 100M ports_Ethernet Gbit ports_Comments network ports_ModemVLANWLAN 2.4GHzWLAN 5.0GHzWLAN HardwaresWLAN Comments_Detachable Antennas_USB ports_SATA ports_Comments USB SATA ports_SerialJTAGLED countButton countPower supplyDevice Techdata_pageidForum topic URL_urlwikidevi URL_urlOEM Device Homepage URL_urlFirmware OEM Stock URL_urlFirmware OpenWrt Install URL_urlFirmware OpenWrt Upgrade URL_urlComments_ +  "dom""t", 
-filter  : Brand=Sinovoip +  "paging"false, 
-filter  Model=BananaPi BPi R3 +  "rotate": true, 
-----+  "shownColumns": ["brand""model""version""devicetype""availability""supportedsincecommit""supportedsincerel""supportedcurrentrel""unsupported_functions""bootloader""cpu""target""cpumhz""flashmb""rammb""switch""ethernet100mports""ethernet1gports""commentsnetworkports""modem""vlan""wlan24ghz""wlan50ghz""wlanhardware""wlancomments""detachableantennas""usbports""sataports""commentsusbsataports""serial""jtag""ledcount""buttoncount""powersupply""deviceid""owrt_forum_topic_url""wikideviurl""oemdevicehomepageurl""firmwareoemstockurl", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "comments"]
 +  "filterColumns"{"brand": "^Sinovoip$", "model""^BananaPi BPi R3$"} 
 +--
 +^ Task ^ Power Consumption (Wh) ^ 
 +| Idle | 4.0 | 
 +| 2.4 Ghz | 0.2 .. 1.0 | 
 +| 5.0 Ghz | 0.2 .. 1.0 | 
 +| OpenSSL | 0.2 |
  
 ==== Photos ==== ==== Photos ====
Line 227: Line 230:
 -> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc. -> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc.
  
-How to connect to the JTAG Port of this specific device:\\ +JTAG pins are exposed as part of the 26-pin GPIO pin header. As JTAG function is shared with other functions (pinmux), the pins need to be put into JTAG mode to work (ie. can be deactivated by software). 
-**Insert photo of PCB with markings for JTAG port**+ 
 +Find OpenOCD scripts provided by MediaTek [[https://github.com/mtk-openwrt/openocd-scripts/tree/main/mt7986|here]].
  
 ===== Bootloader mods ===== ===== Bootloader mods =====
 -> [[docs:techref:bootloader]] -> [[docs:techref:bootloader]]
 +Boot process:
 +  - Boot ROM (burned into MT7986A SoC, cannot be changed): loads first block of storage device, selected by bootstrap pins connected to switches on the R3
 +  - ARM Trusted Firmware BL2: starts and initializes the CPU and DRAM, then loads next stage
 +  - ARM Trusted Firmware BL3: contains ARM Trusted Firmware run-time (BL31) and U-Boot (BL33)
 +  - [[:docs:techref:bootloader:uboot|U-Boot]]: provides boot menu and network capabilities, loads OpenWrt/Linux
 +
 +All parts of the boot process apart from the Boot ROM and the memory initialization function in ARM Trusted Firmware BL2 are provided in source and **are built from source** in the OpenWrt build system.
 +
 +The U-Boot loader built from source with the OpenWrt image comes with a recovery/production dual-boot capabilities, options to install OpenWrt to all storage devices of the board, network capabilities incl. TFTP client and server, UEFI boot from removable storage and much more.
  
 ===== Hardware mods ===== ===== Hardware mods =====
Line 536: Line 549:
  
 ===== Tags ===== ===== Tags =====
-{{tag>4core armv8 MT7986 4nic sfp 1sim 8ant detachableantenna 802.11bgn 802.11ax 2048ram 32flash 128nand 8192emmc usb3.0 2usb m.2 fan 2button gpio microsd 12v_powered  }}+[[meta:tags|How to add tags]]
  
 +{{tag>4core armv8 MT7986 4nic sfp 1sim 8ant detachableantenna wifi6 802.11ax 802.11bgn 2048ram 32flash 128nand 8192emmc usb3.0 2usb m.2 fan 2button gpio microsd 12v_powered mediatek 7Port GigabitEthernet 2.5GigabitEthernet lte MiniPCIexpress DevBoard Filogic 2NIC hwVLAN 2WNIC TRNG crypto Serial SPI DualFirmware}}