[PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy

From: Dustin L. Howett

Date: Sat Oct 17 2026 - 14:01:48 EST


The Oops Electronics "SFP Media Buddy" is an open-source USB device that
provides i2c access, among other things, to a SFP+ network module.

It exposes a vendor protocol which is compatible with the i2c-tiny-usb
kernel module. Due to a bug in prior firmware versions, that protocol
can only be used with devices reporting bcdDevice >= 0x0101[^2].

[^1]: https://oopselectronics.com/product/SFPB and
https://gitlab.whinis.com/oops-electronics/sfp-media-buddy

[^2]: Devices without the fix will crash and drop off the bus when this
module is loaded, which prevents them from being updated.

---
Signed-off-by: Dustin L. Howett <dustin@xxxxxxxxxx>
---
drivers/i2c/busses/i2c-tiny-usb.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/i2c/busses/i2c-tiny-usb.c b/drivers/i2c/busses/i2c-tiny-usb.c
index 73355a56aabf..92a2633a028e 100644
--- a/drivers/i2c/busses/i2c-tiny-usb.c
+++ b/drivers/i2c/busses/i2c-tiny-usb.c
@@ -162,6 +162,15 @@ static const struct i2c_algorithm usb_algorithm = {
static const struct usb_device_id i2c_tiny_usb_table[] = {
{ USB_DEVICE(0x0403, 0xc631) }, /* FTDI */
{ USB_DEVICE(0x1c40, 0x0534) }, /* EZPrototypes */
+ {
+ /* OopsElectronics SFP Media Buddy v1.01+ */
+ .match_flags = USB_DEVICE_ID_MATCH_VENDOR |
+ USB_DEVICE_ID_MATCH_PRODUCT | USB_DEVICE_ID_MATCH_DEV_LO,
+ .idVendor = 0xc2f9,
+ .idProduct = 0x0004,
+ .bcdDevice_lo = 0x0101
+ },
+
{ } /* Terminating entry */
};


---
base-commit: 58161ead29e50d70a317ea26b472e0c7508e69da
change-id: 20261017-i2c-oops-electronics-5dd3659782da

Best regards,
--
Dustin L. Howett <dustin@xxxxxxxxxx>