Connecting Raspberry pi to cellular usb dongle for remote access


Hi Guys,

We have been developing our systems using Raspberry pi’s with a linux platform for our stations on our remote locations. We have been using a Hauewi E3131 USB dongle for communications with ISP’s Amaysim & Optus. We have been attempting to use Reverse .SSH to login to the pi remotely with mixed results. The issue we have found is if you do not have sufficent signal strength of -75db on the GSM network it won’t connect. I wanted to try connecting up via a Telstra sim as I found that the signal strength numbers appear to be in a more acceptable range but I found that Telstra’s Sim card is incompatible with a E3131. We have a DF70 dongle from Telstra but this appears to incompatible with the PI, hence my dilemma !! Is there anybody out there who has successfully configured a pi with remote access capability using the celluar network with a dynamic ip address? Do you have any suggested scripts we could try in out application. Your comments will be appreciated. cheers Sam


You must have sufficient signal strength. Work to correct that; some dongles lose sensitivity at high temperature or if subject to electrostatic discharge in their operating position. Ensure the temperature is within human comfort range. That’s what the USB devices are designed for.

In what way is the SIM you purchased incompatible with the E3131? The most likely cause is that the E3131 is locked to Optus. Another cause is wrong size; for which you can find an adapter.

In what way is the DF70 incompatible with the kernel you are using? The most likely cause is that the kernel does not have the USB vendor and product identifiers and so does not associate the device with a network interface, or a storage interface is associated (where the device contains driver files). You can discern that by looking at dmesg output from kernel as a result of plugging the device in. Compare working device against non-working device.

Where the identifiers are missing, solutions are a kernel upgrade or using new_id in sysfs for an existing driver.

Where a storage interface is offered, solutions are a kernel upgrade or using the usb_modeswitch package carefully.

Another solution is to use a WiFi device such as E5331, and a USB WiFi adapter. That way the communications between the device and the Raspberry Pi are reduced to IEEE 802.11g/n.


Hi quozi,
The e3131’s are unlocked devices although they came preloaded with Optus communication software on boot. You can create your own profiles within this software for other Isp’s to which amaysim & 2 degrees (NZ) worked. When I put in the Telstra sim card it connects but only gives me 2g (based of the lights being solid green), If I use the MF70 with the same sim at the same location I can connect to the 3g network without any issue. I went down to a telstra shop and they said that the frequencies they use maybe incompatible with the e3131. We were also using the e3131 on these stations as the stations are solar powered and we are looking for low power solutions.

Thanks for response.


No worries.

Given your observations, the E3131 is likely to be missing 850 MHz support in firmware, since it was configured for Optus which uses 900 MHz for 3G. There are different versions of E3131 in the market. Telstra uses 850 MHz and 2100 MHz for 3G. See this simplified article on frequency bands. There will be no practical solution for you to continue using that E3131 on the Telstra network; it will always use 2G only.

The MF70 has vendor identifier 0x19d2 with product identifier 0x1405, and is not in the Linux kernel. It is probably an evolution from the MF60, so it would be a QMI WWAN driver. The code to try changing is around line 745 of qmi_wwan.c then rebuild the kernel. If the change works, I’m sure others would value seeing a patch sent to the Linux kernel mailing list advising of your test results.

The MF70 is also a WiFi device.

Now that I know you are dependent on 900 MHz 3G on the E3131, my earlier comment about operating temperature will be critical. What is the operating temperature?


This temperature will vary greatly as this is in an outdoor application. The dongle is in a plastic outdoor electrical pillar with the rest of the equipment so it could be a couple of degrees higher than the ambient temperature of the day. Im also thinking of going back to my original concept of using a WiFi Modem and a EDUP adapter on the pi as I can power the dongle separately from a powered USB port on the station setup. This would eliminate some of the variables such as compatibility and I could use the MF70 as a WiFi device as it is USB+WiFi.


Okay, thanks.

Variance is not a problem; but maximum temperature is. RF noise floor increases as operating temperature increases, and as a consequence the link budget deteriorates. As the device ages toward end of product life the sensitivity degrades. I’ve seen that in samples I’ve used.

According to a quick search, maximum operating temperature for E3131 is 45°C. Not an industrial temperature range, for sure. Storage temperature maximum is only 70°C. When storage temperature is exceeded, there will be damage that will further reduce sensitivity. I guess internal temperature rise of 25°C when powered up.

With damage, the reported signal strength may fail to track actual signal strength. You can prove damage by replacing the E3131 with an unused one and see how it behaves.

Depending on the location, and the type of surface, the ground temperatures can be very high. You can test these with infrared thermometer, or add a temperature sensor to your application, or correlate failures against hour of day and past temperatures recorded by

My gut feel is that it should work fine if the pillar has passive airflow inlet at least a foot above ground, but not if the pillar has at-ground airflow, no airflow or is in direct sunlight.