Problems with 4G Huawei stick & RPi3 after upgrading to 13.0
Date: Fri, 01 Oct 2021 06:35:13 UTC
Hi, I have a remote system on RPi3 which has been running FreeBSD 12.x for about two years. It has a Huawei 4G usb stick/dongle for internet connection: Bus /dev/usb Device /dev/ugen1.6: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode) Huawei stick requires usb_modeswitch to change it from mass storage mode to ethernet interface (it's seen as ue1 after switch), so I have devd setup so that it performs this when stick is detected: Bus /dev/usb Device /dev/ugen0.6: ID 12d1:14dc Huawei Technologies Co., Ltd. E3372 LTE/UMTS/GSM HiLink Modem/Networkcard This all has been working very nicely, no problems at all. Yesterday I upgraded the system to FreeBSD 13.0. To my great surprise, Huawei stick didn't work. It is detected OK in mass storage mode, but usb_modeswitch fails with error -7 like this: ------ Look for default devices ... Found devices in default mode (1) Access device 006 on bus 001 Get the current device configuration ... Current configuration number is 1 Use interface number 0 with class 8 Use endpoints 0x01 (out) and 0x81 (in) Using standard Huawei switching message Looking for active drivers ... Set up interface 0 Use endpoint 0x01 for message sending ... Trying to send message 1 to endpoint 0x01 ... Sending the message returned error -7. Try to continue Read the response to message 1 (CSW) ... Response reading failed (error -7) Device is gone, skip any further commands ---- I tried this maybe dozen times and usb_modeswitch succeeded once, without any changes in anything, so it looks highly unreliable. No difference if I power off completely, just reboot or reinsert the stick. As this is at remote location, I couldn't leave it like this. I inserted my backup SD card with FreeBSD 12.2 and everything works again. The version of usb_modeswitch is the same (2.6.0). What might be the problem here ? Ari S.