I have the same setup (Raspberry Pi 3, operating system from 2017-11-29-raspbian-stretch-lite.img, USB mobile broadband modem Huawei E3372h-153). The modem shows up in lsusb a bit differently than yours though:
Bus 001 Device 005: ID 12d1:15b7 Huawei Technologies Co., Ltd.
So maybe, as mentioned here, I have a different variant of the device. The ...
Nobody seems to even consider the possibility of replacing this modem.
Probably because ISP provided routers/modems use either coax cable or (in the case of DSL) telephone line inputs, so you are now having to add some hardware and corresponding difficulty for dubious gain; it might be worthwhile for educational or prototyping purposes but it is unlikely to ...
I couldn't make it work through wvdial, but I did manage to start the modem and connect to the internet using pppconfig to configure the ppp connection. I also ran into some issues with the dns settings which I resolved by using opendns ips.
If the content of the message comprises only characters 0-9 A-F then the message is in all likeliness encoded in hexadecimal.
If you copy and paste the message payload into a utility that translate hexadecimal to ASCII you might be pleasantly surprised with a message.
I suspect that tutorial is relying on this (from man usb_modeswitch):
Usually, the program is distributed with a set of configurations for many known devices, which in combination with a wrapper script launched from the udev daemon allows a fully automatic handling of a device upon insertion.
Which is why all you do is install the package and reboot; the ...
I've asked the guys at WaveShare, they answered that the power on/off feature has been included in the board from some time, and simply you have to take gpio4 down for one second to turn on the board (if you do it again you'll turn it off).
The following script do the trick:
if [ ! -e /sys/class/gpio/gpio4 ]; then
echo "File exists."
Please refer to the section on the elinux page here for the list of 3G/4G adapters which other people have tested with the Pi.
I think most of the 3G/4G SIM cards would work with the adapters mentioned there, you can check with your carrier and make sure that the adapter you choose does support those frequency bands.
The raspberry pi would have to act as a serial device server/client in order to communicate with the Micromate through its USB serial connection. You'll need to use a Sabrent FTDI compatible serial cable and set the modem type to "generic" instead of USB to PC on the Micromate. If you're looking for advice on low cost modems or settings for your Pi that ...
I solved the question #1.
I wrote that SIM800 GND and RPi USB GND had continuity, and I wasn't "wrong", as testing with a multimeter for continuity I got a match, as in, multimeter was buzzing.
BUT, I didn't connect SIM800 GND directly to USB-TTL GND, as every device in the system has common GND already.
Turns out there was a small ground loop anyway, to ...
You can use systemd-networkd to create an access point and connect devices on it to the internet. In addition you can also do it with devices (maybe your laptop?) connected to the wired port eth0. How to create this "complete" solution you can look at How can I set my pi 3 up to be WiFi AND ethernet router simultaneously?.
The example there uses ...
In the source folder of Sakis3g there was a file that could be disassembled - modified - and compiled. The timeout threshold was set to 20sec in this file and by changing it to a higher number Sakio3g kept searching for the connection until the usb-modem found a network connection.
/urs/bin/sakis3g disassemble /tmp
Try following this tutorial, it helped me bring ppp0 elegantly and it has a connection watchdog. I haven't tested that part, but it looks like it would do the trick.
Basically you can create an entry in /etc/network/interfaces or a file in /etc/network/interfaces.d setting up ppp0
Mine is as follows:
iface ppp0 inet wvdial
provider vodafone #the ...
Ok turns out I am an impatient man.
I was simply requesting the data too quickly; screen stays connected and shows it, Python is just too fast when it reads the input.
This code attempts to read the time from the modem at 2/10 of a second intervals for 20 seconds. If unsuccessful it sleeps for 20 seconds and then tries again. It will return the datetime ...
Setup = Hologram Nova USB cellular modem on /dev/ttyACM0
Can do = Terminal command AT+CCLK? replies +CCLK:
How do in python?
Suggest 2 steps:
Verify serial OK by loop back on '/dev/serial0'.
Replace '/dev/serial0' by '/dev/ttyACM0' and try your luck on Hologram Nova.
As Chad Farmer mentioned the issue was with having two default routes (Destination 0.0.0.0). So assuming that you have the same issue and route -n output that looks like this:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 302 0 0 wlan0
As far as I understand you have a modem running that perfectly connects to the internet. You now try to connect to the modems management console via VNC. Modems of this sort usually have a html management site accessible with a browser. It may be possible that you can also connect with VNC but this needs a VNC server to connect to. So please make sure that ...
What helped me debug this issue was using this route testing command, to realize the default gateway was off. My IP for the modem interface was 10.0.0.4 and the default gateway should've been 10.0.0.5.
Running this command:
ip route get to 220.127.116.11 from 10.0.0.4
Was returning 192.168.1.1 as the gateway.
So in conclusion, the solution was 2-folded:
I finally managed to get the modem working.(Yes the modem and the SIM card turned out to be compatible; I confirmed it on Windows using the vendor's driver)
I've got two things to report.
1. Device file
I didn't notice this at first but found that running 'modprobe usbserial' creates a symbolic link as well as 4 ttyUSB* files (ttyUSB0 to 3) under /dev.
This could be a problem with the wwan0 protocol.
try to change to raw-ip as oppose to the defaulted 802.3
echo Y > /sys/class/net/wwan0/qmi/raw-ip
qmicli -d /dev/cdc-wdm0 -E raw-ip
to check expected data format
qmicli -d /dev/cdc-wdm0 -e
Ok.... I was able to get the modem to connect (disregarding wwan0 interface) by using wvdial. I only had to use these init commands:
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1,"IP","myapn"
Set up the correct APN in Init3 command and you should be good (plus the other usual stuff like device, phone number, etc, etc etc)
I found an answer myself! I don't really know why, but somehow usb-modeswitch caused some problems, just removing the packages usb-modeswitch and usb-modeswitch-data solved the problem, now the network interface usb0 is shown properly in ifconfig output!
I used this script, you can add a simple test if cdc-wdm0 exist at boot. I recommend using udev rules to rename your tty based on port numbers see link.
while true; do modprobe -r option 2>/dev/null && break; done &
echo -ne "at+reboot\r" > /dev/simcomAT; && sleep 10;
Is not this so much??
It depends what are you doing on your Raspberry.
Is there any way to monitor which application is consuming this data?
You can use nethogs to check which application is currently using your internet bandwidth.