Regarding the SFPs, the short version is almost any copper SFP should work for the FB2900, but there are a few silly types that don't.
The longer version for a bit more context:
Most SFPs have a little ROM chip inside them with make/model etc, and most vendors use this to lock you into their own SFPs, ie Cisco switches paired up with specific Cisco SFPs on a whitelist. They probably do this for a reason, but it's really annoying, especially when you think you've got an SFP, plug it in, only to find the switch rejects it as it's not the "right" one.
The Firebrick 2900 is a bit more pleasant and actually doesn't really care what's in the EEPROM as such, so you are free to use /almost/ any SFP, provided the electrical connections are as expected.
For Copper SFPs, the FireBrick 2900 needs the "NO RX_LOS" hardware type, which a majority are. This is down to how the SFP was wired with respect to the LOS Pin. This is thankfully the most common type.
We've tested Flexoptix T.C12.02.A (Generic SFP flashed to have it's EEPROM looking like a Cisco GLC-T) with the FB2900, but anything that the T.C12.02.A can be flashed to should just work as they are all electrically the same. (See https://www.flexoptix.net/en/sfp-copper-transceiver-1-gigabit-cat-5-rj-45-100m-autoneg-serdes.html?co3097=85155 for the various vendors and models it can do)
RX_LOS Types Don't work
Copper SFPs of the "RX_LOS" type don't work with the FB2900, such as the Mikrotik S-RJ01 we tested. The Flexoptix T.C12.02 (note no .A appended) and it's flashable derivatives will also be in this class. The RX_LOS type are a bit of a daft class and I've never really got my head around just why Flexoptix T.C12.02.Athey exist. Thankfully they're less common.
One final thing to bear in mind with a Copper SFP, is that they can only negotiate a link at 1G, so the device plugging into them MUST support Gigabit Ethernet. 10M and 100M are unsupported by the standard and will not get you a link.
We have tried VDSL SFPs, and they do work. There are are a few caveats - they seem to run hot and may provide a less stable connection (ie sync drops). More testing needs to happen though.