【问题标题】:How mobile OS talks to baseband OS [duplicate]移动操作系统如何与基带操作系统对话 [重复]
【发布时间】:2014-08-25 11:38:10
【问题描述】:

我正在尝试修改移动操作系统,以便我可以控制接听哪个呼叫,拒绝哪个呼叫,以及运行一些信号处理。

我正在使用 Android 操作系统,但我需要与基带操作系统交谈,我相信有某种方式,每当我们接到电话时,移动操作系统的用户界面就会变得栩栩如生,以及我们是否想接或拒绝呼叫 - 可以在移动操作系统层做出此决定,然后将其传输到基带操作系统!

我试图在谷歌中找到,但找不到关于基带操作系统和移动操作系统之间存在什么样的接口的东西。

我们将不胜感激!

【问题讨论】:

  • 后门利用此接口的示例,请参阅Samsung Galaxy Backdoor。这可能是了解此界面的一般工作原理的一个很好的起点。

标签: android mobile operating-system


【解决方案1】:

Android 中与无线电通信的主要机制是 /dev/smd0,它实现了一个带有许多扩展命令的 AT 调制解调器。我不知道该设备是如何实现的,但我建议查看其来源。我相信它本质上是连续的。

操作系统(如果我记得的话)有一个守护程序,用于监视该设备并与之交互。

例如,当手机需要基带在移动网络上注册时,它可以向该设备发送AT+CREG=1,基带会处理它(并返回0)。要拨打电话,它将向该设备发送ATD8005551212 或其他内容。要接听电话,它将发送ATA;挂断它会发送ATH,就像调制解调器一样。

该设备上的来电事务看起来像这样。基带会在/dev/smd0上打印+CRING: VOICE,操作系统可以发送AT+CLCC来获取调用方ID,其格式为扩展状态消息:+CLIP: "+18555551212",,,,""或其他。

我了解有时设备名称会有所不同;它可能是/dev/ttyUSB0,例如,如果基带接口实现为 USB 串行端口。

您将在系统应用层执行此操作,而不是在内核内部,我相信这是正确的处理方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2014-05-27
    • 2022-01-10
    • 2010-10-23
    • 1970-01-01
    • 2011-07-08
    相关资源
    最近更新 更多