You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gammu-smsd无法发送SMS,UNKNOWN[27]安全状态错误求助

解决Gammu SMSD无法发送短信(安全状态错误)的问题

针对你遇到的Gammu 1.42.0命令行发送正常,但gammu-smsd反复提示Error getting security status: Unknown error. (UNKNOWN[27])且无法发送的问题,可按以下步骤排查解决:

1. 确认配置文件的正确性与加载优先级

  • 确保CheckSecurity = 0放在配置文件的**[gammu]段**,Receive = False放在**[smsd]段**,避免配置项放错位置导致不生效:
    [gammu]
    Port = /dev/ttyUSB0  # 替换为你的设备实际端口
    Model = Nokia 5310 (2020)
    Connection = at
    CheckSecurity = 0
    
    [smsd]
    Service = sql
    Driver = mysql  # 替换为你使用的数据库驱动
    User = your_db_user
    Password = your_db_pass
    Database = your_db_name
    Receive = False
    
  • 启动gammu-smsd时强制指定配置文件路径,避免加载默认配置:
    gammu-smsd --config /etc/gammu-smsdrc
    
  • 检查配置文件权限,确保运行gammu-smsd的用户(如root或gammu用户)拥有读取权限:
    chmod 640 /etc/gammu-smsdrc
    chown root:gammu /etc/gammu-smsdrc
    

2. 强制适配Nokia 5310 (2020)设备

  • 执行gammu --identify命令获取设备的精确识别信息,将输出中的Model字段直接复制到配置文件的Model项中,避免型号名称匹配错误。
  • 尝试切换连接模式,将Connection = at改为Connection = nokia,部分诺基亚机型需要专用连接协议才能绕过安全检查。

3. 开启调试日志排查细节

  • 启动gammu-smsd时开启全量调试日志,查看具体错误原因:
    gammu-smsd --debug textall --logfile /var/log/gammu-smsd.log
    
  • 检查日志中是否有配置加载记录,确认CheckSecurity = 0被正确读取;同时关注设备初始化阶段的其他错误(如串口连接失败、AT指令响应异常等)。

4. 验证SQL Outbox表的结构与数据

  • 确保Outbox表符合gammu-smsd的要求,核心字段需包含:
    • ID:自增主键
    • DestinationNumber:完整带国家码的号码(如+40740xxxxxx)
    • Text:短信内容(不超过70个纯文本字符或160个GSM编码字符)
    • Status:初始值设为Waiting
    • SendingTime:设置为当前时间戳
  • 插入数据时避免字段格式错误,比如号码不能包含空格或特殊字符。

5. 升级Gammu版本

Gammu 1.42.0为较旧版本,可能存在与Nokia 5310 (2020)新机型的兼容性问题,升级至最新稳定版(如1.42.1或更高),新版本通常会修复设备适配和安全检查逻辑的bug。

6. 检查设备权限与串口设置

  • 将运行gammu-smsd的用户加入dialout组,获取串口读写权限:
    usermod -aG dialout gammu
    
  • 在[gammu]段添加波特率配置,适配设备串口参数:
    BaudRate = 115200
    

内容的提问来源于stack exchange,提问作者Victorqedu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:35:27