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
      last edited by Jolly green robot

      Hi

      I have a Huawei K5150 LTE modem that I am trying to use on pfSense but it doesn't seem to activate the cdc_ncm and cdc_wdm (or similar) drivers when the device is plugged.

      When I plug the device on Linux it is detected correctly and made available as a mobile broadband ethernet connection.

      I tried using different usb_modeswitch options and parameters (with no luck) and compared the results and configurations with that of my Linux machine and they appear to be similar. The only difference seems to be that Linux sees the device as a USB ethernet device.

      Here is my Linux dmesg output:

      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: new high-speed USB device number 6 using xhci_hcd
      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: New USB device found, idVendor=12d1, idProduct=1f16, bcdDevice= 1.02
      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: New USB device strings: Mfr=6, Product=5, SerialNumber=8
      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: Product: K5150
      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: Manufacturer: Vodafone (Huawei)
      kern  :info  : [We Jun 26 20:30:36 2019] usb 2-2: SerialNumber: FFFFFFFFFFFFFFFF
      kern  :info  : [We Jun 26 20:30:37 2019] usb-storage 2-2:1.0: USB Mass Storage device detected
      kern  :info  : [We Jun 26 20:30:37 2019] scsi host6: usb-storage 2-2:1.0
      kern  :info  : [We Jun 26 20:30:37 2019] usbcore: registered new interface driver usb-storage
      kern  :info  : [We Jun 26 20:30:37 2019] usbcore: registered new interface driver uas
      kern  :info  : [We Jun 26 20:30:37 2019] usb-storage 2-2:2.2: USB Mass Storage device detected
      kern  :info  : [We Jun 26 20:30:37 2019] scsi host6: usb-storage 2-2:2.2
      kern  :info  : [We Jun 26 20:30:37 2019] usbcore: registered new interface driver cdc_ncm
      kern  :info  : [We Jun 26 20:30:37 2019] usbcore: registered new interface driver cdc_wdm
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0: setting rx_max = 16384
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0: setting tx_max = 16384
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0: NDP will be placed at end of frame for this device.
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0: cdc-wdm0: USB WDM device
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-2, CDC MBIM, 5a:af:db:92:d2:56
      kern  :info  : [We Jun 26 20:30:37 2019] usbcore: registered new interface driver cdc_mbim
      kern  :info  : [We Jun 26 20:30:37 2019] cdc_mbim 2-2:2.0 wwp0s20u2c2: renamed from wwan0
      kern  :notice: [We Jun 26 20:30:38 2019] scsi 6:0:0:0: Direct-Access     Vodafone Storage(Huawei)  2.31 PQ: 0 ANSI: 2
      kern  :notice: [We Jun 26 20:30:38 2019] sd 6:0:0:0: Attached scsi generic sg1 type 0
      kern  :notice: [We Jun 26 20:30:38 2019] sd 6:0:0:0: [sdb] Attached SCSI removable disk
      

      and here is the output of pfSense' dmesg and usbconfig:

      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

      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 dump_all_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 
       Configuration index 0
          bLength = 0x0009 
          bDescriptorType = 0x0002 
          wTotalLength = 0x0020 
          bNumInterfaces = 0x0001 
          bConfigurationValue = 0x0001 
          iConfiguration = 0x0001  <configuration 0>
          bmAttributes = 0x00a0 
          bMaxPower = 0x00fa 
          Interface 0
            bLength = 0x0009 
            bDescriptorType = 0x0004 
            bInterfaceNumber = 0x0000 
            bAlternateSetting = 0x0000 
            bNumEndpoints = 0x0002 
            bInterfaceClass = 0x0008  <Mass storage>
            bInterfaceSubClass = 0x0006 
            bInterfaceProtocol = 0x0050 
            iInterface = 0x0000  <no string>
           Endpoint 0
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0001  <OUT>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200 
              bInterval = 0x0000 
              bRefresh = 0x0000 
              bSynchAddress = 0x0000 
           Endpoint 1
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0081  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200 
              bInterval = 0x0000 
              bRefresh = 0x0000 
              bSynchAddress = 0x0000 
       Configuration index 1
          bLength = 0x0009 
          bDescriptorType = 0x0002 
          wTotalLength = 0x0076 
          bNumInterfaces = 0x0003 
          bConfigurationValue = 0x0002 
          iConfiguration = 0x0009  <configuration 1>
          bmAttributes = 0x00a0 
          bMaxPower = 0x00fa 
          Additional Descriptor
          bLength = 0x08
          bDescriptorType = 0x0b
          bDescriptorSubType = 0x00
           RAW dump: 
           0x00 | 0x08, 0x0b, 0x00, 0x02, 0x02, 0x0e, 0x00, 0x03
          Interface 0
            bLength = 0x0009 
            bDescriptorType = 0x0004 
            bInterfaceNumber = 0x0000 
            bAlternateSetting = 0x0000 
            bNumEndpoints = 0x0001 
            bInterfaceClass = 0x0002  <Communication device>
            bInterfaceSubClass = 0x000e 
            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 = 0x0c
            bDescriptorType = 0x24
            bDescriptorSubType = 0x1b
             RAW dump: 
             0x00 | 0x0c, 0x24, 0x1b, 0x00, 0x01, 0x00, 0x04, 0x10, 
             0x08 | 0x14, 0xdc, 0x05, 0x20
            Additional Descriptor
            bLength = 0x08
            bDescriptorType = 0x24
            bDescriptorSubType = 0x1c
             RAW dump: 
             0x00 | 0x08, 0x24, 0x1c, 0x00, 0x01, 0x10, 0xdc, 0x05
            Additional Descriptor
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x06
             RAW dump: 
             0x00 | 0x05, 0x24, 0x06, 0x00, 0x01
           Endpoint 0
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0082  <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 = 0x0002 
            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 = 0x0002 
            iInterface = 0x0000  <no string>
           Endpoint 0
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0083  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200 
              bInterval = 0x0020 
              bRefresh = 0x0000 
              bSynchAddress = 0x0000 
           Endpoint 1
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0002  <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 = 0x0003  <OUT>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200 
              bInterval = 0x0000 
              bRefresh = 0x0000 
              bSynchAddress = 0x0000 
           Endpoint 1
              bLength = 0x0007 
              bDescriptorType = 0x0005 
              bEndpointAddress = 0x0084  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200 
              bInterval = 0x0000 
              bRefresh = 0x0000 
              bSynchAddress = 0x0000 
      

      Thanks, I appreciate any help or assistance with this.

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

        Try running usbconfig -d ugen4.2 set_config 1.

        If that works you can add a loader usb quirk to make it do that every time.

        Steve

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

          Thanks

          I tried the command and I can see that it changes the device's configuration but it still isn't detected as a USB ethernet device.

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

            What is it detected as? I assume the storage device detaches?

            You might need the urndis driver for example if that's what it appears as.

            Steve

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

              You need usb_modeswitch
              https://monach.us/operations/usb_modeswitch_on_pfsense/

              well, not all the instruction there was working for me so after you have installed usb_modeswitch you need to launch

              usb_modeswitch -c /usr/local/share/usb_modeswitch/12d1:1f16

              where 12d1:1f16 is a file you need to modify, add

              DefaultVendor=0x12d1
              DefaultProduct=0x1f16

              something like this should come out
              Immagine.jpg

              ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
              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 Jolly green robot

                @stephenw10
                When I insert the device dmesg reports the following

                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 show_ifdrv

                ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                ugen4.2.2: umass0: <Vodafone Huawei K5150, class 0/0, rev 2.00/1.02, addr 2>
                

                I then run the usbconfig command
                usbconfig -d ugen4.2 set_config 1

                usbconfig -d ugen4.2 show_ifdrv

                ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                ugen4.2.2: umass0: <Vodafone Huawei K5150, class 0/0, rev 2.00/1.02, addr 2>
                

                No additional information was logged in dmesg

                If I run
                usbconfig -d ugen4.2 set_config 2

                I can see that the device configuration changed
                usbconfig -d ugen4.2 show_ifdrv

                ugen4.2: <Vodafone Huawei K5150> at usbus4, cfg=255 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                

                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
                

                Using usbconfig set_config does change the configuration but despite this it still isn't detected correctly.

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