On Tue, Jan 23, 2024 at 11:52:01AM +0000, Alex Frolkin wrote: > Hi all, > > Has anyone had any success with getting a Huawei (Vodafone-branded) > K5161h 4G dongle working on OpenBSD? > > It looks like it should work with the umb(4) driver, but the problem is > getting it into the right mode. When I plug it in, it appears as a USB > CD drive, and there are magic commands you can send to it to make it > appear either as an Ethernet interface (where it does NAT and DHCP for > you, should be supported by the cdce(4) driver) or as an MBIM device > plus three USB serial ports (which should be supported by umb(4) and > hopefully ucom(4)). > > On FreeBSD and Linux, the mode switching is done by usb_modeswitch, > which supports switching it to either mode. usb_modeswitch compiles > fine on OpenBSD, but fails to actually send the magic command, and the > error code (from the usb_bulk_io function in libusb) says "unsupported > on this platform".
umsm(4) does the equivalent in the kernel. DEV_UMASS5 seems most likely, but there are other methods to try as well. Index: sys/dev/usb/umsm.c =================================================================== RCS file: /cvs/src/sys/dev/usb/umsm.c,v diff -u -p -r1.125 umsm.c --- sys/dev/usb/umsm.c 2 Apr 2023 23:57:57 -0000 1.125 +++ sys/dev/usb/umsm.c 24 Jan 2024 00:40:54 -0000 @@ -147,6 +147,8 @@ static const struct umsm_type umsm_devs[ {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MU609 }, DEV_TRUINSTALL}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_K4510 }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_K4511 }, DEV_UMASS5}, +#define USB_PRODUCT_HUAWEI_K5161H 0x1f1d + {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_K5161H }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E1750 }, DEV_UMASS5}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E1752 }, 0}, {{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E3372 }, DEV_UMASS5},