* [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy
@ 2026-10-17 17:56 Dustin L. Howett
2026-10-26 18:51 ` Dustin Howett
2026-10-26 19:06 ` Till Harbaum
0 siblings, 2 replies; 3+ messages in thread
From: Dustin L. Howett @ 2026-10-17 17:56 UTC (permalink / raw)
To: Till Harbaum, Andi Shyti
Cc: Whinis, linux-i2c, linux-kernel, Dustin L. Howett
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@howett.net>
---
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@howett.net>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy
2026-10-17 17:56 [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy Dustin L. Howett
@ 2026-10-26 18:51 ` Dustin Howett
2026-10-26 19:06 ` Till Harbaum
1 sibling, 0 replies; 3+ messages in thread
From: Dustin Howett @ 2026-10-26 18:51 UTC (permalink / raw)
To: Till Harbaum, Andi Shyti; +Cc: Whinis, linux-i2c, linux-kernel
On Sat, Oct 17, 2026, at 12:56 PM, Dustin L. Howett wrote:
>
> ... Due to a bug in prior firmware versions, that protocol
> can only be used with devices reporting bcdDevice >= 0x0101 ...
Just following up to note that the firmware update which makes this work
properly is now available as version 1.6:
https://gitlab.whinis.com/oops-electronics/sfp-uart-firmware/-/jobs/9582/artifacts/browse
Thanks!
d
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy
2026-10-17 17:56 [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy Dustin L. Howett
2026-10-26 18:51 ` Dustin Howett
@ 2026-10-26 19:06 ` Till Harbaum
1 sibling, 0 replies; 3+ messages in thread
From: Till Harbaum @ 2026-10-26 19:06 UTC (permalink / raw)
To: Andi Shyti, Dustin L. Howett
Cc: Whinis, linux-i2c, linux-kernel, Dustin L. Howett
Hi,
I am fine with that.
Regards,
Till
On Samstag, 17. Oktober 2026 19:56:04 Mitteleuropäische Normalzeit Dustin L.
Howett wrote:
> 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@howett.net>
> ---
> 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@howett.net>
--
Dr. Till Harbaum <till@harbaum.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-26 19:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-17 17:56 [PATCH] i2c-tiny-usb: add support for the Oops Electronics SFP Media Buddy Dustin L. Howett
2026-10-26 18:51 ` Dustin Howett
2026-10-26 19:06 ` Till Harbaum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®