【问题标题】:Is there a reply to AT+GCAP & co. to tell "I'm not a modem, go away"?AT+GCAP & co. 有回复吗?告诉“我不是调制解调器,走开”?
【发布时间】:2013-08-14 23:55:55
【问题描述】:

我正在开发一个设备的固件,该设备将在串行端口仿真模式下使用蓝牙连接到 PC。

在测试过程中,我发现 Linux 上的调制解调器管理器“有用”地尝试将其检测为调制解调器,并发送 AT+GCAP 命令;对此,目前我的设备回复类似于INVALIDCMD AT+GCAP。这是对我的协议的正确响应,但显然不是 AT 回复,因此 modem-manager 不满意并再次尝试使用AT+GCAP 和其他与调制解调器相关的内容。

现在,我找到了一些调制解调器管理器的解决方法(请参阅 herehere,尤其是 udev rule method),但是:

  • 它们不是非常健壮(我必须制定一个自定义 udev 规则,如果我们更改蓝牙模块,它可能会中断);
  • 我担心不仅调制解调器管理器,而且类似的软件/操作系统功能(例如在 Windows 或 OS X 上)可能会给我带来类似的烦恼。

另外,我可以完全控制固件,可以AT+GCAP 和类似的东西添加一个特殊情况;所以,来回答我的问题:

AT+GCAP 和其他类似的调制解调器探测查询是否有标准/安全的回复来告诉“我不是调制解调器,走开让我一个人呆着?”

【问题讨论】:

  • 如果您不是调制解调器,则对调制解调器命令的正确响应是 nothing。尝试几次后它应该放弃。 “ERROR”是对您未实现的 AT 命令的响应。
  • @HansPassant:所以,如果我忽略以AT+ 开头的所有内容,我应该安全吗?还有其他我应该注意的调制解调器探测消息吗?
  • 你应该忽略所有以 AT 开头的东西,其中一些没有 +
  • @HansPassant:别担心,我找到了一种告诉调制解调器管理器“别管这个设备”的方法,我正在寻找的只是设备告诉的“通用”方式“我感谢您的兴趣,但我不是调制解调器”,因此要避免特定于平台的黑客攻击。如果你告诉我沉默是正确的答案,那么这就是我需要的答案。 :)
  • +1 表示您显然为创建此答案所付出的努力,是的,沉默将是正确的回应。

标签: serial-port hardware modem at-command firmware


【解决方案1】:

(从cmets中做出答案)

为了表明 我根本不理解任何 AT 命令(又名 我不是调制解调器),对收到的任何 AT 命令的正确响应应该是静音。


为了表明我不理解这个特殊的AT命令正确的响应应该是ERROR

之间的任何事情都会触发实体发送 AT 命令的实现定义的行为。有些人可能会立即放弃,而 modem-manager 显然已设置为重试发送命令,直到它得到“正确”的响应。

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多