Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Huawei K5150 LTE modem not showing as ethernet device

    Scheduled Pinned Locked Moved Hardware
    17 Posts 3 Posters 1.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      What does usbconfig -d ugen4.2 dump_device_desc show? in either config mode?

      Steve

      J 1 Reply Last reply Reply Quote 0
      • kiokomanK
        kiokoman LAYER 8
        last edited by kiokoman

        before that command, you had posted above
        Interface 0
        bLength = 0x0009
        bDescriptorType = 0x0004
        bInterfaceNumber = 0x0000
        bAlternateSetting = 0x0000
        bNumEndpoints = 0x0002
        bInterfaceClass = 0x0008 <Mass storage>

        error message say
        Error: can't use storage command in MessageContent with interface 0; interface class is 2, expected 8. Abort
        so the bInterfaceClass should have changed to 0x0002 <Communication device>

        pls confirm
        if so, it's strange that it's not creating the network interface
        it's possible that you need a specific driver not available on pfsense

        i found a different config to try if you want

        # Vodafone K5150
        TargetVendor=0x12d1
        TargetProductList="14f8,1575"
        #HuaweiNewMode=1
        MessageContent="55534243123456780002000080000a11062000000000000100000000000000"
        DefaultVendor=0x12d1
        DefaultProduct=0x1f16
        

        ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
        Please do not use chat/PM to ask for help
        we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
        Don't forget to Upvote with the 👍 button for any post you find to be helpful.

        J 1 Reply Last reply Reply Quote 0
        • J
          Jolly green robot @stephenw10
          last edited by

          @stephenw10
          Here are the results in the default mode as well as the different modes.

          dmesg after plugging the device

          ugen4.2: <Vodafone Huawei K5150> at usbus4
          umass0 on uhub0
          umass0: <Vodafone Huawei K5150, class 0/0, rev 2.00/1.02, addr 2> on usbus4
          da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
          da0: <Vodafone Storage(Huawei) 2.31> Removable Direct Access SCSI-2 device
          da0: 40.000MB/s transfers
          da0: Attempt to query device size failed: NOT READY, Medium not present
          da0: quirks=0x2<NO_6_BYTE>
          

          usbconfig -d ugen4.2 dump_device_desc after plugging the device

          ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
            bLength = 0x0012 
            bDescriptorType = 0x0001 
            bcdUSB = 0x0200 
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000 
            bDeviceProtocol = 0x00ff 
            bMaxPacketSize0 = 0x0040 
            idVendor = 0x12d1 
            idProduct = 0x1f16 
            bcdDevice = 0x0102 
            iManufacturer = 0x0006  <Vodafone (Huawei)>
            iProduct = 0x0005  <K5150>
            iSerialNumber = 0x0008  <FFFFFFFFFFFFFFFF>
            bNumConfigurations = 0x0002 
          

          usbconfig -d ugen4.2 set_config 1

          usbconfig -d ugen4.2 dump_device_desc

          ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
            bLength = 0x0012 
            bDescriptorType = 0x0001 
            bcdUSB = 0x0200 
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000 
            bDeviceProtocol = 0x00ff 
            bMaxPacketSize0 = 0x0040 
            idVendor = 0x12d1 
            idProduct = 0x1f16 
            bcdDevice = 0x0102 
            iManufacturer = 0x0006  <Vodafone (Huawei)>
            iProduct = 0x0005  <K5150>
            iSerialNumber = 0x0008  <FFFFFFFFFFFFFFFF>
            bNumConfigurations = 0x0002 
          

          usbconfig -d ugen4.2 set_config 2

          usbconfig -d ugen4.2 dump_device_desc

          ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
            bLength = 0x0012 
            bDescriptorType = 0x0001 
            bcdUSB = 0x0200 
            bDeviceClass = 0x0000  <Probed by interface class>
            bDeviceSubClass = 0x0000 
            bDeviceProtocol = 0x00ff 
            bMaxPacketSize0 = 0x0040 
            idVendor = 0x12d1 
            idProduct = 0x1f16 
            bcdDevice = 0x0102 
            iManufacturer = 0x0006  <Vodafone (Huawei)>
            iProduct = 0x0005  <K5150>
            iSerialNumber = 0x0008  <FFFFFFFFFFFFFFFF>
            bNumConfigurations = 0x0002
          

          dmesg

          umass0: at uhub0, port 5, addr 2 (disconnected)
          da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
          da0: <Vodafone Storage(Huawei) 2.31> detached
          (da0:umass-sim0:0:0:0): Periph destroyed
          umass0: detached
          
          1 Reply Last reply Reply Quote 0
          • J
            Jolly green robot @kiokoman
            last edited by

            @kiokoman said in Huawei K5150 LTE modem not showing as ethernet device:

            error message say
            Error: can't use storage command in MessageContent with interface 0; interface class is 2, expected 8. Abort
            so the bInterfaceClass should have changed to 0x0002 <Communication device>
            pls confirm

            Yes, that is correct.

            I tried the new config with the MessageContent but the result is still the same.

            I also suspect that I require a specific driver.

            Unfortunately I don't know pfSense or FreeBSD well enough to dig further.

            1 Reply Last reply Reply Quote 0
            • J
              Jolly green robot
              last edited by

              Thanks for the help everyone

              1 Reply Last reply Reply Quote 0
              • J
                Jolly green robot
                last edited by Jolly green robot

                I decided to compare the results of the Vodafone (Huawei) K5150 LTE to a Vodafone (ZTE) K4201-Z HSPA device.
                Both of them are ethernet over USB devices and the K4201-Z works fine but doesn't support LTE.

                Here is the K4201-Z's information
                dmesg

                cd0 at umass-sim0 bus 0 scbus4 target 0 lun 0
                cd0: <Vodafone USB SCSI CD-ROM 2.31> detached
                (cd0:umass-sim0:0:0:0): Periph destroyed
                umass0: detached
                ugen4.2: <Vodafone ZTE ZTE WCDMA Technologies MSM> at usbus4
                cdce0 on uhub0
                cdce0: <Vodafone ZTE ZTE WCDMA Technologies MSM, class 2/0, rev 2.00/f0.55, addr 2> on usbus4
                ue0: <USB Ethernet> on cdce0
                ue0: Ethernet address: 00:a0:c6:00:00:00
                umass0 on uhub0
                umass0: <Vodafone ZTE ZTE WCDMA Technologies MSM, class 2/0, rev 2.00/f0.55, addr 2> on usbus4
                umass0: Get Max Lun not supported (USB_ERR_TIMEOUT)
                cd0 at umass-sim0 bus 0 scbus4 target 0 lun 0
                cd0: <Vodafone USB SCSI CD-ROM 2.31> Removable CD-ROM SCSI-2 device
                cd0: 40.000MB/s transfers
                cd0: 45MB (23425 2048 byte sectors)
                cd0: quirks=0x10<10_BYTE_ONLY>
                

                usbconfig -d ugen4.2 dump_device_desc

                ugen4.2: <Vodafone ZTE ZTE WCDMA Technologies MSM> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                  bLength = 0x0012 
                  bDescriptorType = 0x0001 
                  bcdUSB = 0x0200 
                  bDeviceClass = 0x0002  <Communication device>
                  bDeviceSubClass = 0x0000 
                  bDeviceProtocol = 0x0000 
                  bMaxPacketSize0 = 0x0040 
                  idVendor = 0x19d2 
                  idProduct = 0x1024 
                  bcdDevice = 0xf055 
                  iManufacturer = 0x0004  <Vodafone (ZTE)>
                  iProduct = 0x0003  <ZTE WCDMA Technologies MSM>
                  iSerialNumber = 0x0005  <>
                  bNumConfigurations = 0x0001 
                

                usbconfig -d ugen4.2 dump_all_desc

                ugen4.2: <Vodafone ZTE ZTE WCDMA Technologies MSM> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                  bLength = 0x0012 
                  bDescriptorType = 0x0001 
                  bcdUSB = 0x0200 
                  bDeviceClass = 0x0002  <Communication device>
                  bDeviceSubClass = 0x0000 
                  bDeviceProtocol = 0x0000 
                  bMaxPacketSize0 = 0x0040 
                  idVendor = 0x19d2 
                  idProduct = 0x1024 
                  bcdDevice = 0xf055 
                  iManufacturer = 0x0004  <Vodafone (ZTE)>
                  iProduct = 0x0003  <ZTE WCDMA Technologies MSM>
                  iSerialNumber = 0x0005  <>
                  bNumConfigurations = 0x0001 
                 Configuration index 0
                    bLength = 0x0009 
                    bDescriptorType = 0x0002 
                    wTotalLength = 0x0067 
                    bNumInterfaces = 0x0003 
                    bConfigurationValue = 0x0001 
                    iConfiguration = 0x0002  <ZTE Configuration>
                    bmAttributes = 0x00c0 
                    bMaxPower = 0x00fa 
                    Interface 0
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0000 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0001 
                      bInterfaceClass = 0x0002  <Communication device>
                      bInterfaceSubClass = 0x0006 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                      Additional Descriptor
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x00
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                      Additional Descriptor
                      bLength = 0x0d
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x0f
                       RAW dump: 
                       0x00 | 0x0d, 0x24, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 
                       0x08 | 0x00, 0x20, 0x01, 0x00, 0x00
                      Additional Descriptor
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x06
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x06, 0x00, 0x01
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0081  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x0040 
                        bInterval = 0x0005 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                    Interface 1
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0001 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0000 
                      bInterfaceClass = 0x000a  <CDC-data>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                    Interface 1 Alt 1
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0001 
                      bAlternateSetting = 0x0001 
                      bNumEndpoints = 0x0002 
                      bInterfaceClass = 0x000a  <CDC-data>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0082  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0020 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0001  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0020 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                    Interface 2
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0002 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0002 
                      bInterfaceClass = 0x0008  <Mass storage>
                      bInterfaceSubClass = 0x0006 
                      bInterfaceProtocol = 0x0050 
                      iInterface = 0x0000  <no string>
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0002  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0083  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                

                usbconfig -d ugen4.2 show_ifdrv

                ugen4.2: <Vodafone ZTE ZTE WCDMA Technologies MSM> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                ugen4.2.0: cdce0: <Vodafone ZTE ZTE WCDMA Technologies MSM, class 2/0, rev 2.00/f0.55, addr 2>
                ugen4.2.2: umass0: <Vodafone ZTE ZTE WCDMA Technologies MSM, class 2/0, rev 2.00/f0.55, addr 2>
                

                There is no /usr/local/share/usb_modeswitch/19d2:1024 file for usb_modeswitch

                ifconfig ue0

                ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
                	ether 00:a0:c6:00:00:00
                	hwaddr 00:a0:c6:00:00:00
                	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                

                As you can see it is detected as a USB ethernet device and assigned an interface so it would seem that everything on the OS's side is fine.

                The question is, what do I need to do in order for the K5150 to be detected in the same manner?

                1 Reply Last reply Reply Quote 0
                • stephenw10S
                  stephenw10 Netgate Administrator
                  last edited by

                  Maybe try usbconfig -d ugen4.2 dump_curr_config_desc just to make sure it really is using config index 1 with the 3 available interfaces.

                  Steve

                  1 Reply Last reply Reply Quote 0
                  • kiokomanK
                    kiokoman LAYER 8
                    last edited by

                    it could be because it's still not defined here ? https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/usb/usbdevs

                    even on freebsd12 there are "only" this modem defined

                    /* HUAWEI products */
                    2284 	product HUAWEI MOBILE           0x1001  Huawei Mobile
                    2285 	product HUAWEI E220             0x1003  HSDPA modem
                    2286 	product HUAWEI E220BIS          0x1004  HSDPA modem
                    2287 	product HUAWEI E1401            0x1401  3G modem
                    2288 	product HUAWEI E1402            0x1402  3G modem
                    2289 	product HUAWEI E1403            0x1403  3G modem
                    2290 	product HUAWEI E1404            0x1404  3G modem
                    2291 	product HUAWEI E1405            0x1405  3G modem
                    2292 	product HUAWEI E1406            0x1406  3G modem
                    2293 	product HUAWEI E1407            0x1407  3G modem
                    2294 	product HUAWEI E1408            0x1408  3G modem
                    2295 	product HUAWEI E1409            0x1409  3G modem
                    2296 	product HUAWEI E140A            0x140a  3G modem
                    2297 	product HUAWEI E140B            0x140b  3G modem
                    2298 	product HUAWEI E180V            0x140c  E180V
                    2299 	product HUAWEI E140D            0x140d  3G modem
                    2300 	product HUAWEI E140E            0x140e  3G modem
                    2301 	product HUAWEI E140F            0x140f  3G modem
                    2302 	product HUAWEI E1410            0x1410  3G modem
                    2303 	product HUAWEI E1411            0x1411  3G modem
                    2304 	product HUAWEI E1412            0x1412  3G modem
                    2305 	product HUAWEI E1413            0x1413  3G modem
                    2306 	product HUAWEI E1414            0x1414  3G modem
                    2307 	product HUAWEI E1415            0x1415  3G modem
                    2308 	product HUAWEI E1416            0x1416  3G modem
                    2309 	product HUAWEI E1417            0x1417  3G modem
                    2310 	product HUAWEI E1418            0x1418  3G modem
                    2311 	product HUAWEI E1419            0x1419  3G modem
                    2312 	product HUAWEI E141A            0x141a  3G modem
                    2313 	product HUAWEI E141B            0x141b  3G modem
                    2314 	product HUAWEI E141C            0x141c  3G modem
                    2315 	product HUAWEI E141D            0x141d  3G modem
                    2316 	product HUAWEI E141E            0x141e  3G modem
                    2317 	product HUAWEI E141F            0x141f  3G modem
                    2318 	product HUAWEI E1420            0x1420  3G modem
                    2319 	product HUAWEI E1421            0x1421  3G modem
                    2320 	product HUAWEI E1422            0x1422  3G modem
                    2321 	product HUAWEI E1423            0x1423  3G modem
                    2322 	product HUAWEI E1424            0x1424  3G modem
                    2323 	product HUAWEI E1425            0x1425  3G modem
                    2324 	product HUAWEI E1426            0x1426  3G modem
                    2325 	product HUAWEI E1427            0x1427  3G modem
                    2326 	product HUAWEI E1428            0x1428  3G modem
                    2327 	product HUAWEI E1429            0x1429  3G modem
                    2328 	product HUAWEI E142A            0x142a  3G modem
                    2329 	product HUAWEI E142B            0x142b  3G modem
                    2330 	product HUAWEI E142C            0x142c  3G modem
                    2331 	product HUAWEI E142D            0x142d  3G modem
                    2332 	product HUAWEI E142E            0x142e  3G modem
                    2333 	product HUAWEI E142F            0x142f  3G modem
                    2334 	product HUAWEI E1430            0x1430  3G modem
                    2335 	product HUAWEI E1431            0x1431  3G modem
                    2336 	product HUAWEI E1432            0x1432  3G modem
                    2337 	product HUAWEI E1433            0x1433  3G modem
                    2338 	product HUAWEI E1434            0x1434  3G modem
                    2339 	product HUAWEI E1435            0x1435  3G modem
                    2340 	product HUAWEI E1436            0x1436  3G modem
                    2341 	product HUAWEI E1437            0x1437  3G modem
                    2342 	product HUAWEI E1438            0x1438  3G modem
                    2343 	product HUAWEI E1439            0x1439  3G modem
                    2344 	product HUAWEI E143A            0x143a  3G modem
                    2345 	product HUAWEI E143B            0x143b  3G modem
                    2346 	product HUAWEI E143C            0x143c  3G modem
                    2347 	product HUAWEI E143D            0x143d  3G modem
                    2348 	product HUAWEI E143E            0x143e  3G modem
                    2349 	product HUAWEI E143F            0x143f  3G modem
                    2350 	product HUAWEI E1752            0x1446  3G modem
                    2351 	product HUAWEI K4505            0x1464  3G modem
                    2352 	product HUAWEI K3765            0x1465  3G modem
                    2353 	product HUAWEI E1820            0x14ac  E1820 HSPA+ USB Slider
                    2354 	product HUAWEI K3770            0x14c9  3G modem
                    2355 	product HUAWEI K3772            0x14cf  K3772
                    2356 	product HUAWEI K3770_INIT       0x14d1  K3770 Initial
                    2357 	product HUAWEI E3131_INIT       0x14fe  3G modem initial
                    2358 	product HUAWEI E392             0x1505  LTE modem
                    2359 	product HUAWEI E3131            0x1506  3G modem
                    2360 	product HUAWEI K3765_INIT       0x1520  K3765 Initial
                    2361 	product HUAWEI K4505_INIT       0x1521  K4505 Initial
                    2362 	product HUAWEI K3772_INIT       0x1526  K3772 Initial
                    2363 	product HUAWEI E3272_INIT       0x155b  LTE modem initial
                    2364 	product HUAWEI R215_INIT        0x1582  LTE modem initial
                    2365 	product HUAWEI R215             0x1588  LTE modem
                    2366 	product HUAWEI ETS2055          0x1803  CDMA modem
                    2367 	product HUAWEI E173             0x1c05  3G modem
                    2368 	product HUAWEI E173_INIT        0x1c0b  3G modem initial
                    2369 	product HUAWEI E3272            0x1c1e  LTE modem
                    

                    maybe it's better if you search for one of this modem and sell the one you have

                    ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                    Please do not use chat/PM to ask for help
                    we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                    Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                    1 Reply Last reply Reply Quote 0
                    • stephenw10S
                      stephenw10 Netgate Administrator
                      last edited by stephenw10

                      Indeed it isn't but not all drivers need to have the device explicitly defined there. The ZTE device above also isn't in that file.

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • J
                        Jolly green robot
                        last edited by

                        Good day

                        Fortunately I only borrowed the K5150 to test the failover and load balancing before I invest in proper hardware.

                        It seems like there isn't a quick or easy solution to this so we might just as well close this issue.

                        Thanks for the help everyone.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.