Huawei E3372h LTE dongle and NCM/CDC mode



  • Hello,

    I have a Huawei E3372h dongle which works in FreeBSD 11.2 with NDIS driver. It shows the following,

    Jul 22 10:34:28 nas kernel: u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 9> on usbus0
    Jul 22 10:34:28 nas kernel: u3g0: Found 2 ports.
    Jul 22 10:34:28 nas kernel: cdce0 numa-domain 0 on uhub1
    Jul 22 10:34:28 nas kernel: cdce0: <NCM Network Control Model> on usbus0
    Jul 22 10:34:28 nas kernel: cdce0: faking MAC address
    Jul 22 10:34:28 nas kernel: ue0: <USB Ethernet> on cdce0
    Jul 22 10:34:28 nas kernel: ue0: Ethernet address: 1c:1f:f2:23:dc:00
    

    and it internet can be setup using

    echo 'AT ^ NDISDUP = 1,1, "internet"' > /dev/cuaU0.1
    

    On the other pfSense (2.4.3) doesnt show the NCM interface,

    ugen0.6: <HUAWEIMOBILE HUAWEIMOBILE> at usbus0
    u3g0 on uhub0
    u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 5> on usbus0
    u3g0: Found 2 ports.
    

    How can i setup/use NCM in pfSense?



  • I tried the dongle in pfSense 2.4.4 snapshot (running in virtualbox VM) and it worked. I passed the APN via the shell. Is there any place in the GUI I can specify the APN?



  • Here is workaround until a GUI option is available,

    $cat /usr/local/bin/e3372.sh 
    #/bin/sh
    echo 'AT^NDISDUP=1,1,"internet"' > /dev/cuaU0.1
    
    $chmod +x /usr/local/bin/e3372.sh
    
    $mkdir /usr/local/etc/devd
    $cat /usr/local/devd/e3372h.conf 
    #12d1:1506
    attach 20 {
            match "vendor" "0x12d1";
            match "product" "0x1506";
            action "/usr/local/bin/e3372.sh";
    };
    

    This may not survive upgrades though. So an alternative way would be better.



  • Just did a fresh install of 2.4.4 release.
    Connected the modem and could select the new device for WAN.
    I have the similar dmesg output you had with FreeBSD.

    Tried the echo command directly but never got an IP.

    Also tried with the 2 files you recommend.
    /usr/local/bin/e3372.sh
    /usr/local/etc/devd/e3372h.conf
    But your code is unclear, is it with or without the /etc/ ??

    Can I debug something?