BCM4339 的 Nexus 5 无线驱动程序

Nexus 5 Wireless driver for BCM4339

我想使用 Nexus 5 处理接入点 (AP) 和省电模式 (PSM) 行为,它有一个 BCM4339无线芯片组。

目前,有 4 个驱动程序(1 个实验性)可用于 Broadcom 芯片组:

由于关于这个特定芯片组的文档有点模糊,我的问题是:

编辑: 我发现我的芯片组有一个 SDIO 接口,所以使用的驱动程序是 FullMAC 驱动程序 (brcmfmac)。如果我理解正确,这意味着我无法对其进行任何修改,因为 MAC 层是在硬件中编码的......任何人都可以证实这一点?还有其他选择吗?

回答我自己的问题:

BCM4339(Nexus 5 内部的芯片)有一个 SDIO 接口,这意味着它有一个在 HARDWARE 中实现的驱动程序(这些设备通常命名为 HardMAC 设备)。

支持BCM4339的驱动是brcmfmac(驱动的SoftMAC版本是brcmfsmac).此驱动程序不可修改,因为它是专有固件。

如果你想修改源代码(为了实验),你不能用这个芯片来做。您将需要另一个无线芯片组(最好是 Atheros 芯片组,由开源驱动程序 ath9k 支持。

我的选择是将 USB 网络适配器添加到我的 Android 设备并使用其上的 Atheros 芯片组。我通过驱动程序 ath9k.

编程修改

据我所知,TI芯片组还允许您修改源代码(用于实验)。 Atheros 也做你提到的工作。

尽管 BCM4339 是全MAC 或硬MAC 芯片,它处理所有 PHY 和 MAC 层处理中包含的 ARM Cortex-R4 处理器BCM4339 片上系统,可以更改该微控制器上的固件 运行。

为此,我们开发了一个 C-based 补丁框架,允许用 C 语言为原始固件编写补丁。我们用它来启用 BCM4339 的监控模式。如果您对该项目感兴趣,请在 https://seemoo.tu-darmstadt.de/nexmon

查看我们的 nexmon 项目