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
inbox:toh:sinovoip:bananapi_bpi-r4 [2024/10/15 15:43] – add note to mention NVME driver palebloodskyinbox:toh:sinovoip:bananapi_bpi-r4 [2024/11/21 07:31] – Add information how to enable WO firmware dpawlik
Line 121: Line 121:
 </WRAP> </WRAP>
 ***/ ***/
- 
  
 ===== Hardware ===== ===== Hardware =====
 +
 +
 ==== Info ==== ==== Info ====
 ^ Architecture    | ARM / AARCH64 Cortex-A73                                                 | ^ Architecture    | ARM / AARCH64 Cortex-A73                                                 |
Line 150: Line 151:
 </WRAP> </WRAP>
 ***/ ***/
 +
 +==== BPI-R4-NIC-BE14 ====
 +One of the greatest advantages of this device is the cooperation of the main processor (MT7988) with the WiFi module (**MT7996**).
 +The **BPI-R4-NIC-BE14** module is often described as a board with MT7996 processor, but this is actually a marketing shorthand used by MediaTek
 +for its Wireless module series. The MT7996 refers to an entire chipset package consisting of multiple components: MT7995AV+MT7976CN+MT7977IAN.
 +
 +<WRAP BOX>
 +**Important**: The Sinovoip company advice to use **19V/3.2A** power supply. Make sure, that your current power supply is good. Most of the USB-C power supply for the modern PC's will have it.
 +</WRAP>
 +
 +Before you mount the module to the router, remember to switch the "**SW4**" to the **ON possition** on the BPi-R4 board, like on the picture below:
 +
 +{{media:sinovoip:bpi_r4_v1.0_sw4.jpg?400|sw4 switch}}
 +
 +After that, the 12V LED lights up when turned **ON**.
 +
 +=== Wireless Offload ===
 +
 +Before explaining the WO firwmare goal, it is worth to mention about **WED** - **W**ireless **E**thernet **D**ispatch. (Special thanks
 +for Dangowrt for the explaination).
 +
 +The WED term stems from the original implementation which is part of MT7622 and offloads
 +forwarding from Ethernet to Wireless, ie. WiFi TX is offloaded only. Hence packets received on Ethernet
 +are dispatched to Wireless, hence the name. More recent versions (MT7986, MT7981 and later SoC) do
 +support also taking care of the traffic received on the Wireless interface.
 +
 +The "**WO**" (**W**ireless **O**ffload Firmware) In order to perform WED on recent SoCs a dedicated
 +offloading firmware is required.
 +
 +WED means offloading traffic forwarding from/to Wireless. It works with the existing
 +flow-offloading aka. HWNAT engine of MediaTek SoCs, just like for forwarding Ethernet traffic.
 +Newer SoCs need firmware to perform WED, and that is called WO firmware. Because WED is now bidirectional,
 +MediaTek started to use the more generic term WO instead of WED, which suggests a unidirectional
 +nature as it has been the case on MT7622. Today, the two terms (WED and WO) mean the same feature.
 +
 +The "**WO**" firmware is available now in the OpenWrt snapshot builds since this [[https://github.com/openwrt/openwrt/commit/eee3c695f3922c9bbacef9e4c2b1b71e8174fee1|commit]].
 +
 +<WRAP BOX>
 +**Important**: The current WO firmware in the builds is unstable and it is recommended to use it for advenced user. It is mandatory to limit the RAM for **2GB**, otherwise the wireless interfaces will not start.
 +
 +
 +To set 2GB RAM limit, you need to execute on the router:
 +<code>
 +fw_setenv bootargs "ttyS0,115200n1 pci=pcie_bus_perf root=/dev/fit0 rootwait mem=2048M"
 +</code>
 +
 +To go back to previous settings, execute on the router:
 +<code>
 +fw_setenv bootargs "ttyS0,115200n1 pci=pcie_bus_perf root=/dev/fit0 rootwait"
 +</code>
 +</WRAP>
 +
 +After you change RAM size (temporary workaround), enable load the **WO** firmware. To do that, you need to add into the ///etc/modules.conf//, for example:
 +
 +<code>
 +echo "options mt7996e wed_enable=Y sr_scene_detect=Y" >> /etc/modules.conf
 +</code>
 +
 +Then **reboot** the router to apply changes. When it comes back, results should be as below:
 +
 +<code>
 +$ cat /sys/module/mt7996e/parameters/sr_scene_detect
 +Y
 +$ cat /sys/module/mt7996e/parameters/wed_enable
 +Y
 +</code>
 +
 +
 +=== Module BPI-R4-NIC-BE14 photo ===
 +
 +{{media:sinovoip:BPI-R4-NIC-BE14_2.jpg?400|BPI-R4-NIC-BE14}}
 +
 +=== 6GHz wireless network ===
 +
 +The topic of 6GHz networking is often duplicated on the official OpenWrt forum, so before
 +configuring your network, make sure:
 +
 +  * if you are using Windows 10, using the 6GHz network is not possible on this system,
 +  * make sure you have the latest drivers,
 +  * verify the Wi-Fi [[https://en.wikipedia.org/wiki/List_of_WLAN_channels#6_GHz_(802.11ax_and_802.11be)|regulation list]] for your country. It is highly possible that running this type of network is not permitted in your region. Using a country code that does not match your location is not recommended.
 +  * there are only few contries where the 320MHz width can be used
 +
 +<WRAP BOX>
 +**NOTE**: Sometimes the latest drivers may not achieve satisfactory speeds. It is worth trying sometimes to use **AX** mode than **BE** mode.
 +</WRAP>
 +
 +==== Testing speed locally ====
 +There are many tools to check the speed between the host and the router. The most commonly
 +used, "**iperf3**" can cause problems for less advanced users. In this case, the
 +"**librespeed-go**" package (you need to enable it in /etc/config/librespeed-go) may be a more
 +convenient method for testing (by default the service should be available on port :8989).
  
 ==== Photos ==== ==== Photos ====
  • Last modified: 2024/11/27 09:03
  • by n-storm