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.
    • J
      Jolly green robot @kiokoman
      last edited by

      @kiokoman
      I modified the /usr/local/share/usb_modeswitch/12d1:1f16 file accordingly

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

      I replugged the device and then ran
      usb_modeswitch -c /usr/local/share/usb_modeswitch/12d1:1f16

      Look for target devices ...
       No devices in target mode or class found
      Look for default devices ...
       Found devices in default mode (1)
      Access device 002 on bus 004
      Get the current device configuration ...
      Current configuration number is 2
      Use interface number 0
       with class 2
      Error: can't use storage command in MessageContent with interface 0; interface class is 2, expected 8. Abort
      

      I encounter the same error with usb_modeswitch on Linux yet it still provides the USB ethernet interface.

      1 Reply Last reply Reply Quote 0
      • 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.