Huawei OptiXstar S800E XGSPON SPF+ ONU not detected

Agree with you that in its current state, the bpi-r4 isn’t ready yet.

For the other devices that you tried that works successfully with the S800E, does any of them rely on sfp.c? If I understand right, sfp.c will halt on a bad EEPROM checksum which appears to be the case for the S800E. Perhaps the behavior in the sfp driver is a factor when initializing i2c.

(For myself, I am trying to use the bpi-r4 as my primary router, though my biggest gripe apart from the S800E issues is that I can only hit about ~6700Mbps before hardware offload, ~8200Mbps after hardware offload. Trying to figure out if the bpi-r4 is the bottleneck)

@glassdoor @j_g

To me that’s actually great news. I don’t really like to modify/solder hardware if I don’t really have to. I already have the BPI-R4. And in the future I’d like to pair in with a XGS-PON ONU SFP+. Most likely this zaram one.

If it requires a quick hotplug/swap to start the ONU SFP+ or something like that (in addition to the software mod), that won’t be a problem. The BPI-R4 will be running as a router and will be left alone after it is up an running.

I’ll be closely following this.

i don’t believe sfp.c was used in the other platforms I use. Even if they do the sfp.c is drastically different from the 4x kernels to the 6.x ones. Most will have resorted to proprietary sfp+ codes.

your 8.2Gbps is forwarding on your 10Gbps fiber connection? for xgs-pon based solution 8.2-8.3Gbps is actually the technical limit from what I read.

The hack documented for the S800E does not require swap or hotplug for it to work. And it will work with cold boot, warm reboot, sysupgrade. Well at least I have not seen a case in the last few days where it fails to boot up and come online.

Yeah 8.2Gbps is with forwarding. I did not know about the xgs-pon limitations, thanks for sharing. I assumed that 10Gbps would behave like regular gigabit ethernet (topping out at about 9xx Mbps, so I was expecting approx 9.x Gbps). In this case the bpi-r4 is routing just fine then.

If I get a chance to, I would like to stick the S800E on a sfp breakout, and manually drive it with a regular microcontroller to observe its behavior. I do not have the requisite hardware so that’s on the back burner for now.

It is highly possible that tx-fault pin is used as bootlog uart output. This is often seen on ONU modules.

Thanks for your suggestion. That’s a possibility, though the noise only appears on the bpir4 capture; the same sfp module on my mellanox card doesn’t exhibit this behavior, so I am wondering if there is some other hardware factors at work here.

bpi-r4:

mellanox:

The Zaram module is also having huge problems with the BPI R4.

I’m curious, does the zaram even start? If not, maybe you can try this solution from @glassdoor Maybe he can share a compiled image, which you could test?

I’d like to use the zaram for Delta or KPN in a few months (when I move to a new house). For now I’m using a cheap SFP (on my BPI-R4) for a Caiway connection. Works flawless.

I had to do some soldering but it shows now in dmesg. but now i have errors something with the EEPROM. i,m busy trying to find out how to read and interpretate the data coming from the I2C bus but its really frustrating. :slight_smile:

I want to use the Zaram for KPN., i have a 4 Gbit connection I used another sfp+ to RJ45 module with ethernet and that worked flawless.

But this Zaram in combination with the BPI R4 is for me (noob old and windows man) is undescribable frustrating.

Hmm, I hope this is all fixed before I need the Zaram ONU :sweat_smile:

Is it some generic message you see? Does it look like some of the errors reported here?

The message is

root@OpenWrt:/# dmesg |grep sfp
[   11.507870] sfp sfp1: Host maximum power 3.0W
[   11.512852] sfp sfp2: Host maximum power 3.0W
[   11.823979] sfp sfp1: module Zaram            ZXOS11NPI        rev 1B   sn ZRMT23120070     dc 230327
[   11.841838] sfp sfp1: Module switched to 1.5W power level
[   11.858659] sfp sfp2: module Uptimed          UP-TR-10G-RJ45-C rev 1    sn UPC21TX260039    dc 210630
[   13.742545] sfp sfp1: module transmit fault indicated
[   19.182521] sfp sfp1: module persistently indicates fault, disabling


Someone solved this with the same error code but with a different transceiver. 

from the logs. the issue is completely different to S800E where it does not get powered up and i2c cannot read the eeprom

the Zaram is powered and detected. 90% of problem solved. all you need is to add a quirk sfp_fixup_ignore_tx_fault to sfp.c and rebuild.

or spoof the module name and id in the boot environment and just follow this solution as suggested to you in another thread. https://forum.banana-pi.org/t/bpi-r4-sfp-gpon-onu-34-20bi-openwrt-tx-fault/21810/12?u=glassdoor

I,m glad 90% of my problem is solved… but for me the devil is in the details. i have no idea how where and what i would have to do to that sfp.c Rebuilding i can. but that is as far as my knowledge goes :slight_smile: Is there anywhere some documentation how and where i can add a quirk to the sfp.c ?
I have looked into it and i see nowhere something that resembles my Zaram stick.

If you can rebuild, try inserting this in your sfp.c

	// Zaram ZXOS11NPI is a XGS-PON module with broken TX_FAULT indicator
	SFP_QUIRK_F("Zaram", "ZXOS11NPI", sfp_fixup_ignore_tx_fault),

https://github.com/torvalds/linux/blob/9bffa1ad25b8b3b95d8f463e5c24dabe3c87d54d/drivers/net/phy/sfp.c#L512

I,m going to try that and let you know if that worked.

Thank you so much.

When i build a firmware myself the module is not recognized.
The firmware that recognized the Zaram is the 24.10.0 Release Candidate 5

And now it works…

no error messages anymore… you guys are the best… :))

Great :smiley:! Can you report here if the zaram/bpi-r4 combination works without problems (full speed, low cpu usage etc). Curious!

I will report tomorrow… At this moment it is working without any problems but i have to register the module with KPN tomorrow first to see if it actually connects to the internet.
I,m pretty confidant that it does but i had to compile my own kernel in the process.

i get different network device labels (sfp-wan and sfp-lan) where i was used to having wan lan eth0 eth1 eth2 lan1 lan2 lan3 etc.

hopefully i only have to change the names in the /etc/config/network

But i,m not sure yet simply because i never did this before :slight_smile:

Besides that i,m sure it will all work out

i will report speeds and cpu usage… but i,m confidant that it will be pretty much the same as with Sfp+ to Rj45 modules… very low load and cpu usage.