Download raw body.
[PATCH] umb(4) support for new DW5821e variant
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.
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
[PATCH] umb(4) support for new DW5821e variant