Index | Thread | Search

From:
Bryan Vyhmeister <bryan@bsdjournal.net>
Subject:
Re: [PATCH] umb(4) support for new DW5821e variant
To:
tech@openbsd.org
Date:
Wed, 7 Aug 2024 22:05:56 -0700

Download raw body.

Thread
On Sun, Aug 04, 2024 at 10:44:08PM -0700, Bryan Vyhmeister wrote:
> On Mon, Jul 29, 2024 at 02:12:49AM -0700, Bryan Vyhmeister wrote:
> > Gerhard Roth helped add support for the original (non-eSIM) Dell DW5821e
> > device to umb(4) years ago on a Dell Latitude 7300. The Dell Latitude
> > Rugged 5430 can also be ordered with a Dell DW5821e Snapdragon X20 LTE
> > card but this one comes with a different USB ID (0x81e0 instead of
> > 0x81d7) and has the eSIM selected as the default SIM out of the box. The
> > patch below adds support to usbdevs and if_umb.c for this new variant.
> > If you have this card in a system and want to use a physical SIM like I
> > do, you have to boot into a recent Ubuntu (I used 24.04 LTS on a USB
> > drive) or other Linux distro with good mmcli support and run:
> > 
> > sudo mmcli -m 0 --set-primary-sim-slot=1
> > 
> > Once this is done, Ubuntu or OpenBSD will happily connect using a SIM
> > card in the physical SIM card slot. Your modem could be at slot 1
> > instead of 0 as above and the physical SIM slot can be 0 in some cases
> > that people have posted online but, in my case, slot 1 is the physical
> > SIM and slot 2 is the eSIM. If someone could ok and commit, I would
> > greatly appreciate it. Thank you.
> 
> I am reposting this patch with a slight change. I noticed with some
> other USB devices that have multiple USB ID variants (i.e. Prism GT)
> that the first had an added _1 and the second _2. With that in mind, I
> changed the patch to provide DW5821E_1 and DW5821E_2 to replace only
> having DW5821E. I then updated if_umb.c to match.

Now that we have switched to 7.6-beta, I would really like to get this
patch in the tree. It is a simple addition and I have been using this
umb(4) device almost daily with no issues other than it being somewhat
slow but that could be due to many other factors and is in line with
other supported devices. Thank you.

Bryan


Index: sys/dev/usb/if_umb.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/if_umb.c,v
diff -u -p -u -r1.58 if_umb.c
--- sys/dev/usb/if_umb.c	23 May 2024 03:21:09 -0000	1.58
+++ sys/dev/usb/if_umb.c	5 Aug 2024 05:09:57 -0000
@@ -241,7 +241,13 @@ struct umb_quirk {
 	int			 umb_match;
 };
 const struct umb_quirk umb_quirks[] = {
-	{ { USB_VENDOR_DELL, USB_PRODUCT_DELL_DW5821E },
+	{ { USB_VENDOR_DELL, USB_PRODUCT_DELL_DW5821E_1 },
+	  0,
+	  2,
+	  UMATCH_VENDOR_PRODUCT
+	},
+
+	{ { USB_VENDOR_DELL, USB_PRODUCT_DELL_DW5821E_2 },
 	  0,
 	  2,
 	  UMATCH_VENDOR_PRODUCT
Index: sys/dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
diff -u -p -u -r1.766 usbdevs
--- sys/dev/usb/usbdevs	29 May 2024 06:48:43 -0000	1.766
+++ sys/dev/usb/usbdevs	5 Aug 2024 05:09:40 -0000
@@ -1537,7 +1537,8 @@ product	DELL PRISM_GT_2		0x8104	PrismGT 
 product DELL W5500		0x8115	W5500 HSDPA 
 product DELL U740		0x8135	U740 CDMA
 product DELL EU870D		0x8138	EU870D HSDPA
-product DELL DW5821E		0x81d7	DW5821e LTE
+product DELL DW5821E_1		0x81d7	DW5821e LTE
+product DELL DW5821E_2		0x81e0	DW5821e LTE
 product DELL DW700		0x9500	DW700 GPS
 product DELL2 UPS		0xffff	UPS