我有一个TTY设备来监控组合蓝牙/ GPS芯片的串口。我使用blueZ来实现蓝牙堆栈并完成与蓝牙相关的所有事情。通过此端口发送的数据是所有HCI数据包,甚至是GPS数据。 GPS数据包含在0xXX
类型的HCI数据包中(由HCI数据包的第一个字节指示)。
我想知道是否已经有任何内核工具将TTY设备拆分为两个独立的设备。例如,我想使用blueZ从/dev/ttyS0
读取和写入所有HCI数据包(GPS除外)。然后,我想要另一个TTY设备来读取0xXX
类型的所有HCI数据包,比如/dev/ttyGPS
。
最后,我正在寻找能够将某种类型的所有HCI数据包过滤到不同的"伪" TTY设备。如果这不可能,我将需要使用hcidump解析应用程序空间中的所有HCI数据包。虽然这是可能的,但由于之前已完成的工作,拥有两台TTY设备将极大地减少应用程序开发。
答案 0 :(得分:0)
我正在使用的芯片恰好是TI芯片。我发现的解决方案是由内核提供的驱动程序。
http://processors.wiki.ti.com/index.php/Shared_Transport_Driver