我知道我来晚了,但是...您确定您已将 gammu 设置到正确的 USB GSM 调制解调器端口吗?我的意思是...您已将 gammu 配置为 USB 端口。例如,检查您的配置文件(通常是 /etc/gammurc )您已配置调制解调器的端口:
[gammu]
device = /dev/ttyUSB2
这意味着您的设备应该在该端口中配置。现在您必须检查的第一件事是您的设备是否已连接。为了检查 USB 连接的设备,lsusb 将帮助您找出您已连接的设备:
myuser@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 005: ID 12d1:1436 Huawei Technologies Co., Ltd.
如您所见,我的最后一个设备是我的 GSM USB 调制解调器(华为 U 盘)。
现在您知道它在那里,您必须检查您的 GSM 调制解调器是否连接在您告诉 Gammu 的端口中。这是有趣的部分:Linux 机器中的 USB 端口分配并不总是相同的。这意味着如果您使用了多个 USB 端口,则曾经在 ttyUSB2 上的 USB 记忆棒可能会在 ttyUSB5 的下一次重新启动中。要检查它,你应该调用 dmesg:
myuser@raspberrypi ~ $ dmesg | grep tty
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=592 bcm2708_fb.fbheight=448 bcm2708.boardrev=0xd bcm2708.serial=0x6a843828 smsc95xx.macaddr=B8:27:EB:84:38:28 bcm2708_fb.fbswap=1 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
[ 0.001417] console [tty1] enabled
[ 0.707212] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[ 1.098542] console [ttyAMA0] enabled
[ 7.652112] usb 1-1.2.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 7.940183] usb 1-1.2.3: GSM modem (1-port) converter now attached to ttyUSB1
[ 8.231542] usb 1-1.2.3: GSM modem (1-port) converter now attached to ttyUSB2
就我而言,我只有 GSM 棒连接到 USB 集线器,所以我总是得到相同的 ttyUSB2。如果您连接的东西不止一件,它可能会不时改变。因此,您必须检查配置文件中的设备是否与使用 dmesg 命令获得的设备相同(对于华为调制解调器,在我的情况下,它始终可以采用最高的一个-> ttyUSB2)。