我在 RaspberryPi 上运行 Raspian。
当我插入 GSM 调制解调器时,我看到两个接口 - wwan0和ppp0。
wwan0 即使插入 GSM 调制解调器但未连接,也存在ppp0 仅当连接 GSM 调制解调器时存在wwan0和ppp0,以及为什么我看ppp0除了wwan0?ppp0而不是wwan0在建立连接后?我有一个没有 X 显示的系统,我想用它nmcli来配置我的蜂窝调制解调器以连接到某个 apn。我可以在 Ubuntu(使用 X)上使用这个调制解调器很好地运行它,我现在想在命令行上实现相同的目标。如何设置连接?
到目前为止,我得到了这个:
# nmcli dev status
** (process:2379): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Permissions request failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
DEVICE TYPE STATE
ttyUSB1 gsm disconnected
eth0 802-3-ethernet connected
Run Code Online (Sandbox Code Playgroud) 我有一个华为 E160E 和一个华为 K3765“GSM”调制解调器。
问题是:如何使用这些调制解调器发送和接收音频数据,拨打或接听电话/语音电话?
根据规范(E160E、K3765)和 AT 命令,两者似乎都支持语音通话:
发行
AT^CVOICE?
Run Code Online (Sandbox Code Playgroud)
结果是
^CVOICE:0,8000,16,20
OK
Run Code Online (Sandbox Code Playgroud)
(两个调制解调器相同)。
两个调制解调器都提供 3 个 USB 端口,我将它们称为/dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2(假设系统中没有其他 USB 串行设备)。K3765 额外注册了一个cdc_ether以太网设备。我正在使用 Linux。
在两者上/dev/ttyUSB0,/dev/ttyUSB2我都可以放置 AT 命令并接收它们的答案;另外,/dev/ttyUSB2报告状态消息(如^RSSI:23,^BOOT:38021325,0,0,0,77,^SIMST:1或^SRVST:2)。当有人打电话时,K3765 也会默认报告(RING ) 时,,而 E160E 不会。
在两个调制解调器上,我都可以使用 拨打电话,ATD<number>;也可以使用 接听电话ATA。
/dev/ttyUSB1似乎什么都不做;简单地写入这个文件不会得到任何数据,从它读取不会得到任何数据。
如何将音频数据传入和传出调制解调器?
我已经找到了这个 stackexchange 问题和Sai Chaitanya的答案以及使用ffmpeg/的评论ffplay。 …
过去几天我一直在尝试在我的新 ubuntu 盒子上设置 GSM 连接。但是,我似乎无法让网络管理器正确管理它。盒子是compulab fitlet2,手机卡是simcom 7100A。
$ nmcli d
DEVICE TYPE STATE CONNECTION
enp2s0 ethernet connected enp2s0
enp3s0 ethernet connected Wired connection 1
tap0 tun connected tap0
wlp1s0 wifi connected MSI WiFi 2.4Ghz
cdc-wdm1 gsm unavailable --
lo loopback unmanaged --
$ lshw
*-usb:1
description: Generic USB device
product: SimTech, Incorporated
vendor: SimTech, Incorporated
physical id: 2
bus info: usb@1:8.2
version: 2.32
serial: 0123456789ABCDEF
capabilities: usb-2.00
configuration: driver=qmi_wwan maxpower=500mA speed=480Mbit/s
$ lspci
00:00.0 Host bridge: Intel Corporation Device 5af0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Raspberry Pi(最新的 Raspbian)上使用德国电信和调制解调器管理器设置华为 E3276 LTE 棒,基本上它可以工作,但我无法创建可通过 ansible 部署到 RPi 的配置。
当我连接 LTE 棒时,ModemManager 会正确设置所有内容,并以 wwan0 接口和分配给它的 169.254.0.0/16 地址结束。之后,我总是必须运行sudo mmcli -m 0 --simple-connect="apn=internet.t-d1.de,user=t-mobile,password=tm,number=*99#"这会触发网络管理器以某种方式为我获取 IP。一切安好。
由于我想自动执行此操作,因此我想摆脱手动执行 mmcli 命令,但目前正在失败。
选项 3:udev 规则执行命令
pi@raspberrypi:~ $ cat /etc/udev/rules.d/90-lte.rules
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="0c:5b:8f:27:9a:64", RUN+="/usr/local/bin/lte_setup.sh"
pi@raspberrypi:~ $ cat /usr/local/bin/lte_setup.sh
#!/bin/sh
sleep 2
mmcli -m 0 --simple-connect='apn=internet.t-d1.de,user=t-mobile,password=tm,number=*99#'
Run Code Online (Sandbox Code Playgroud)这不起作用,我实际上不知道为什么。
那么,基本问题是:为了在插入 E3276 后通过 Modem-/NetworkManager 自动获取公共 IP,通过 ansible 将这个配置/脚本部署到 Raspberry Pi 的最简单方法是什么?
最后一件事:我不是在寻找使用 wvdial 或其他工具的解决方案。我花了几天时间尝试使用来自 Internet 的“工作”配置来使用它们,只是为了发现它们不起作用。ModemManager 和 …
gsm ×5
modem ×3
raspbian ×2
3g ×1
audio ×1
command-line ×1
huawei ×1
mobile ×1
networking ×1
raspberry-pi ×1
ubuntu ×1
voice ×1