I'm setting up a Huawei Hilink E3276 4G USB stick as the WAN side on my WNDR3800 router that has LEDE 17.01.4 installed with all packages mentioned from the different "3G/4G" wiki pages.
The stick is automatically registered as a new eth2 interface and I can see in USB debug that Driver=cdc_ether. So this seems to be using USB tethering as described on https://wiki.openwrt.org/doc/howto/usb.tethering
When configuring my WAN network to use eth2 I also notice that eth2 will receive a local IP 192.168.1.100 from the USB stick so this seems to add an extra layer of NAT. No good as I want to do port forwards.
Is it possible to configure a mode that bypasses the extra routing layer so the public IP is "owned" by LEDE?
[I've seen some oldish discussions that require various complicated steps to reflash stick firmware, but I'd like to do a sanity check here on the forums and check if there maybe are simpler steps nowadays on the current LEDE version...]
I've finally managed to flash my Huawei HiLink E3276-150 4G modem with non-HiLink firmware. Like many before me I had a bit of a struggle so here I describe the steps that worked for me as of February 2018.
You can find many guides from around 2013 and 2014 but using the downloads from those days never seemed to work for me - the update process would find the device but not the port, resulting in Error 10. I'm on Windows 10 64-bit which was definitely not available in those days and some people mention that Windows 7 has better mileage with Huawei flashing software so maybe that's the reason.
Anyway, before resorting to install Windows 7 I had success on Win10 by using the latest non-HiLink firmware version I could find, which at this time is 21.491.03.00.00.
(found at https://3ginfo.ru/downloads1462.html linked from https://3ginfo.ru/download59.html)
Note 1: 21.x is non-HiLink, 22.x is HiLink (avoid!)
Note 2: suffix .00 is generic unbranded version
An interesting fact about Huawei flashing is found in the latest HiLink download 22.470.13.00.00 (found at https://3ginfo.ru/downloads1102.html) where a pdf contains instructions about verifying the existence of an RNDIS device in Device Manager.
If you don't find this device when the modem is connected you should install the Huawei driver/service, f ex from http://modemsolution.com/wp-content/uploads/2013/12/Huawei-HiLink-Drivers.zip, or from the bundled CD partition on your modem.
My successful path for flashing was:
disconnect from my normal wifi (conflicting with 192.168.1.1)
install the driver/service from my modem and connect it
AFAIK these two files were not part of my successful procedure but like many other I was trying all different combinations of installs and failing at first, so who knows if some side-effect got things working. Either way the E303 file immediately crashed after entering the password so it didn't seem to get very far.
If you haven't found this out yourself already, it might be good to know that the suggestion in the NCM wiki: https://wiki.openwrt.org/doc/recipes/ethernetoverusb_ncm
to configure the new network connection through LUCI via luci-proto-ncm isn't so easy as this package hasn't been included in the official builds.
I found it easiest to ssh into my router and edit the configuration by hand. First check that the new network interface is there:
though I have tried "auto" and "umts" instead of "preferlte"
I think my problem is that the /dev/cdc-wdm0 doesn't respond to AT commands, so no chance for the wwan0: interface to get activated ...
I hadn't initially, as luci-proto-ncm doesn't seem to support it, I added it manually later and that didn't help directly.
Having noticed that the /dev/cdc-wdm0 device doesn't speak AT commands to the modem, I found that "force loading" drivers for /dev/ttyUSB0 and /dev/ttyUSB1, then setting a custom device, does allow me to start the interface ...
it doesn't retrieve an IP address from the mobile network, and it seems to crash while trying, so I need to get a serial console hooked up, but it's much closer to working than it has been for the past few days