I am using this in a IOT device which is running Arch ARM Linux, I am attempting to send an SMS but currently getting an error right away, I spoke with the carrier and they sent me a new sim and said they “tested it” but still getting the error, was wondering if there was anything else that I could try or some command that I am unaware of?
mmcli -m 1 --messaging-create-sms=“text=‘test’,number=‘+1XXXXXXXX’”
Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/16
mmcli -m 1 --messaging-list-sms
/org/freedesktop/ModemManager1/SMS/16 (unknown)
mmcli -s 16 --send
successfully sent the SMS
mmcli -m 1 --messaging-list-sms
/org/freedesktop/ModemManager1/SMS/17 (received)
mmcli -s 17
General | path: /org/freedesktop/ModemManager1/SMS/17
Content | number: +1XXXXXXXX
| text: Free Msg: Unable to send message - Message Blocking is active.
Properties | pdu type: deliver
| state: received
| storage: mt
| smsc: +1XXXXXXXX
| timestamp: 2023-02-25T14:48:52-08
jyijyi
February 26, 2023, 2:19am
2
Have you tried to send with AT command ?
AT+CMGF=1
AT!GSTATUS?
AT+CMGS="1234567"
> test
<Ctrl+z>
Using what to send AT commands? It would need to be scripting compatible.
jyijyi
February 26, 2023, 4:29pm
4
you can use tera term to open the AT command port to send the commands
Tera Term is gui based, this IOT device is strictly using command line, its akin to the server version of Arch or Lite Arch linux.
I have attempted to use minicom but this modem is not seen like a normal modem so I cannot query it like a modem.
jyijyi
February 26, 2023, 4:55pm
6
you can use “cat” and “echo”
e.g.
cat /dev/ttyUSB2 &
sudo echo -ne "AT+CMGF=1\\xd\\xa" > /dev/ttyUSB2
Hi, can you provide exactly what is needed to send these commands in the way you are proposing?
From my limited research it looks like the MC7700 is being assigned
/dev/cdc-wdm0
I am not at all familiar with the echo lines so I am failing at getting anything from it using the commands you have provided
jyijyi
February 26, 2023, 5:15pm
8
This driver looks like its made for x86 Ubuntu as it fails for Arch ARM
I am not sure that this makes any difference but making mention of this regardless:
I am able to receive sms messages as I have a bunch of spam SMS’s
I am only getting a IPv4 IP even though I have specified ipv4v6
more /var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/make.log
DKMS make.log for SierraLinuxQMIdrivers-S2.42N2.64 for kernel 5.15.68-3-rpi-ARCH (armv7l)
Sun Feb 26 20:25:02 MSK 2023
make: Entering directory '/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial'
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.* modules.order .cache.mk *.o.ur-safe
make -C /lib/modules/5.15.68-3-rpi-ARCH/build M=/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial modules
make[1]: Entering directory '/usr/lib/modules/5.15.68-3-rpi-ARCH/build'
CC [M] /var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial/GobiSerial.o
/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial/GobiSerial.c:242:2: warning: #warning "Assuming disc_mutex is locked external to the module" [-Wcpp]
242 | #warning "Assuming disc_mutex is locked external to the module"
| ^~~~~~~
/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial/GobiSerial.c:773:27: error: initialization of 'void (*)(struct usb_serial_port *)' from incompatible pointer type 'int (*)(struct usb_serial_port *)' [-Werror=incompatible-pointer-types]
773 | .port_remove = Gobi_portremove,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial/GobiSerial.c:773:27: note: (near initialization for 'gGobiDevice.port_remove')
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:289: /var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial/GobiSerial.o] Error 1
make[1]: *** [Makefile:1898: /var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.15.68-3-rpi-ARCH/build'
make: *** [Makefile:25: all] Error 2
make: Leaving directory '/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSerial'
jyijyi
February 26, 2023, 5:39pm
11
you can see here to use another driver
In the past I was successfully building the SierraLinuxQMIdrivers-S2.42N2.64 driver with Ubuntu 20.04 for the WWAN-Card MC7700. After an upgrade to Ubuntu 22.04, I’m trying to build the SierraLinuxQMIdrivers-S2.42N2.64 with kernel 5.15.0-40 on Ubuntu 22.04 and get the following build error:
DKMS make.log for SierraLinuxQMIdrivers-S2.42N2.64 for kernel 5.15.0-40-generic (x86_64)
Tue Jun 28 12:15:08 CEST 2022
make: Entering directory '/var/lib/dkms/SierraLinuxQMIdrivers/S2.42N2.64/build/GobiSeria…
While this driver does seem to compile, the result are not something that’s documented in the readme that’s included.
So it doesn’t look like it makes a usb port that I can interact with.
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 3, If 12, Class=Communications, Driver=cdc_mbim, 480M
|__ Port 3: Dev 3, If 13, Class=CDC Data, Driver=cdc_mbim, 480M
|__ Port 4: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
jyijyi
February 27, 2023, 1:11am
13
can you connect the module to Windows platform?
You can also see here which module is in MBIM only
If you are really brave, then you could try a perl script I hacked together based on the MBIM and QMI code I used while developing the drivers:
git.mork.no/?p=wwan.git;a=blob_p … usbcomp.pl
I have tested it on an MC7710 and an EM7305 and it seems to do the job for me. I tried configuring the EM7305 for MBIM only (although it still showed the DM channel):
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 17 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor…
No, I do not have a spot where I can plug this into on a windows system.
jyijyi
February 27, 2023, 5:46am
15
You can also see here where module is in MBIM only
If you are really brave, then you could try a perl script I hacked together based on the MBIM and QMI code I used while developing the drivers:
git.mork.no/?p=wwan.git;a=blob_p … usbcomp.pl
I have tested it on an MC7710 and an EM7305 and it seems to do the job for me. I tried configuring the EM7305 for MBIM only (although it still showed the DM channel):
T: Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 17 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor…
It seems Arch Arm linux lacks the correct perl modules to be able to run this script from the page you made mention of.
jyijyi
February 28, 2023, 3:04pm
17
One thing i don’t understand is that if you don’t have modem port or AT port, how come mmcli is working on your platform?
I dont know, im assuming this is directly dealing with the modem, I was told that qmicli might be a better use but I am unable to find any commands that are about the same as what I am using for mmcli
jyijyi
February 28, 2023, 5:10pm
19
here says mmcli (modem manager) already uses qmi interface:
What is QMI? QMI is a binary protocol designed to replace the AT command based communication with modems, and is available in devices with Qualcomm chipsets from multiple vendors (Novatel, Huawei, …
probably that is why you can use mmcli to communicate even without AT command port
This rolls back to, are the commands I am using causing the original msg that is disallowing me to send text msgs? I cannot tell if this is coming from the cell company or if its some command that I need to issue to unblock them.