Issues Installing SIM7600G-H 4G for Jetson Nano

I’m trying to install and setup the SIM7600G-H 4G for Jetson Nano and running into an issue when following steps from their setup guide.

When I get to the download driver step:

cd
wget https://www.waveshare.com/w/upload/4/46/Simcom_wwan.zip
tar zxvf Simcom_wwan.zip
cd Simcom_wwan
sudo make

I get the following output with error:

$ sudo make
make     -C /lib/modules/4.9.140-tegra/build     SUBDIRS= modules    
make[1]: Entering directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
scripts/kconfig/conf  --silentoldconfig Kconfig
drivers/net/ethernet/nvidia/Kconfig:30: can't open file "drivers/net/ethernet/nvidia/eqos/Kconfig"
scripts/kconfig/Makefile:37: recipe for target 'silentoldconfig' failed
make[3]: *** [silentoldconfig] Error 1
Makefile:565: recipe for target 'silentoldconfig' failed
make[2]: *** [silentoldconfig] Error 2
make[1]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'.  Stop.
make[1]: Leaving directory '/usr/src/linux-headers-4.9.140-tegra-ubuntu18.04_aarch64/kernel-4.9'
Makefile:6: recipe for target 'default' failed
make: *** [default] Error 2

Unsure how to proceed. Any help is greatly appreciated!

Hi poppedbubblewrap,

Please send emails to service@waveshare.com to get the support.

Thanks

Thanks. I was posting in hopes that someone here had completed the setup and would be able to share their experience and insight.

I had the same issue. I copied the file successfully by going to the Waveshare site directly in my browser - not via terminal. I then downloaded it from the page to the directory.

I think I have a happy board - PWR led is on, and have a 3second flashing NET led.
But now I’m having trouble getting Minicom and the python AT.py example to work.

Has anyone had any success with the install - as the doco is missing vital steps.

I have the same problem described by @poppedbubblewrap . I tried to fix it by downloading all the jetson nano images (.img), but the paths problem still appears. To try to solve it I have followed the steps described in https://forums.developer.nvidia.com/t/r32-1-tx2-how-can-i-build-extra-module-in-the-tegra-device/72942/9 by @linuxdev. I have reached the point where it correctly compiles all the drivers that come in the kernel source code. However not the Simcom_wwan. I don’t know if I’m missing a step like editing the makefile or the Kconfig, to include this new driver in the compilation.

Currently when trying to compile the driver, the output is as follows

89/5000

It is what I have managed to do, if someone has achieved something else, I hope they can share it

Upgrade. After the modifications that I already mentioned, I have managed to compile the driver by executing the command “make” as sudo su user.

At this point I am not clear if it is necessary to make the modifications to compile the driver or it was only necessary to “sudo su” before “make”.

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:

AT+CNMP=38
AT$QCRMCALL=1,1

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.

Update:

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.

W00T!

Thanks @joseluisv36 for zeroing in on the right document for the AT$QCRMCALL command!

1 Like

First of all, thanks for sharing your setup instructions @poppedbubblewrap. I’m reading and everything is well documented (something waveshare should have done). Regarding “AT $ QCRMCALL” I found this document where it is explained http://www.microchip.ua/simcom/LTE/SIM7500_7600/Application%20Notes/SIM7500_SIM7600%20Linux%20NDIS%20User%20Guide_V2.01.pdf.

1 Like

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 “service@waveshare.com” - 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…! ;)

1 Like

Excuse me @poppedbubblewrap , did you have any problem in enabling the service from the boot?
It is giving me a problem that I have not managed to solve, I do not know if it happened to you. :/

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.

1 Like

618/5000

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.

Among some things that I have managed to observe are:

  • wwan_postdown.sh and wwan_preup.sh have different permissions
    permisos_distintos
  • In the “Compile, and Install Driver” section, in points 4 and 5 “simcon_wwan” is mentioned where it should be “simcom_wwan”, and in point 2 it should end with make install ??
1 Like

For me, that error is resolved by removing the most recent addition in connectivity/4GLTE/simcom_wwan@.service: , wg-quick@wg0.service . This addition makes the unit fail for me.

Edit: I made this work from startup. Steps for me:

To fix the service enable error.

  1. Edit the .service file like mentioned above.
  2. Run the update.sh script from the mars-rover repo
  3. Run the service enable command.

To make it wait for the simcom_wwan kernel module driver:

  1. sudo nano /etc/modules-load.d/modules.conf
  2. Add simcom_wwan to this file
  3. Ctrl-X, Y, Enter (Save and close)
  4. sudo nano /etc/udev/rules.d/99-usb-4g.rules

To let the service wait for the USB device:

  1. Make the file contents: SUBSYSTEM=="tty", KERNEL=="ttyUSB2", TAG+="systemd", ENV{SYSTEMD_WANTS}+="simcom_wwan@wwan0.service"
  2. Ctrl-X, Y, Enter (Save and close)
  3. sudo reboot and test
2 Likes

@poppedbubblewrap Many, many thanks!

1 Like

@joseluisv36, @thom Is correct. Remove , wg-quick@wg0.service 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.

2 Likes

I’ve split out the guide for the wider community to use: https://github.com/phillipdavidstearns/simcom_wwan-setup

Please feel free to help me maintain this resource. Issues, corrections, and pull requests welcome!

1 Like

Thanks for those pointers for setting up the system to wait for the appropriate connections. Will fold those changes into the installation guide when I get a chance.

1 Like