从USB串行设备读取二进制流

时间:2012-04-17 15:01:35

标签: linux serial-port asterisk

我正在为华为e177调制解调器制作chan_dongle补丁,这种调制解调器有单向音频问题。

出于调试目的,我决定编写一个外部测试用例来读取和写入调制解调器的音频但是在安装调制解调器后我无法接收任何串行文件中的音频流。我使用minicom发出命令,我使用相关的AT命令接收来电,但没有字节流到达任何文件。我收到的唯一输出来自/dev/ttyUSB0中的AT命令。

我正试图用以下方式捕获音频:

cat /dev/ttyUSB1

我也尝试修改终端设置,然后阅读

 stty -F /dev/ttyUSB1 115200 cs8 -cstopb -parenb -cooked min 1 time 0

我在这里缺少额外的一步吗?

感谢。

3 个答案:

答案 0 :(得分:2)

当使用ATA应答来电时,调制解调器需要知道音频流的发送位置, AT ^ DDSETEX = 为我们做这件事。

我错过了那一部分。 Here我解释了我的问题的背景和解决方案。

感谢您的线索。

答案 1 :(得分:0)

Asterisk执行tty锁定,因此无法连接同一时间。

答案 2 :(得分:0)

如果您想从Asterisk捕获音频流,那么您将需要使用EAGI或JACK。没有其他办法,因为星号需要完全控制“主”设备。否则,它会崩溃和燃烧(好吧,比有时更糟)。