7

我正在研究将要在串行端口仿真模式下使用蓝牙连接到 PC 的设备的固件。

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

现在,我为 modem-manager 找到了一些解决方法(请参见此处此处,特别是udev 规则方法),但是:

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

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

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

4

1 回答 1

3

(根据评论做出回答)

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


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

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

于 2013-12-29T15:40:27.953 回答