It is true, the documentation of waveshare is very incomplete, in addition to its example codes with multiple errors.
I initially had problems when trying to use the USB adapter, however later when connecting only by UART (with the dipswitches ON), the problem was solved.
Additionally you should be careful with the installation steps and dependencies of the page. For example, in the python3-pip installation, the install is missing, among other details.
I’m glad to see I’m not the only one having problems.
@joseluisv36 and @z5159117, I’ve managed to get quite a bit further along, almost far enough along to create working startup scripts and systemd services.
CAVEAT:I fooled myself into thinking it was 100% working from boot, but there are some manual steps that need to be completed before the SIM7600G-H network connection will be available on wwan0.
I’ve documented my steps here and will be updating as things progress:
At this point. I’ve got mine working as a network interface on wwan0. Cause for celebration to be sure, but the next hurdle is enabling the connection at boot.
I’m able to get the SIM7600G-H ready to use the wwan0 interface by manually issuing the following commands from minicom, but would like to script these:
I’m also not able to find documentation on AT$QCRMCALL anywhere. Waveshare support haven’t responded to my request for documentation of this command.
@joseluisv36, when you mention UART vs USB. Are you referring to connecting over the /dev/ttyTHS1 vs /dev/ttyUSB2 devices? I’m having trouble sending AT commands over serial from bash. Something like echo 'AT+CNMP=38' > /dev/ttyUSB2 should in theory work. But it doesn’t and if I can’t resolve it, I’ll probably write a startup script in python since those serial libraries seem to work with the SIM7600G-H.
I found that AT commands require a carriage return, not a newline, be included in the strings sent to the serial device from the command line. Here’s an example of how to send a command to place a phone call: # echo -e 'ATD1234567890;\r' > /dev/ttyUSB2 (yeah you have to switch to root)
The scripts and systemd service file in repo with the steps linked above have been updated with commands that successfully enable 4GLTE internet on the wwan0 NIC. I’ve confirmed that everything works now by shutting down and completely disconnecting the Jetson Nano from power, then starting up from there.
Thanks @joseluisv36 for zeroing in on the right document for the AT$QCRMCALL command!
Thank you so much! I had almost abandoned this project as the Waveshare installation documents have many errors, and I have not received any response from “firstname.lastname@example.org” - even after several reminders.
I will try over the next few days to see if it works for me. Then I can also try to help you with your problem.
Waveshare - Please sort out your documentation…! ;)
I don’t recall having that error. Strange that systemd is doing anything with systemd-udevd.service. Maybe it has to do with where the files are installed? The simcom_wwan@.service file and the associated wwan-preup.sh and wwan_postdown.shscripts don’t touch the firewall settings.
Have you tried manually setting up the interface and pinging out the to internet, before installing the service and scripts?
I can totally understand someone not wanting to run weird scripts as root. Basically the install, uninstall and update scripts do is copy over the pre-start and post-stop scripts to /etc/simcom_wwan/ (you’ll have to create) as well as the service file to /lib/systemd/system/. You can poke around, make changes and copy the files to those locations manually if you like.
Indeed, previously I managed to activate the wwan0 interface manually and also send AT commands. Similarly if I manually start or stop the service everything works OK. However the problem comes when I try to enable the service to start after boot. I attach a new screenshot of the status.
@joseluisv36, @thom Is correct. Remove , email@example.com from the end of the simcom_wwan@.service file in the [Install] section. wg-quick is a tool to setup a Wireguard VPN connection that I needed for my application.