The module is not ready on insertion, it runs Linux with OpenWRT, so it needs 20~30 seconds to boot.
It only pulls def0 low once it’s done booting. And before it’s booted, all communication with it will fail.
So bridgeing def0 to ground manually will make the board try to talk to the module before it’s booted, which will cause all kinds of bad issues, and will likely end up with the kernel concluding the module is broken before it has a chance to boot and operate.
I want to use my BPI R4 with the Telekom (Germany) Branded Zyxel PMG3000-DB20B SFP.
I installed the snapshot-openwrt image on the SD-Card and insterted the SFP after it arrived.
First nothing appeared in dmesg but the notice when i remove the module.
After bridging the MOSFET it got recognised, but nothing more than that.
I dont have any PHY devices and cant bring up the eth2 manually.
So i just wanted to ask: What did you do to get it working?
Nothing really, once the module gets its power, it takes some 20~30 seconds to boot up, and then it just works.
Keep in mind that you need special VLAN setups for some providers, like the Telekom.
And you also need to tell them the SN of your module, or ssh into the module and change it to the one you already have registered.
If it’s Telekom, there is no DHCP.
You need to do PPPoE on VLAN 7 once the GPON link is established.
The link of the interface itself should eventually come up on its own, and you can then manually assign a static IP to it and ssh into the OpenWRT on the SFP module to change setting/SN/…
To go online, you add a VLAN interface for VLAN 7 on top, and then do PPPoE with your provided credentials. For IPv6, you then do DHCPv6 PD on top of the established PPPoE link.
I’d recommend not configuring the ssh interface unless you really want to connect to it right now.
The OpenWRT on there is horrendously insecure and ancient, so better not expose it in any way.
10G is wrong though, the module by default runs in 1G mode, and can be configured to 2.5G mode, but host support for that mode is uncertain, and setting that mode is immediate and irreversible.
If you are trying to access it like it’s a 10G SFP module, there’s your issue right there.
I remember reading somewhere that the OpenWRT build only supports 10G sfp module, but I don’t recall the reason or how to remedy it.
On normal Linux the module just worked out of the box, with the kernel auto-negotiating the speed and mode with it.
I have a spare SD card so i will try to build the Debian images and have a look if it works there.
Do you mind sharing what image you used or the build options?
The speed is read from eeprom, negotiation is turned off.
I also do not use openwrt, and I really don’t know, of all different version out there, which one suipports what. Hopefully eventually all is supported.
I’m running Gentoo on mine, so there is no image or anything I could provide.
But anything running Franks latest 6.9/6.10/6.11 kernels should just work.