Banana Pi BPI-R3 OpenWRT image

Probably something different but I’m not able to make working a simple H!Fiber 1Gbs rj45 sfp module.

All I obtain is these report log on eth1 (the same on Sfp2 cage):

root@OpenWrt:/# [  449.290202] sfp sfp1: module OEM              SFP-GE-T         rev      sn CSGExxxxxxx      dc 211028
[  449.357105] mtk_soc_eth 15100000.ethernet eth1: validation with support 0000000,00000000,00000000 failed: -22
[  449.367095] sfp sfp1: sfp_add_phy failed: -22

I do not fine any reference for error -22

Anyone have a simple 1Gbps RJ45 Sfp module working? It’s mine incompatible or broken?

It was the latest snapshot from https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/ from about one week before I posted two weeks ago. So, whatever the snapshot was three weeks ago.

I can confirm that the fibre modules reported receiving packets, and moreover, the count of packets sent by one exactly equalled the count of packets received by the other.

Mine are < 1w modules with only a 2km range, so your issues could be simply due to insufficient power? I agree it seems weird yours can transmit and not receive if it were insufficient power. I hope you figure it out.

I first suspected the same thing, but I also got the message about not enough power on the Mikrotik, and it works there.

The message about too little power only occurs with 20km devices. The other 3 devices I tested are all 10km modules that didn’t have this message.

And the remote station next to me is only 1.5km away.

It’s all very strange.

Hi,

I think the Makefile of this device need some patching. Its not building Ext4 images, and the Rootfs partition size is not working.

https://forum.openwrt.org/t/bananapi-bpi-r3-there-is-a-way-to-use-ext4

Relatedly, besides this topic, is there anywhere that documents what the LEDs mean?

I typically get a red power LED followed by solid then blinking green as OpenWRT starts up, but this morning I was seeing the red power LED followed by solid blue and the green LED was off. The device responded to pings but it didn’t appear any of the services were started.

I haven’t looked at debug UART, but is there any obvious meaning to the blue LED during startup?

blue LED on startup means the device has started the recovery image. This happens (intentionally) in case there has been a kernel crash. Check /sys/fs/pstore for details.

No OpenWRT 22.x or 23.x release anytime soon?

What command does emmc use? Do I put the firmware files on a USB stick or upload them somewhere?

root@OpenWrt:/mnt/sda1# ls
System Volume Information                                         openwrt-mediatek-filogic-bananapi_bpi-r3-nor-preloader.bin
openwrt-mediatek-filogic-bananapi_bpi-r3-initramfs-recovery.itb   openwrt-mediatek-filogic-bananapi_bpi-r3-squashfs-sysupgrade.itb
openwrt-mediatek-filogic-bananapi_bpi-r3-nor-bl31-uboot.fip
root@OpenWrt:/mnt/sda1# modprobe mtd-rw i_want_a_brick=1
failed to find a module named mtd-rw
root@OpenWrt:/mnt/sda1# mtd write openwrt-mediatek-filogic-bananapi_bpi-r3-nor-preloader.bin bl2
Could not open mtd device: bl2
Can't open device for writing!
root@OpenWrt:/mnt/sda1#

Have you solved your problem?

opkg update
opkg install mmc-utils kmod-mtd-rw

Thank you for my firmware lack of many dependency packages, how to use the serial port to brush openwrt official firmware root@OpenWrt:~# opkg install mmc-utils kmod-mtd-rw Package mmc-utils (2019-10-10-73d6c59a-2) installed in root is up to date. Unknown package ‘kmod-mtd-rw’. Collected errors:

  • opkg_install_cmd: Cannot install package kmod-mtd-rw. root@OpenWrt:~#

As you have the serial port connected, why don’t you just use the bootloader menu to install to whatever bootmedia you like?

Edit: Now I understand :slight_smile: The version of mmc-utils was a clear hint that this is impossibly official OpenWrt you are currently running – it’s from 2019 and hence you must be running SinoVoip’s build of MediaTek SDK and not really OpenWrt.

To start using the real OpenWrt, please follow the instructions further up in this thread: Banana Pi BPI-R3 OpenWRT image

For the initial installation you will need a microSD card and use that microSD to boot the R3. As you have the serial port connected you can then use the bootloader menu to install OpenWrt to NAND or NOR, and when booting from NAND you can install to eMMC (you cannot install directly from microSD to eMMC as they cannot be accessed at the same time).

I am a rookie and I don’t know what command to use to swipe in

Really, please just read the instructions:

  1. Insert the microSD card with OpenWrt image on it. See the instructions in the link on how to put OpenWrt on the microSD card
  2. Setup little switches on the R3 board to positions A=1, B=1, C=1, D=1
  3. Connect the serial port and start terminal program (puTTY or minicom or such thing)
  4. Now power on the device. Right in the beginning you see a menu. There you can use the cursor keys to navigate and select installation to SPI-NAND. Do that.
  5. Once installation to SPI-NAND is done, remove the power from the device, and remove microSD card.
  6. Setup little switches on the R3 board to positions A=1, B=0, C=1, D=0
  7. Now power on the device, now it should be starting from SPI-NAND memory. Right in the beginning you again see a menu. Again use the cursor keys to navigate and select installation to eMMC. Do that.
  8. Remove power again
  9. Setup little switches on the R3 board to positions A=0, B=1, C=1, D=0
  10. Now you are done, the device will boot from eMMC.
1 Like

I know the steps, openwrt official website to get the firmware is bin format, you give the steps is img format, and openwrt official website to give the firmware is not bl2_emmc but more a openwrt-mediatek-filogic-bananapi_bpi-r3-emmc-bl31-uboot.fip file I wouldn’t know how to refresh it? I understand the following steps do not know if it is right.

  • mount -t vfat /dev/sda1 /mnt
  • echo 0 > /sys/block/mmcblk0boot0/force_ro
  • dd if=openwrt-mediatek-filogic-bananapi_bpi-r3-emmc-preloader.bin of=/dev/mmcblk0
  • mmc bootpart enable 1 1 /dev/mmcblk0

Please just read the instructions, it’s written there:

If you want to use official OpenWrt you have to start like this with a microSD card. You can not use SinoVoip’s MediaTek SDK factory build to switch to OpenWrt, it cannot work and there is not way.

Thank you for your pointers

1 Like

I discovered that somehow the current OpenWRT brings up the network before the macaddress is set:

ifconfig phy0-ap0
phy0-ap0  Link encap:Ethernet  HWaddr 00:0C:43:26:60:00
          inet6 addr: fe80::20c:43ff:fe26:6000/64 Scope:Link
wifi up
ifconfig phy0-ap0
phy0-ap0  Link encap:Ethernet  HWaddr BA:C3:31:B6:10:8A
          inet6 addr: fe80::b8c3:31ff:feb6:108a/64 Scope:Link

Oh wow, that’s a problem. I was wondering if it can work in the way we built it, and thought it’s ok because other boards do the same. Turns out: it’s not.