RB760iGS (hEX S) SFP working?

I'm using one of these with a VDSL SFP. Does anyone know if the SFP port works with OpenWrt? I want to move away from routerOS because it has awful bufferbloat and no support for Cake.

If OpenWrt can't work with the VDSL SFP I will have to use the beta RouterOS which I don't really want to do.

Can confirm the SFP slot works on master (not sure about 21.02: master ramips had a hack fix for this recently) with fibre transceiver. Some time ago (~year) the SFP slot worked with 1000BASE-T copper module and DAC. Have not tried these since.
There was recently a problem with PPPoE. I think it was to do with flow offload, and do not know if it is fixed.
RouterBOOT v7 does not load OpenWrt from flash. If you have upgraded, netinstall ROSv6, then upgrade (downgrade) RouterBOOT from ROS.
Cheers

If it works with 1000BASE-T it should work with the Proscend 180-T VDSL SFP. I have IPoE internet so don't need to worry about PPPoE thankfully.

I think I will hold off until 21.02 is the current stable series because I don't want to annoy wifey with flakey Internet :laughing:

@simplexion , 21.02.0 has been released. If you (or anybody else) are going to install on this device, could I please ask a favor? After the first boot, could you please post /etc/config/network?

After that, could you please flash the freifunk firmware which I am co-developing? Make sure to use sysupgrade with the -n option (don't keep settings). Again, I am interested in the contents of /etc/config/network.

The link to the freifunk firmware is https://firmware.berlin.freifunk.net/unstable/1.2.0-snapshot/notunnel/ramips/mt7621/

Small tip, the default IP address with the freifunk firmware is 192.168.42.1 or hostname frei.funk

Hi, sorry if the link has not been working. We are having issues with our buildbot and only by manual intervention is anything working. :confused:

for some reason I cannot manage to receive DHCP (external address) from my ISP after booting with openwrt (with routerOS it works fine) anything on dmesg that can help me figure out why?:

[    0.000000] Linux version 5.4.143 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16279-5cc0535800)) #0 SMP Tue Aug 31 22:20:08 2021
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is MikroTik RouterBOARD 760iGS
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] On node 0 totalpages: 65536
[    0.000000]   Normal zone: 576 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 65536 pages, LIFO batch:15
[    0.000000] percpu: Embedded 14 pages/cpu s26768 r8192 d22384 u57344
[    0.000000] pcpu-alloc: s26768 r8192 d22384 u57344 alloc=14*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Writing ErrCtl register=0005d010
[    0.000000] Readback ErrCtl register=0005d010
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 248360K/262144K available (6087K kernel code, 204K rwdata, 748K rodata, 3700K init, 238K bss, 13784K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 256
[    0.000000] random: get_random_bytes called from 0x806e3a3c with crng_init=0
[    0.000000] CPU Clock: 880MHz
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4343773742 ns
[    0.000008] sched_clock: 32 bits at 440MHz, resolution 2ns, wraps every 4880645118ns
[    0.007809] Calibrating delay loop... 583.68 BogoMIPS (lpj=1167360)
[    0.041994] pid_max: default: 32768 minimum: 301
[    0.046759] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.053982] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.064293] rcu: Hierarchical SRCU implementation.
[    0.069699] smp: Bringing up secondary CPUs ...
[    0.122772] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.122782] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.122794] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.122892] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.102423] Synchronize counters for CPU 1: done.
[    3.216445] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    3.216453] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    3.216461] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    3.216520] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.167072] Synchronize counters for CPU 2: done.
[    0.778206] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.778213] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.778221] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.778283] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.224923] Synchronize counters for CPU 3: done.
[    0.254796] smp: Brought up 1 node, 4 CPUs
[    0.263229] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.272904] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.279913] pinctrl core: initialized pinctrl subsystem
[    0.286526] NET: Registered protocol family 16
[    0.297903] FPU Affinity set after 4688 emulations
[    0.313893] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.325119] clocksource: Switched to clocksource GIC
[    0.331518] thermal_sys: Registered thermal governor 'step_wise'
[    0.331989] NET: Registered protocol family 2
[    0.342622] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.350676] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.359094] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.366690] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.373776] TCP: Hash tables configured (established 2048 bind 2048)
[    0.380207] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.386690] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.393900] NET: Registered protocol family 1
[    0.398217] PCI: CLS 0 bytes, default 32
[    3.513089] 4 CPUs re-calibrate udelay(lpj = 1167360)
[    3.519787] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    3.526472] random: fast init done
[    3.539101] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.544871] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    3.556361] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    3.565722] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    3.571507] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    3.577337] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    3.583676] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    3.593766] printk: console [ttyS0] disabled
[    3.598048] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A
[    3.607029] printk: console [ttyS0] enabled
[    3.615286] printk: bootconsole [early0] disabled
[    3.627625] spi-mt7621 1e000b00.spi: sys_freq: 220000000
[    3.643211] spi-nor spi0.0: w25q128jv (16384 Kbytes)
[    3.648235] 2 fixed-partitions partitions found on MTD device spi0.0
[    3.654578] Creating 2 MTD partitions on "spi0.0":
[    3.659370] 0x000000000000-0x000000040000 : "RouterBoot"
[    3.667801] 5 routerbootpart partitions found on MTD device RouterBoot
[    3.674395] Creating 5 MTD partitions on "RouterBoot":
[    3.679534] 0x000000000000-0x00000000f000 : "bootloader1"
[    3.686355] 0x00000000f000-0x000000010000 : "hard_config"
[    3.693025] 0x000000010000-0x00000001f000 : "bootloader2"
[    3.699819] 0x000000020000-0x000000021000 : "soft_config"
[    3.706680] 0x000000030000-0x000000031000 : "bios"
[    3.712710] 0x000000040000-0x000001000000 : "firmware"
[    3.720451] libphy: Fixed MDIO Bus: probed
[    3.751477] libphy: mdio: probed
[    3.754938] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    3.774113] mtk_soc_eth 1e100000.ethernet: generated random MAC address f6:29:85:8e:f4:17
[    3.783206] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 22
[    3.791601] mtk_soc_eth 1e100000.ethernet: generated random MAC address e2:34:e8:b6:b6:05
[    3.800517] mtk_soc_eth 1e100000.ethernet sfp: mediatek frame engine at 0xbe100000, irq 22
[    3.809944] i2c-mt7621 1e000900.i2c: clock 100 kHz
[    3.818521] MikroTik RouterBOARD hardware configuration sysfs driver v0.06
[    3.826860] MikroTik RouterBOARD software configuration sysfs driver v0.03
[    3.835367] NET: Registered protocol family 10
[    3.841461] Segment Routing with IPv6
[    3.845250] NET: Registered protocol family 17
[    3.849777] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.862944] 8021q: 802.1Q VLAN Support v1.8
[    3.869542] gpio-export gpio_export: 2 gpio(s) exported
[    3.874994] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    3.948679] libphy: dsa slave smi: probed
[    3.953181] mt7530 mdio-bus:1f wan (uninitialized): PHY [dsa-0.0:00] driver [Generic PHY]
[    3.962873] mt7530 mdio-bus:1f lan2 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY]
[    3.972596] mt7530 mdio-bus:1f lan3 (uninitialized): PHY [dsa-0.0:02] driver [Generic PHY]
[    3.982371] mt7530 mdio-bus:1f lan4 (uninitialized): PHY [dsa-0.0:03] driver [Generic PHY]
[    3.992048] mt7530 mdio-bus:1f lan5 (uninitialized): PHY [dsa-0.0:04] driver [Generic PHY]
[    4.001908] mt7530 mdio-bus:1f: configuring for fixed/rgmii link mode
[    4.013134] DSA: tree 0 setup
[    4.016681] hctosys: unable to open rtc device (rtc0)
[    4.035959] Freeing unused kernel memory: 3700K
[    4.040509] This architecture does not have kernel memory protection.
[    4.046932] Run /init as init process
[    4.051102] mt7530 mdio-bus:1f: Link is Up - 1Gbps/Full - flow control off
[    4.466808] init: Console is alive
[    4.470762] init: - watchdog -
[    4.483777] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.495271] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.509427] init: - preinit -
[    4.645684] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[    4.653978] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    4.662446] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    4.733848] random: jshn: uninitialized urandom read (4 bytes read)
[    4.798928] random: jshn: uninitialized urandom read (4 bytes read)
[    4.870374] random: jshn: uninitialized urandom read (4 bytes read)
[    5.148470] mt7530 mdio-bus:1f lan2: configuring for phy/gmii link mode
[    5.155568] 8021q: adding VLAN 0 to HW filter on device lan2
[    9.299605] procd: - early -
[    9.302677] procd: - watchdog -
[    9.849256] procd: - watchdog -
[    9.852817] procd: - ubus -
[    9.912599] procd: - init -
[   10.225884] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.253641] xt_time: kernel timezone is -0000
[   10.270341] PPP generic driver version 2.4.2
[   10.275902] NET: Registered protocol family 24
[   10.289746] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.376442] urngd: v1.0.2 started.
[   10.513369] random: crng init done
[   10.516755] random: 7 urandom warning(s) missed due to ratelimiting
[   25.182901] mtk_soc_eth 1e100000.ethernet eth0: Link is Down
[   25.199826] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[   25.208170] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   25.211776] device eth0 entered promiscuous mode
[   25.221936] mt7530 mdio-bus:1f lan2: configuring for phy/gmii link mode
[   25.229381] 8021q: adding VLAN 0 to HW filter on device lan2
[   25.238167] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   25.246504] br-lan: port 1(lan2) entered blocking state
[   25.251943] br-lan: port 1(lan2) entered disabled state
[   25.258269] device lan2 entered promiscuous mode
[   25.286655] mt7530 mdio-bus:1f lan3: configuring for phy/gmii link mode
[   25.293865] 8021q: adding VLAN 0 to HW filter on device lan3
[   25.303695] br-lan: port 2(lan3) entered blocking state
[   25.309080] br-lan: port 2(lan3) entered disabled state
[   25.315752] device lan3 entered promiscuous mode
[   25.330482] mt7530 mdio-bus:1f lan4: configuring for phy/gmii link mode
[   25.338119] 8021q: adding VLAN 0 to HW filter on device lan4
[   25.347739] br-lan: port 3(lan4) entered blocking state
[   25.353050] br-lan: port 3(lan4) entered disabled state
[   25.360368] device lan4 entered promiscuous mode
[   25.374689] mt7530 mdio-bus:1f lan5: configuring for phy/gmii link mode
[   25.382088] 8021q: adding VLAN 0 to HW filter on device lan5
[   25.391220] br-lan: port 4(lan5) entered blocking state
[   25.396606] br-lan: port 4(lan5) entered disabled state
[   25.403495] device lan5 entered promiscuous mode
[   25.423388] mt7530 mdio-bus:1f wan: configuring for phy/gmii link mode
[   25.430684] 8021q: adding VLAN 0 to HW filter on device wan
[   25.439721] br-wan: port 1(wan) entered blocking state
[   25.445056] br-wan: port 1(wan) entered disabled state
[   25.451269] device wan entered promiscuous mode
[   25.472148] mtk_soc_eth 1e100000.ethernet sfp: PHY [mdio-bus:07] driver [Atheros 8031 ethernet]
[   25.480948] mtk_soc_eth 1e100000.ethernet sfp: configuring for phy/rgmii-rxid link mode
[   25.490155] at803x_config_aneg: fiber
[   25.495019] br-wan: port 2(sfp) entered blocking state
[   25.500334] br-wan: port 2(sfp) entered disabled state
[   25.509819] device sfp entered promiscuous mode
[   25.514847] br-wan: port 2(sfp) entered blocking state
[   25.520081] br-wan: port 2(sfp) entered forwarding state
[   25.526112] IPv6: ADDRCONF(NETDEV_CHANGE): br-wan: link becomes ready
[   26.209925] br-wan: port 2(sfp) entered disabled state
[   36.545613] mt7530 mdio-bus:1f lan3: Link is Up - 1Gbps/Full - flow control rx/tx
[   36.553160] br-lan: port 2(lan3) entered blocking state
[   36.558395] br-lan: port 2(lan3) entered forwarding state
[   36.564600] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

Need more information:

  • What build and branch of Openwrt? /etc/openwrt_release
  • What kind of connection: PPP or DHCP, and on which port?
  • What is your OpenWrt /etc/config/network? Replace the private bits with placeholders.
  • logread will have some extra information

From your dmesg, can tell that only lan3 is connected, as it is the only port that ends Link is Up / entered forwarding state.
An SFP module should be shown when detected, like this:

[   47.617566] sfp sfp1: Host maximum power 1.0W
[   48.403726] sfp sfp1: module FS               SFP1G-LX-31      rev A0   sn G1807xxxxx      dc 180819  
  1. for build branch:
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r17769-333f93333e'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r17769-333f93333e'
DISTRIB_TAINTS=''

(I tried stable 21.02 too)

  1. If you are talking about the connection from the ISP the answer is DHCP and from the sfp (sfp1)

  2. cat /etc/config/network:

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option packet_steering '1'
	option ula_prefix 'xxxxx::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config device
	option name 'lan2'
	option macaddr 'xxxxxxxxx'

config device
	option name 'lan3'
	option macaddr 'xxxxxxxxx'

config device
	option name 'lan4'
	option macaddr 'xxxxxxxxx'

config device
	option name 'lan5'
	option macaddr 'xxxxxxxxx'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'br-wan'
	option type 'bridge'
	list ports 'wan'
	list ports 'sfp'

config device
	option name 'wan'
	option macaddr 'xxxxxxxxx

config device
	option name 'sfp'
	option macaddr 'xxxxxxxxx'

config interface 'wan'
	option device 'br-wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'br-wan'
	option proto 'dhcpv6

it seems like the SFP is not detected at all, since the same sfp-related information in dmesg will appear even when the sfp slot is empty.

edit: I read your patch here. it looks like I need ethtool too which is not provided by the snapshot. I'll recompile with the diffconfig you provided and let you know.

update: after recompiling by myself the sfp was detected without any problem. I think that the autobuilds may be missing something.

1 Like

Great that you got it working.

I can explain your problem if you were using the initramfs image? If this was the installed squashfs image, let me know and I will dig into why.

I remember now (sorry) that when using the buildbot settings (this is what the official images are compiled with) the initramfs images does not use DEVICE_PACKAGES, whereas a single profile does. For hEX S this means the bits needed to make SFP work get left out of the official initramfs image..

Build bot config:

CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
CONFIG_TARGET_ALL_PROFILES=y

vs. single 760igs profile:

CONFIG_TARGET_ramips_mt7621_DEVICE_mikrotik_routerboard-760igs=y

Cheers

1 Like

the problem was indeed in the buildbot initramfs image.

Thank you for the explanation, it did clarify a lot.
I did not try to use the buildbot's squashfs image but flashed my own squashfs compiled version, and the sfp still works.

1 Like

I have a sfp 180t vdsl2, could you post your wan and lan change ... indeed the original port 1 is wan and it must change to lan, and the new wan will be the sfp, but I can not make this change
By default in Luci I have 3 interface : br-lan p2,p3,P4,p5,p6,p7,p8.
WAN P1 and WAN6 P1... if I replace WAN P1 by WAN SFP and ditto for WAN6... it doesn't change anything…

I installed the ethtool package and it doesn't recognize it, then I deleted and installed ethtool-full... it doesn't recognize it either... what am I missing?

What exactly is your problem? Does the vdsl sfp get recognized?
Did you use prebuilt image or you compiled by yourself?

I am trying to get the sfp recognized ... and this is a prebuild image

The sfp works with this RB microtik router but not with OpenWrt image, I guess there are missing packages or configuration instructions ???

You'll have to compile an image by youself due to some prebuilt images limitations that @johnth mentioned before.

Plus make sure that you dont need other stuff for the vdsl sfp.

I understand, what would be the package to add to the complication of this new image?