mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®