3

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

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

  • Broadcom-iw(专有)。固件,因此无法更改。
  • brcm80211(基于博通开源mac80211)。不支持 AP 模式。
  • b43(逆向工程)。最佳选择,因为它支持 AP、省电模式 (PSM)、主模式(或监控模式)。
  • bcmon(基于实验性 brcm80211 的驱动程序)。支持 AP 和监控模式,可以修改为支持省电模式。

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

  • Nexus 5 上使用的“默认”无线驱动程序是什么?
  • BCM4339支持b43?根据此页面,Broadcom-BCM43xx应该,但未在此页面上列出B43 - 已知 PCI 设备
  • 如果确实支持b43,那么切换到 b43 驱动程序的程序是什么?

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

4

3 回答 3

3

Even though the BCM4339 is a FullMAC or HardMAC chip, that handles all PHY and MAC layer processing in an ARM Cortex-R4 processor that is included in the BCM4339 system on chip, it is possible to change the firmware running on that microcontroller.

To do this, we developed a C-based patching framework, that allows to write patches to the original firmware in C. We used it to enable monitor mode on the BCM4339. If you are interested in the project, please take a look at our nexmon project at https://seemoo.tu-darmstadt.de/nexmon

于 2016-01-04T12:57:52.903 回答
2

回答我自己的问题:

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

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

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

My option was to add an USB Network Adapter to my Android device and use the Atheros chipset present on it. I programmed modifications through the driver ath9k.

于 2015-06-04T02:09:58.017 回答
2

As far as I know, TI chipsets also allow you to modify source code (for experiments). Atheros also does the job as you mentioned.

于 2015-10-02T18:33:11.773 回答