3

I recently bought a "SIM7600X 4G DONGLE" from Waveshare and am trying to make phone calls on Ubuntu 20.04 LTS. I was able to initiate a phone call and send an SMS; however, the main issue is that I can't pipe the audio via the USB. The manufacturer claims that the voice calls feature is supported, and the driver is pre-installed on Raspbian OS. I have tried both Ubuntu Desktop and Raspberry Pi OS (Bookworm) and so far, I can tell that Ubuntu is a little easier to set up.

I am facing the same issue described here.

This could be caused by several reasons, so, I will start from the beginning.

1 - The driver

When trying to make the driver I get the following error, and I am guessing this might be due to the kernel version.

SIM7600X_4G_DONGLE/Drivers/simcom_wwan$ sudo make
[sudo] password for ioaniatr: 
make     -C /lib/modules/5.4.0-200-generic/build     SUBDIRS= modules    
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-200-generic'
  LEX     scripts/kconfig/lexer.lex.c
/bin/sh: 1: flex: not found
make[3]: *** [scripts/Makefile.host:9: scripts/kconfig/lexer.lex.c] Error 127
make[2]: *** [Makefile:624: syncconfig] Error 2
make[1]: *** [Makefile:730: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-200-generic'
make: *** [Makefile:6: default] Error 2

If I check on the terminal:

sudo minicom -D /dev/ttyUSB2

Minicom Check

2 - SMS

I am using modem-manager-gui for SMS, which looks simple and works smoothly with the default Network Manager by utilizing the broadband connection.

sudo apt install modem-manager-gui
modem-manager-gui

Modem Manager GUI Network Manager

3 - Calls

For Calls, I have tried several applications so far found over the internet. I have managed to make calls only via AT commands on a terminal (tty), or by installing Gnome-Calls via Flathub.

sudo apt install flatpak
sudo apt install gnome-software-plugin-flatpak
flatpak install org.gnome.Calls

I normally initiate a call, even receive a call, but there is no sound. I have tried haegtesse that can be found here It is creating some daemon that tries to collaborate with PulseAudio, but unsuccessfully. Haegtesse

The same result with AT, it initiates a call by using ATD<phone_number>;, but no sound via USB, and I have also tried the following from a similar guide: here

sudo minicom -D /dev/ttyUSB2
AT+CPCMREG=1 // initiate PCM data transfer over the USB audio interface 
AT+CPCMREG=0 // Disable PCM data transfer over the USB audio interface
AT+CSDVC=1  //Switch to earphone
AT+CSDVC=3  //Switch to speaker

Making a call with AT command: making a call with AT

Any help would be appreciated.

ioaniatr
  • 1,591

1 Answers1

0
  1. The compilation error was not caused by differing kernel versions, it was caused by the lack of the flex tool. The message /bin/sh: 1: flex: not found clearly shows it. Here can you find the solution, how to find a package to a not installed command: How do I find the package that provides a file?

In our case,, we need flex. So, apt-get install flex.

Anyways, today you need to compile something driver only extremely rarely, I diid it last time about in the middle 2010s. That is because practically everything open-sourced is imported in the kernel on the spot.

This is also the very likely reason, why you could at least achieve a partial functionality.

  1. SMS is fine. Very likely, you had also mobile data. Note, mobil phone networks could not handle simultanously network and also phone calls without the Volte extension. That must be supported both by the network, by your device and also your driver. My first phone which could simultanously handle a wifi hotspot, mobil network and voice calls, I used it first after 2020. And that is an USB SIM card, not a full feature Android.

  2. In the of the voice calls, you can find, there is a quite unthinkable amount of crapware. Honestly it is more hard to find such an app, as to buy a rootable Android phone! Minicom clearly shows that you could talk with the tool, but it did not answer. It lies somewhere in the driver. My first bet would be that the AT commands are only some backward compatibility feature, and to have real voice calls, you need to do some differently.

My second bet would be that the app has already locked the device.

My third bet is that the app has run on your user, but you had no access to the ttyS device. Or maybe your user had, but not the app. A short-term test could be a chmod 666 /dev/ttySomething as root. At least to check, does it work now or not. (If it works, then you can have a new question, how to make it pretty permanent with your ubuntu.)

peterh
  • 293
  • 5
  • 17