我希望使用 Nexus 5 处理接入点(AP)和省电模式(PSM)行为,其中 BCM4339 无线芯片组。
目前,Broadcom芯片组有4个驱动程序(1个实验性):
由于文档在这个特定的芯片组上有点模糊,我的问题是:
编辑:我发现我的芯片组有一个SDIO接口,所以使用的驱动程序是一个FullMAC驱动程序(brcmfmac)。如果我理解正确,这意味着我不能对它进行任何修改,因为MAC层是用硬件编码的......有人要证实这一点吗?任何替代方案?
答案 0 :(得分:3)
即使BCM4339是FullMAC或HardMAC芯片,它处理包含在片上BCM4339系统的ARM Cortex-R4处理器中的所有PHY和MAC层处理,也可以更改在该微控制器上运行的固件
为此,我们开发了一个基于C的修补框架,允许在C中为原始固件编写补丁。我们使用它在BCM4339上启用监控模式。如果您对该项目感兴趣,请查看https://seemoo.tu-darmstadt.de/nexmon
上的nexmon项目答案 1 :(得分:2)
回答我自己的问题:
BCM4339(Nexus 5中的芯片)有一个 SDIO接口,这意味着它有一个用 HARDWARE 实现的驱动程序(这些设备通常被命名为 HardMAC设备强>)。
支持BCM4339的驱动程序是 brcmfmac (驱动程序的SoftMAC版本为 brcmfsmac )。此驱动程序 NOT 可修改,因为它是专有固件。
如果你想修改源代码(用于实验),你不能用这个芯片做。您将需要另一个无线芯片组(最好是 Atheros 芯片组,由开源驱动程序 ath9k 支持)。
我的选择是将USB网络适配器添加到我的Android设备并使用其上的Atheros芯片组。我通过驱动程序 ath9k 编程修改。
答案 2 :(得分:2)
据我所知,TI芯片组还允许您修改源代码(用于实验)。 Atheros也像你提到的那样完成工作。