Problem with Huawei E3372 / VMware ESXi 6.5 / pfSense



  • My configuration:
    Hardware: HP Microserver Gen8
    Modem: Huawei E3372h-153 switch to E3372 stick modem-mode
    OS Hypervisor: VMware ESXi 6.5 U1 (Build 7388607)
    OS VM: FreeBSD 11.1-RELEASE-p6 + PfSense 2.4.2-RELEASE-p1 (instalation from iso appliance)

    1. At the beginning I switched Huawei E3372h-153 version to E3372 stick modem according to instructions:
    http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html

    2. With AT commands, I switch mass-storage mode (required for VMWare to see USB device) in modem mode and support PPP - AT^SETPORT="FF; 12,10,16" (for only NDIS should be set AT^SETPORT="FF;12,16")

    3. In VMware, I see USB device HUAWEIMOBILE:

    [root@HP:~] lsusb
    Bus 004 Device 002: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
    Bus 002 Device 004: ID 0424:4030 Standard Microsystems Corp.
    Bus 002 Device 003: ID 0424:2660 Standard Microsystems Corp. Hub
    Bus 004 Device 001: ID 0e0f:8003 VMware, Inc.
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 003 Device 001: ID 0e0f:8001 VMware, Inc.
    Bus 002 Device 001: ID 0e0f:8002 VMware, Inc.
    Bus 001 Device 001: ID 0e0f:8002 VMware, Inc.
    
    
    [root@HP:~] lsusb -s 004:002 -vvv
    
    Bus 004 Device 002: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.10
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0
      bDeviceProtocol         0
      bMaxPacketSize0        64
      idVendor           0x12d1 Huawei Technologies Co., Ltd.
      idProduct          0x1506 Modem/Networkcard
      bcdDevice            1.02
      iManufacturer           1 HUAWEI_MOBILE
      iProduct                2 HUAWEI_MOBILE
      iSerial                 0
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength          175
        bNumInterfaces          3
        bConfigurationValue     1
        iConfiguration          0
        bmAttributes         0x80
          (Bus Powered)
        MaxPower                2mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           2
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      3
          bInterfaceProtocol     18
          iInterface              0
          ** UNRECOGNIZED:  05 24 00 10 01
          ** UNRECOGNIZED:  04 24 02 02
          ** UNRECOGNIZED:  05 24 01 00 00
          ** UNRECOGNIZED:  05 24 06 00 00
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x81  EP 1 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x01  EP 1 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        1
          bAlternateSetting       0
          bNumEndpoints           3
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      3
          bInterfaceProtocol     16
          iInterface              0
          ** UNRECOGNIZED:  05 24 00 10 01
          ** UNRECOGNIZED:  04 24 02 02
          ** UNRECOGNIZED:  05 24 01 00 01
          ** UNRECOGNIZED:  05 24 06 00 00
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x83  EP 3 IN
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x000a  1x 10 bytes
            bInterval               9
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x82  EP 2 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x02  EP 2 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        2
          bAlternateSetting       0
          bNumEndpoints           1
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      3
          bInterfaceProtocol     22
          iInterface              7 NCM Network Control Model
          ** UNRECOGNIZED:  05 24 00 10 01
          ** UNRECOGNIZED:  06 24 1a 00 01 1f
          ** UNRECOGNIZED:  0d 24 0f 09 0f 00 00 00 ea 05 03 00 01
          ** UNRECOGNIZED:  05 24 06 02 02
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x85  EP 5 IN
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0010  1x 16 bytes
            bInterval               5
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        2
          bAlternateSetting       1
          bNumEndpoints           3
          bInterfaceClass       255 Vendor Specific Class
          bInterfaceSubClass      3
          bInterfaceProtocol     22
          iInterface              8 CDC Network Data
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x85  EP 5 IN
            bmAttributes            3
              Transfer Type            Interrupt
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0010  1x 16 bytes
            bInterval               5
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x84  EP 4 IN
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
          Endpoint Descriptor:
            bLength                 7
            bDescriptorType         5
            bEndpointAddress     0x03  EP 3 OUT
            bmAttributes            2
              Transfer Type            Bulk
              Synch Type               None
              Usage Type               Data
            wMaxPacketSize     0x0200  1x 512 bytes
            bInterval               0
    Binary Object Store Descriptor:
      bLength                 5
      bDescriptorType        15
      wTotalLength           22
      bNumDeviceCaps          2
      USB 2.0 Extension Device Capability:
        bLength                 7
        bDescriptorType        16
        bDevCapabilityType      2
        bmAttributes   0x00000002
          Link Power Management (LPM) Supported
      SuperSpeed USB Device Capability:
        bLength                10
        bDescriptorType        16
        bDevCapabilityType      3
        bmAttributes         0x00
        wSpeedsSupported   0x000f
          Device can operate at Low Speed (1Mbps)
          Device can operate at Full Speed (12Mbps)
          Device can operate at High Speed (480Mbps)
          Device can operate at SuperSpeed (5Gbps)
        bFunctionalitySupport   1
          Lowest fully-functional device speed is Full Speed (12Mbps)
        bU1DevExitLat           1 micro seconds
        bU2DevExitLat         500 micro seconds
    Device Status:     0x0001
      Self Powered
    
    

    4. In pFsense, I see USB device:

    [2.4.2-RELEASE][root@PfSense.localdomain]/root: usbconfig
    ugen0.1: <0x15ad UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen1.1: <0x15ad EHCI root HUB> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
    ugen0.2: <vmware vmware="" virtual="" usb="" mouse="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (0mA)
    ugen0.3: <vendor 0x0e0f="" vmware="" virtual="" usb="" hub="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen1.2: <huaweimobile huaweimobile="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)</huaweimobile></vendor></vmware> 
    
    [2.4.2-RELEASE][root@PfSense.localdomain]/root: usbconfig -d ugen1.2 dump_device_desc show_ifdrv
    ugen1.2: <huaweimobile huaweimobile="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
    ugen1.2.0: u3g0: <huaweimobile 0="" 2="" huaweimobile,="" class="" 0,="" rev="" 2.10="" 1.02,="" addr="">bLength = 0x0012
      bDescriptorType = 0x0001
      bcdUSB = 0x0210
      bDeviceClass = 0x0000  <probed by="" interface="" class="">bDeviceSubClass = 0x0000
      bDeviceProtocol = 0x0000
      bMaxPacketSize0 = 0x0040
      idVendor = 0x12d1
      idProduct = 0x1506
      bcdDevice = 0x0102
      iManufacturer = 0x0001  <huawei_mobile>iProduct = 0x0002  <huawei_mobile>iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001</no></huawei_mobile></huawei_mobile></probed></huaweimobile></huaweimobile> 
    

    5. I set up according to the instructions: (https://doc.pfsense.org/index.php/Known_Working_3G-4G_Modems):
    Link interface: /dev/cuaU0.1 and Init string: &F&C1&D2E0S0=0

    6. But I have a problem with establishing a connection  :'(

    Mar 14 09:30:47 	ppp 		[opt1_link0] Link: DOWN event
    Mar 14 09:30:47 	ppp 		[opt1_link0] LCP: Down event
    Mar 14 09:30:47 	ppp 		[opt1_link0] Link: reconnection attempt 116 in 4 seconds
    Mar 14 09:30:51 	ppp 		[opt1_link0] Link: reconnection attempt 116
    Mar 14 09:31:04 	ppp 		[opt1_link0] CHAT: The modem is not responding to "AT" at ModemCmd: label.
    Mar 14 09:31:04 	ppp 		[opt1_link0] MODEM: chat script failed
    Mar 14 09:31:04 	ppp 		[opt1_link0] Link: DOWN event
    Mar 14 09:31:04 	ppp 		[opt1_link0] LCP: Down event 
    

    How to solve this problem ? In the target configuration I would like to set modem as WAN.

    Best Regards,
    Robert


  • Netgate Administrator

    It's not responding on cuaU0.1 but the USB serial ports are present which is most of the battle. Did you try cuaU0.0?

    Steve



  • @stephenw10:

    It's not responding on cuaU0.1 but the USB serial ports are present which is most of the battle. Did you try cuaU0.0?

    Steve

    Thank you for your answer.
    After switching to cuaU0.0. Result of changes in logs:

    Mar 15 09:15:43 	ppp 		[opt1_link0] Link: DOWN event
    Mar 15 09:15:43 	ppp 		[opt1_link0] LCP: Down event
    Mar 15 09:15:43 	ppp 		[opt1_link0] Link: reconnection attempt 30 in 2 seconds
    Mar 15 09:15:45 	ppp 		[opt1_link0] Link: reconnection attempt 30
    Mar 15 09:15:46 	ppp 		[opt1_link0] CHAT: Detected Custom modem.
    Mar 15 09:15:46 	ppp 		[opt1_link0] CHAT: Dialing server at *99***1#...
    Mar 15 09:15:46 	ppp 		[opt1_link0] CHAT: ATDT*99***1#
    Mar 15 09:15:46 	ppp 		[opt1_link0] CHAT: Invalid dial init string.
    Mar 15 09:15:46 	ppp 		[opt1_link0] MODEM: chat script failed
    Mar 15 09:15:46 	ppp 		[opt1_link0] Link: DOWN event 
    

  • Netgate Administrator

    Remove the init string you have. You probably don't need one there.

    Steve



  • @stephenw10:

    Remove the init string you have. You probably don't need one there.

    Steve

    unfortunately, it's still wrong:

    Mar 15 16:41:29 	ppp 		[opt1_link0] LCP: Down event
    Mar 15 16:41:29 	ppp 		[opt1_link0] Link: reconnection attempt 186 in 4 seconds
    Mar 15 16:41:33 	ppp 		[opt1_link0] Link: reconnection attempt 186
    Mar 15 16:41:34 	ppp 		[opt1_link0] CHAT: +CGDCONT=1,"IP","internet"
    Mar 15 16:41:34 	ppp 		[opt1_link0] CHAT: Detected Hayes compatible modem.
    Mar 15 16:41:34 	ppp 		[opt1_link0] CHAT: The modem responded with "ERROR" to the command "AT&F&C1&D2E0S0=0M1" at ModemCmd: label.
    Mar 15 16:41:34 	ppp 		[opt1_link0] MODEM: chat script failed
    Mar 15 16:41:34 	ppp 		[opt1_link0] Link: DOWN event 
    

  • Netgate Administrator

    Hmm, you seem to be in exactly the same situation as this guy: https://forum.pfsense.org/index.php?topic=145181.0

    You just need the right init string. You probably don't need any inti string but mpd is inserting something in there anyway. Maybe try something very simple there like 'I' or just a space.

    You can open the connection in a terminal and try some strings.

    Steve



  • @stephenw10:

    Hmm, you seem to be in exactly the same situation as this guy: https://forum.pfsense.org/index.php?topic=145181.0

    You just need the right init string. You probably don't need any inti string but mpd is inserting something in there anyway. Maybe try something very simple there like 'I' or just a space.

    You can open the connection in a terminal and try some strings.

    Steve

    Modem talk on port cuaU0.1 (ATI command result. I have to enter the command twice)

    2.4.2-RELEASE][root@PfSense.localdomain]/root: cu -s 115200 -l cuaU0.1
    Connected
    
    Manufacturer: huawei
    Model: E3372
    Revision: 21.200.07.00.805
    IMEI: 868757029114655
    +GCAP: +CGSM,+DS,+ES
    
    OK
    

    What is the connection procedure? (AT commands)

    Best Regards,
    Robert



  • Try to follow the guidelines I provided here


  • Netgate Administrator

    Ah, so just use 'Z' as the init string should work from where you are then.

    Steve



  • @stephenw10:

    Ah, so just use 'Z' as the init string should work from where you are then.

    Steve

    It works, thank you very much. He helped init string Z in pfSense


Log in to reply