Good evening, here is my latest image with kernel 6.6.105 in case anyone wants to try it.
I’m sharing the image so you can enjoy it and contribute possible ideas to improve it.
An image for the Banana Pi R4 with 8 GB RAM is included; tested on SD card and works perfectly.
banana pi r4 Kernek6.6.105 was-110±H-COM+SPP425H-+XGS-PON+10GB
It’s quite simple.
It comes with:
dawn, usteer, Scheduled Reboot (to schedule the router to reboot every day or on any day you want at a specific time), Dynamic DNS, omcproxy, wireguard, UPnP IGD & PCP/NAT-PMP Service, Wifi Schedule (to program wifi on/off times for the kids), mlo, temperature sensor, CPU load, and probably some other things I’ve forgotten.
Support for the xgs-pon WAS-110 - H-COM SPP425H- XGS-PON 10GB module is also included
root@OpenWrt:~# ls /sys/class/net/
br-lan erspan0 eth2 lan1 lo wan
br-wan eth0 gre0 lan2 phy0.1-ap0
br-wan.20 eth1 gretap0 lan3 phy0.2-ap0
root@OpenWrt:~# i2cdetect -l
i2c-0 i2c i2c-mt65xx I2C adapter
i2c-1 i2c i2c-mt65xx I2C adapter
i2c-2 i2c i2c-1-mux (chan_id 0) I2C adapter
i2c-3 i2c i2c-1-mux (chan_id 1) I2C adapter
i2c-4 i2c i2c-1-mux (chan_id 2) I2C adapter
i2c-5 i2c i2c-1-mux (chan_id 3) I2C adapter
root@OpenWrt:~# i2cdump -y 3 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 03 04 01 20 00 00 00 00 00 00 00 03 64 00 14 c8 ??? .......?d.??
10: 00 00 00 00 48 2d 43 4f 4d 20 20 20 20 20 20 20 ....H-COM
20: 20 20 20 20 00 00 00 00 53 50 50 34 32 35 48 2d ....SPP425H-
30: 47 41 42 34 20 20 20 20 41 2d 30 31 04 f6 00 69 GAB4 A-01??.i
40: 00 00 00 00 50 54 32 34 33 34 30 34 42 30 30 30 ....PT243404B000
50: 31 30 20 20 32 34 31 30 32 33 20 20 68 f0 05 11 10 241023 h???
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
100: 5a 00 ce 00 55 00 d3 00 8c a0 75 30 87 8c 7a 44
110: 75 30 00 00 6b 6c 00 00 ff ff 3d e8 ff ff 4d f0
120: 07 cb 00 0b 06 30 00 0e 00 00 00 00 00 00 00 00
130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00
150: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 b0
160: 1c d8 83 e8 00 00 00 00 00 00 58 7b b0 78 02 00
170: 05 40 00 00 05 40 00 00 00 00 00 00 00 00 00 00
180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
root@OpenWrt:~# ethtool -m eth2
Identifier : 0x03 (SFP)
Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID)
Connector : 0x01 (SC)
Transceiver codes : 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Transceiver type : 10G Ethernet: 10G Base-LR
Encoding : 0x03 (NRZ)
BR, Nominal : 10000MBd
Rate identifier : 0x00 (unspecified)
Length (SMF,km) : 20km
Length (SMF) : 20000m
Length (50um) : 0m
Length (62.5um) : 0m
Length (Copper) : 0m
Length (OM3) : 0m
Laser wavelength : 1270nm
Vendor name : H-COM
Vendor OUI : 00:00:00
Vendor PN : SPP425H-GAB4
Vendor rev : A-01
Option values : 0x00 0x00
BR margin, max : 0%
BR margin, min : 0%
Vendor SN : PT243404B00010
Date code : 241023
Optical diagnostics support : Yes
Laser bias current : 13.342 mA
Laser output power : 3.0866 mW / 4.89 dBm
Receiver signal average optical power : 0.0059 mW / -22.29 dBm
Module temperature : 44.59 degrees C / 112.27 degrees F
Module voltage : 3.3736 V
Alarm/warning flags implemented : Yes
Laser bias current high alarm : Off
Laser bias current low alarm : Off
Laser bias current high warning : Off
Laser bias current low warning : Off
Laser output power high alarm : Off
Laser output power low alarm : Off
Laser output power high warning : Off
Laser output power low warning : Off
Module temperature high alarm : Off
Module temperature low alarm : Off
Module temperature high warning : Off
Module temperature low warning : Off
Module voltage high alarm : Off
Module voltage low alarm : Off
Module voltage high warning : Off
Module voltage low warning : Off
Laser rx power high alarm : Off
Laser rx power low alarm : Off
Laser rx power high warning : Off
Laser rx power low warning : Off
Laser bias current high alarm threshold : 60.000 mA
Laser bias current low alarm threshold : 0.000 mA
Laser bias current high warning threshold : 55.000 mA
Laser bias current low warning threshold : 0.000 mA
Laser output power high alarm threshold : 6.5535 mW / 8.16 dBm
Laser output power low alarm threshold : 1.5848 mW / 2.00 dBm
Laser output power high warning threshold : 6.5535 mW / 8.16 dBm
Laser output power low warning threshold : 1.9952 mW / 3.00 dBm
Module temperature high alarm threshold : 90.00 degrees C / 194.00 degrees F
Module temperature low alarm threshold : -50.00 degrees C / -58.00 degrees F
Module temperature high warning threshold : 85.00 degrees C / 185.00 degrees F
Module temperature low warning threshold : -45.00 degrees C / -49.00 degrees F
Module voltage high alarm threshold : 3.6000 V
Module voltage low alarm threshold : 3.0000 V
Module voltage high warning threshold : 3.4700 V
Module voltage low warning threshold : 3.1300 V
Laser rx power high alarm threshold : 0.1995 mW / -7.00 dBm
Laser rx power low alarm threshold : 0.0011 mW / -29.59 dBm
Laser rx power high warning threshold : 0.1584 mW / -8.00 dBm
root@OpenWrt:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host proto kernel_lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc mq state UP group default qlen 1000
link/ether da:ca:9b:17:2d:f8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::d8ca:9bff:fe17:2df8/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether da:ca:9b:17:2d:f9 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.1/24 brd 192.168.8.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 2a0c:5a85:d201:6a00::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd60:9abe:57d1::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::d8ca:9bff:fe17:2df9/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-wan state UP group default qlen 1000
link/ether 02:36:a9:99:4f:3d brd ff:ff:ff:ff:ff:ff
5: wan@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-wan state LOWERLAYERDOWN group default qlen 1000
link/ether 02:36:a9:99:4f:3d brd ff:ff:ff:ff:ff:ff permaddr da:ca:9b:17:2d:f8
6: lan1@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether da:ca:9b:17:2d:f8 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN group default qlen 1000
link/ether da:ca:9b:17:2d:f8 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN group default qlen 1000
link/ether da:ca:9b:17:2d:f8 brd ff:ff:ff:ff:ff:ff
9: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
10: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000
link/gre 0.0.0.0 brd 0.0.0.0
11: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
12: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
13: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether da:ca:9b:17:2d:f8 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.3/24 brd 192.168.11.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 2a0c:5a85:d201:6a10::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd60:9abe:57d1:10::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::d8ca:9bff:fe17:2df8/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
14: br-wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:36:a9:99:4f:3d brd ff:ff:ff:ff:ff:ff
inet6 fe80::36:a9ff:fe99:4f3d/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
15: br-wan.20@br-wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:36:a9:99:4f:3d brd ff:ff:ff:ff:ff:ff
inet6 fe80::36:a9ff:fe99:4f3d/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
16: phy0.1-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP group default qlen 1000
link/ether da:ca:9b:17:3d:0a brd ff:ff:ff:ff:ff:ff permaddr da:ca:9b:17:2d:fa
17: phy0.2-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP group default qlen 1000
link/ether da:ca:9b:17:4d:1a brd ff:ff:ff:ff:ff:ff permaddr da:ca:9b:17:2d:fa
18: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 3
link/ppp
inet 79.112.7.84 peer 10.0.24.109/32 scope global pppoe-wan
valid_lft forever preferred_lft forever
inet6 2a0c:5a85:d201:6a20::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 2a0c:5a85:d2ff:ffff::4f70:754/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fd60:9abe:57d1:20::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::f527:3029:a9e5:8655 peer fe80::1/128 scope link nodad
valid_lft forever preferred_lft forever
root@OpenWrt:~# dmesg | grep sfp
[ 14.683251] sfp sfp1: Host maximum power 3.0W
[ 14.687679] sfp sfp1: tx disable 1 -> 1
[ 14.691522] sfp sfp1: SM: enter empty:detached:down event insert
[ 14.697533] sfp sfp1: SM: exit probe:detached:down
[ 14.702503] sfp sfp1: SM: enter probe:detached:down event dev_attach
[ 14.708855] sfp sfp1: SM: exit probe:down:down
[ 14.713612] sfp sfp2: Host maximum power 3.0W
[ 14.717994] sfp sfp2: tx disable 1 -> 1
[ 14.721835] sfp sfp2: SM: enter empty:detached:down event insert
[ 14.727832] sfp sfp2: SM: exit probe:detached:down
[ 14.732813] sfp sfp2: SM: enter probe:detached:down event dev_attach
[ 14.739206] sfp sfp2: SM: exit probe:down:down
[ 15.003494] sfp sfp1: SM: enter probe:down:down event timeout
[ 15.020520] sfp sfp1: module H-COM SPP425H-GAB4 rev A-01 sn PT243404B00010 dc 241023
[ 15.029916] sfp sfp1: sfp: support mode 00,00000000,00001000,00006040
[ 15.042676] mtk_soc_eth 15100000.ethernet eth2: optical SFP: interfaces=[mac=2-4,22-24,27,29, sfp=27]
[ 15.071401] sfp sfp1: SM: exit present:down:down
[ 15.076044] sfp sfp2: SM: enter probe:down:down event timeout
[ 15.106504] sfp sfp2: module FINISAR CORP. FCBG110SD1C03-1R rev A sn WWN0K81 dc 161126
[ 15.122416] sfp sfp2: sfp: support mode 00,00000000,00000400,00006040
[ 15.128851] mtk_soc_eth 15100000.ethernet eth1: optical SFP: interfaces=[mac=1-4,22-24,27,29, sfp=27]
[ 15.157521] sfp sfp2: SM: exit present:down:down
[ 15.197541] sfp sfp1: SM: enter present:down:down event los_high
[ 15.203567] sfp sfp1: SM: exit present:down:down
[ 21.699257] sfp sfp1: SM: enter present:down:down event dev_up
[ 21.705176] sfp sfp1: tx disable 1 -> 0
[ 21.709026] sfp sfp1: SM: exit present:up:wait
[ 21.765951] sfp sfp1: SM: enter present:up:wait event timeout
[ 21.771700] sfp sfp1: probing phy device through the [MDIO_I2C_NONE] protocol
[ 21.778842] sfp sfp1: SM: exit present:up:link_up
[ 21.828237] sfp sfp2: SM: enter present:down:down event dev_up
[ 21.834088] sfp sfp2: tx disable 1 -> 0
[ 21.837929] sfp sfp2: SM: exit present:up:wait
[ 21.894638] sfp sfp2: SM: enter present:up:wait event timeout
[ 21.900400] sfp sfp2: probing phy device through the [MDIO_I2C_NONE] protocol
[ 21.907603] sfp sfp2: SM: exit present:up:link_up
[ 37.579398] sfp sfp1: SM: enter present:up:link_up event los_low
[ 37.585419] sfp sfp1: SM: exit present:up:link_up-a
root@OpenWrt:~# ethtool eth2
Settings for eth2:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseLR/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10000baseLR/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: FIBRE
PHYAD: 0
Transceiver: internal
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
root@OpenWrt:~#
I hope you enjoy it!