如何在 Linux 上启用 rfcomm?

如何在 Linux 上启用 rfcomm?

我正在尝试在 Linux AKA 上启用虚拟串行端口/dev/rfcomm0

我正在使用“rfcomm”命令,但它只在激活某些 rfcomm 功能时起作用。我不需要它。

我只需要/dev/rfcomm0在系统中使用它。

我尝试启用 rfcomm 但失败了。

nov25-1@nov251-desktop:~$ systemctl enable rfcomm

无法启用单元:单元文件 rfcomm.service 不存在。o。

我正在请求一个 Linux 命令来/dev/rfcomm0 在 Linux 上设置“虚拟串行”端口。

请 - 您的贡献将通过回答问题而得到极大的赞赏。以“你为什么要这样做”为风格的回复对解决问题没有帮助。

答案1

这些/dev/rfcomm*设备的设计尽可能模拟物理串行端口连接,因此每个现有/dev/rfcomm*设备在存在时仅与一个设备相关联。(这就像一个带有插入设备的电缆的串行端口。)

如果您的目标是接受传入连接,则一个设备仍然会一次只接受一个连接:如果您想要并行服务两个传入的 RFCOMM 连接,则必须设置两个设备。

如果没有rfcomm命令来描述您想要对特定/dev/rfcomm*设备执行的操作,则不会创建该设备。

您想接受传入的 RFCOMM 连接,还是建立传出的 RFCOMM 连接?

范围内可能有多个具有 RFCOMM 功能的设备:您是否允许所有设备连接,还是只允许特定的设备连接?

对于传出连接,没有选择:你必须指定您想要连接的设备的蓝牙地址:

rfcomm connect /dev/rfcomm0 11:22:33:44:55:66

这将触发连接尝试,并在必要时进行配对。

或者,如果您只想/dev/rfcomm0在某些应用程序尝试使用时自动连接到特定的蓝牙 RFCOMM 设备/dev/rfcomm0,或者将未来来自特定蓝牙设备的传入 RFCOMM 连接路由到/dev/rfcomm0

rfcomm bind /dev/rfcomm0 11:22:33:44:55:66

这不会触发连接尝试。

对于传入连接,您可以选择不指定另一端的蓝牙地址:

rfcomm listen /dev/rfcomm0

会接受RFCOMM 与未指定设备建立连接,一旦连接终止就会退出。

rfcomm watch /dev/rfcomm0

将逐个接受来自未指定设备的多个 RFCOMM 连接,直到命令rfcomm watch终止。


如果你真的只是需要设备节点存在完全不关心它的功能,那么你可以做一个

mknod /dev/rfcomm0 c 1 3 

这将创建设备节点,并指定它将连接到驱动程序/dev/null;这应该是安全的。

相关内容