Nokia G-010S-A Pin 6 Issue
Written 2020-08-15
Tags:GPON Fiber SFP
As part of setting up a GPON lab at home, I noticed that my Nokia G-010S-A SFP refused to connect to my HP 530SFP+ NIC. Some research showed that a NIC modification was needed.
I decided to dig in a little deeper to figure out what was wrong. The SFP specification states that SFP pin 6 should be grounded on the SFP module, so that the NIC can detect and respond to hotplugged modules. According to the link above, the Nokia G-010S-A doesn't do so, but that's not quite the whole story. After disassembling the SFP housing(a tricky and risky venture, bent sheet metal may cause interference on reinsertion to the NIC), I was able to trace out enough of the PCB to figure out what Nokia did. Instead of directly grounding pin 6, they placed a 1k SMT resistor between pin 6 and the SFP ground(also pins 1/9/10). This forms a voltage divider between the NIC and the G-010S-A. I suspect the issue is that different NICs may use different pull-up resistors connected to pin 6, or have different levels of VIL(Voltage Low Level, the minimum voltage required to read as a zero reliably), causing some systems to detect the G-010S-A correctly(if their pull-up is high enough), others to flutter(if their pull-up is middle-sized, or not using Schmitt triggered inputs), and mine to fail to detect entirely(pull-up too low).
The fix seems to be simple enough, short out this resistor(there are three white boxes above the 5 pin chip, the middle box has two resistors, the left is a zero-ohm, and the right is our 1k culprit, it's connected to pin 6, starting with pin 1 on the far right).
And it is! After soldering all four pads together, because my iron is far too large to solder over a single SMT resistor, rebooting the machine, setting the speed to 1000mbps with
sudo ethtool -s ens4f1 1000, configuring my IP address as 192.168.1.15, I can ping 192.168.1.10 and SSH into it as ONTUSER:SUGAR2A041@192.168.1.10:22, it works!