10Gb/s Ethernet: switching to a Broadcom SFP+ module :: Giles’ blog

Posted on June 16, 2026 in TIL, Gadgets

In April, I upgraded my home LAN to 10Gb/s. In-wall cabling is CAT-6 or similar, so I had to use 10GBASE-T. Now, the router I’m using, and the switch in my study, offers 10Gb/s via SFP+ cage; This meant they needed a 10GBASE-T SFP+ module to connect.

That type of module is known to run hot – sometimes too hot to actually work. module in reggieThe router appears to be running fine (see post linked above for chart), but one is on nigelStudy switch, was a worrying 93C. I tried sticking some mini-heatsinks on it, which helped a little. But the weather became hot and eventually the module overheated. Due to the study I lost access to the Internet, and upon checking the metrics I found this:

Nigel's 10GBASE-T SFP+ module flapping

You can see it “flapping”: the temperature reaches a level where the module shuts itself down for its own safety – about 95C, I think – and then when it recovers, it turns on again, the temperature rises, and the process repeats.

I was able to solve the problem by turning on the air conditioning in the study. But generally I only leave it on when I’m there, and keeping the air conditioner on 24/7 to keep the network running seems like the wrong solution.

Now it’s time to switch to more power-efficient SFP+ modules.


My original 10 GB/s post got a lot of discussion on Hacker News, and xxpor As mentioned, there are two generations of 10GBASE-T SFP+ modules: the older one uses a Marvell chip, and the newer one uses one from Broadcom. blunden Same thing was said on ServeTheHome forum also. The Marvel-based ones were known to be popular, and they both recommended finding a Broadcom-based one.

I have confirmed that the Mikrotik S+RJ10 that I had nigel There was actually a Marvell, so the solution was pretty simple: get a better one. So I went on Amazon and bought the 10Gtek ASF-10G-T80-INT. Checking 10Gtek’s own page on that module confirmed that it used the correct type of chip (although it was a bit garbled):

10Gtek’s ASF-10G-T80 is a latest version copper transceiver, its biggest feature is extremely low power consumption and long transmission distance (1.6W C10Gbps 30m, 2.0W 110Gbps 80m). ASF-10G-T80 is a 10GBase multi-rate copper RJ45 SFP+ transceiver designed following IEEE 802.3an/az and SFP+ MSA with Broadcom BCM84891 PHY chip, supporting up to 80-meter transmission over CAT.6a or CAT.7.

He came after a day or two. It came in a very small metal case:

10Gtek Packaging Photo 1

10Gtek Packaging Photo 2

10Gtek Packaging Photo 3

It took a while to install, as I found it difficult to remove the existing Mikrotik module; Willie Howe’s video on YouTube was very helpful in showing how to remove the latch, but I still had to wrestle a lot to get it out. However, it was finally done and the new module arrived.

I plugged all the network cables back in, turned on the switch, and (after a bit of nervous waiting for it to boot up) the network was back up and running!

So, was the temperature any better? I checked my monitoring, and:

Nigel's 10GBASE-T SFP+ module: no temperatures being reported

Huh, nothing was being reported.

However, it made sense. The way I was charting those numbers was that the switch exposed them over SMTP and then to the Telegraph daemon on my router, reggieRead the numbers and send them to InfluxDB; At last, Grafana charted.

I was reading module temperatures while using SMTP OID and I recognized that the switch was turning them on (.1.3.6.1.4.1.14988.1.1.19.1.1.6.3 If you’re interested), but perhaps the new module was published on a different OID. It was time to log in and take a look at the Switch.

[admin@Nigel] > /interface ethernet monitor sfp-sfpplus1 once
                      name: sfp-sfpplus1
                    status: link-ok
          auto-negotiation: done
                      rate: 10Gbps
               full-duplex: yes
           tx-flow-control: yes
           rx-flow-control: yes
                 supported: 10M-baseT-half
                            10M-baseT-full
                            100M-baseT-half
                            100M-baseT-full
                            1G-baseT-half
                            1G-baseT-full
                            1G-baseX
                            2.5G-baseT
                            2.5G-baseX
                            5G-baseT
                            10G-baseT
                            10G-baseSR-LR
                            10G-baseCR
             sfp-supported: 1G-baseX
                            10G-baseSR-LR
               advertising: 1G-baseX
                            10G-baseSR-LR
  link-partner-advertising:
        sfp-module-present: yes
               sfp-rx-loss: no
              sfp-tx-fault: no
                  sfp-type: SFP/SFP+/SFP28/SFP56
        sfp-connector-type: LC
              sfp-encoding: 64B/66B
       sfp-link-length-om1: 30m
       sfp-link-length-om2: 80m
       sfp-link-length-om3: 300m
           sfp-vendor-name: Intel Corp
    sfp-vendor-part-number: FTLX8571D3BCV-IT
       sfp-vendor-revision: A
         sfp-vendor-serial: IN101Q14436
    sfp-manufacturing-date: 26-01-31
            sfp-wavelength: 850nm
           eeprom-checksum: good
                    eeprom: 0000: 03 04 07 10 00 00 00 00  00 00 00 06 67 00 00 00  ........ ....g...
                            0010: 08 03 00 1e 49 6e 74 65  6c 20 43 6f 72 70 20 20  ....Inte l Corp
                            0020: 20 20 20 20 00 00 1b 21  46 54 4c 58 38 35 37 31      ...! FTLX8571
                            0030: 44 33 42 43 56 2d 49 54  41 20 20 20 03 52 00 85  D3BCV-IT A   .R..
                            0040: 00 1a 00 00 49 4e 31 30  31 51 31 34 34 33 36 20  ....IN10 1Q14436
                            0050: 20 20 20 20 32 36 30 31  33 31 20 20 00 f0 03 96      2601 31  ....
                            0060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........

It’s saying it’s an Intel module; This in itself is not so strange – there are often compatibility issues between switches and SFP+ modules, so sometimes modules are configured to “lie” about which manufacturer made them – and I specifically bought “Intel-compatible” ones on Amazon. ASF-10G-T80-INTBecause I couldn’t find anyone who pretends to be Mikrotik. Research suggested it would work well, and it did.

But the really strange parts were these:

sfp-connector-type: LC
sfp-wavelength: 850nm
sfp-link-length-om1: 30m
sfp-link-length-om2: 80m
sfp-link-length-om3: 300m
sfp-vendor-part-number: FTLX8571D3BCV-IT

Not only was it impersonating an Intel module – it was saying it was a fiber-optic one! Perhaps it would have been better if I had found a “Mikrotik-compatible” option – although, equally, it could impersonate the Mikrotik fiber module anyway.

Anyway, it was working – so it was fine. But there was some bad news. If the switch was able to read the temperature from the new module, you would expect it to show up in that output. sfp-temperature. So, sadly I don’t think I will be able to monitor the temperature of the new module.

So then, how can I tell if it helped or not? Well, one thing would be to just see if there are any more examples of network flapping. I actually did the replacement just two weeks ago, and as far as I can tell from its usage and other monitoring, everything is fine (despite another hot week last week).

But another interesting metric is CPU temperature nigel In the two weeks before and after the module change:

nigel cpu temperature

You can see the real drop happened late at night on June 1st, when I switched the module, and it’s been running about 5C cooler since then. Of course, there is a lot different about the new module – as well as having a different chipset and a worse EEPROM, it is likely to have different thermal coupling characteristics – it may shed more or less of its heat into the SFP+ cage and from there into the switch’s CPU. So this isn’t proof of anything, but in combination with better link stability, I’ll take it as a win.

So, an interesting little excursion into the world of SFP+ modules – in particular, a little dubious 🙂 Let’s see if it holds up any better while passing through the hot summer of Lisbon.

{ const url = new URL(document.querySelector(“link[rel=\”canonical\”]”).href); url.host = “www.gilesthomas.com”; return url.toString(); })() }” >



<a href

Leave a Comment