voxl-modem
Overview
The voxl-modem
package provides software support for the various ModalAI supported modem hardware options, such as:
- LTE Modems (Sierra)
- 5G Modems (Quectel)
- Microhard Modems
- Doodle Labs Modems
Usage
As with most SDK services, voxl-modem
can be configured and enabled to run on boot using it’s configuration script. Usage is as follows:
voxl2:/$ voxl-configure-modem -h
Making new config file /etc/modalai/voxl-modem.conf
Config script for voxl-modem
voxl-configure-modem enable
voxl-configure-modem disable
voxl-configure-modem factory_enable
voxl-configure-modem doodle
show this help message:
voxl-configure-modem help
Running voxl-configure-modem
without providing an argument, will execute a wizard with the following options:
voxl2:/$ voxl-configure-modem
Starting interactive mode
What type of modem are you using?
1) v2
2) microhard
3) doodle
4) quectel
#?
Selecting an option from this menu will trigger more questions catered to that modem type:
voxl2:/$ voxl-configure-modem
Starting interactive mode
What type of modem are you using?
1) v2
2) microhard
3) doodle
4) quectel
#? 4
Are you attempting to connect to ModalLink? (not common)
1) yes
2) no
#? 2
Which APN is correct for your SIM card?
AT&T - IoT device - APN: m2m.com.attz
AT&T - Laptop or Tablet - APN: broadband
AT&T - Smartphone - APN: phone
T-Mobile - APN: fast.t-mobile.com
Verizon - APN: vzwinternet
Google Fi - APN: h2g2
1) m2m.com.attz 4) fast.t-mobile.com 7) Custom
2) broadband 5) vzwinternet
3) phone 6) googlefi
#?
Going through the voxl-modem
configuration process will set up a configuration file located at /etc/modalai/voxl-modem.conf
as well as enable the voxl-modem
service to run on boot
voxl2:/$ cat /etc/modalai/voxl-modem.conf
{
"modem_type": "quectel",
"apn": "h2g2",
"world": "false",
"microhard_ip": "192.168.168.100",
"doodle_ip": "10.223.0.100",
"modallink": "false",
"placeholder": "hello world"
}
voxl2:/$ voxl-configure-modem doodle
wiping old config file
reloading systemd services
enabling voxl-modem systemd service
Created symlink /etc/systemd/system/multi-user.target.wants/voxl-modem.service → /etc/systemd/system/voxl-modem.service.
starting voxl-modem systemd service
DONE configuring voxl-modem
It is possible to modify this config file manually in some circumstances, but not recommended.
Tips
When checking to see if a modem is enumerated correctly, it can be helpful to check lsusb
to see if the device has been detected:
voxl2:/$ lsusb
Bus 002 Device 002: ID 0424:5744 Standard Microsystems Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0424:2740 Standard Microsystems Corp.
Bus 001 Device 003: ID 05ac:1402 Apple, Inc. Ethernet Adapter [A1277]
Bus 001 Device 002: ID 0424:2744 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Another helpful command is ifconfig
, which displays the VOXL’s network interfaces and their IP addresses:
voxl2:/$ ifconfig
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST> mtu 1500
ether 2a:f2:52:11:bf:f8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
dummy0: flags=195<UP,BROADCAST,RUNNING,NOARP> mtu 1500
inet6 fe80::10:e3ba:b70f:f411 prefixlen 64 scopeid 0x20<link>
ether 3e:a1:0a:d0:b3:40 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 1648 (1.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 48:d7:05:ea:06:36 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 200 bytes 14500 (14.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 200 bytes 14500 (14.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
voxl-modem
can be disabled from running on boot via. the following:
voxl2:/$ voxl-configure-modem disable
disabling voxl-modem systemd service
stopping voxl-modem systemd service
Done configuring voxl-modem
As with most services, it is recommended to reboot your device after doing so.
To check the status of voxl-modem
when it is running, use the following:
systemctl status voxl-modem