
Broadcom/Cypress WiFiチップ向けのCベースのファームウェアパッチフレームワークで、モニターモード、フレームインジェクションなどを可能にします。

Nexmon は、Broadcom/Cypress WiFi チップ向けの C 言語ベースのファームウェアパッチフレームワークです。これを使用すると、例えば radiotap ヘッダー付きモニターモードやフレームインジェクションを有効にするなど、独自のファームウェアパッチを作成できます。
以下に、nexmon で可能なことの概要を示します。このリポジトリは主に、多くのチップでモニターモードとフレームインジェクションを有効にすることに焦点を当てています。追加機能が必要な場合は、次のプロジェクトが参考になるかもしれません:
当社のソフトウェアはハードウェアを損傷し、ハードウェアの保証を無効にする可能性があります。当社のツールは自己責任で使用してください。これらの条件に同意できない場合は、nexmon を使用しないでください。
現在、以下のデバイスが nexmon ファームウェアパッチでサポートされています。
| WiFi チップ | ファームウェア バージョン | 使用デバイス | オペレーティング システム | M | RT | I | FP | UC | CT |
|---|---|---|---|---|---|---|---|---|---|
| bcm4330 | 5_90_100_41_sta | Samsung Galaxy S2 | Cyanogenmod 13.0 | X | X | X | X | O | |
| bcm4335b0 | 6.30.171.1_sta | Samsung Galaxy S4 | LineageOS 14.1 | X | X | X | X | O | |
| bcm4339 | 6_37_34_43 | Nexus 5 | Android 6 ストック | X | X | X | X | X | O |
| bcm43430a11 | 7_45_41_26 | Raspberry Pi 3 and Zero W | Raspbian 8 | X | X | X | X | X | O |
| bcm43430a11 | 7_45_41_46 | Raspberry Pi 3 and Zero W | Raspbian Stretch | X | X | X | X | X | O |
| bcm43439a07 | 7_95_49 (2271bb6 CY) | Raspberry Pi Pico W | Pico SDK | X | X | X | X | ||
| bcm43451b1 | 7_63_43_0 | iPhone 6 | iOS 10.1.1 (14B100) | X | X | ||||
| bcm43455 | 7_45_77_0_hw | Huawei P9 | Android 7 ストック | X | X | X | X | X | |
| bcm43455 | 7_120_5_1_sta_C0 | Galaxy J7 2017 | ? | X | X | ||||
| bcm43455 | 7_45_77_0_hw(8-2017) | Huawei P9 | Android 7 ストック | X | X | X | X | X | |
| bcm434555 | 7_46_77_11_hw | Huawei P9 | Android 8 中国版ストック | X | X | X | X | X | |
| bcm43455 | 7_45_59_16 | Sony Xperia Z5 Compact | LineageOS 14.1 | X | X | X | X | X | |
| bcm43455c0 | 7_45_154 | Raspberry Pi B3+/B4 | Raspbian Kernel 4.9/14/19 | X | X | X | X | ||
| bcm43455c0 | 7_45_189 | Raspberry Pi B3+/B4 | Raspbian Kernel 4.14/19, 5.4 | X | X | X | X | ||
| bcm43455c0 | 7_45_206 | Raspberry Pi B3+/B4 | Raspberry Pi OS Kernel 5.4 | X | X | X | X | X | |
| bcm43455c0 | 7_45_234 (4ca95bb CY) | Raspberry Pi B3+/B4/5 | Raspberry Pi OS | X | X | ||||
| bcm43436b03 | 9_88_4_65 | Raspberry Pi Zero 2 W | Raspberry Pi OS Kernel 5.10 | X | X | X | X | X | |
| bcm4356 | 7_35_101_5_sta | Nexus 6 | Android 7.1.2 | X | X | X | X | O | |
| bcm4358 | 7_112_200_17_sta | Nexus 6P | Android 7 ストック | X | X | X | X | O | |
| bcm4358 | 7_112_201_3_sta | Nexus 6P | Android 7.1.2 ストック | X | X | X | X | O | |
| bcm43582 | 7_112_300_14_sta | Nexus 6P | Android 8.0.0 ストック | X | X | X | X | X | O |
| bcm43596a03 | 9_75_155_45_sta_c0 | Samsung Galaxy S7 | Android 7 ストック | X | O | X | |||
| bcm43596a03,2 | 9_96_4_sta_c0 | Samsung Galaxy S7 | LineageOS 14.1 | X | X | X | O | X | |
| bcm4375b13,5,6 | 18_38_18_sta | Samsung Galaxy S10 | root化 + SELinux無効 | X | X | X | O | X | |
| bcm4375b13,5,6 | 18_41_8_9_sta | Samsung Galaxy S20 | root化 + SELinux無効 | X | X | X | O | X | |
| bcm4389c15,8,9 | 20_82_42_sta (r994653) | Samsung Galaxy S22 Plus | Android 14、Magisk で root化 | X | X | ||||
| bcm4389c15,8,9 | 20_101_36_2 (r994653) | Google Pixel 7 and 7 Pro | Magisk で root化 | X | X | ||||
| bcm4389c15,8,9 | 20_101_57 (r1035009) | Google Pixel 7 and 7 Pro | Magisk で root化 | X | X | ||||
| bcm4398d05,8,9 | 24_671_6_9 (r1031525) | Google Pixel 8 | Magisk で root化 | X | X | ||||
| bcm6715b05 | 17_10_188_6401 (r808804) | Asus RT-AX86U Pro | 純正ファームウェア 3.0.0.4_388.23565 | / | X | ||||
| qca95004 | 4-1-0_55 | TP-Link Talon AD7200 | カスタム LEDE イメージ |
1 bcm43430a1 は、以前は誤って bcm43438 とラベル付けされていました。
2 ioctl を介してフレームをインジェクションするには、LD_PRELOAD=libfakeioctl.so の代わりに LD_PRELOAD=libnexmon.so を使用してください。
3 フラッシュパッチは 8 バイト長で、8 バイト境界に整列している必要があります。
4 初の 60 GHz Wi-Fi ルーター Talon AD7200 に搭載されている 802.11ad Wi-Fi チップです。nexmon-arc を使用してファームウェアにパッチを適用し、カスタム LEDE イメージ lede-ad7200 で実行してください。
5 nexmon コードと干渉するため、リージョン 1 の実行保護 (Execute Never と呼ばれる) を無効にしました (Section で Permission fault が発生)。
6 nexutil を使用するには、SELinux を無効にするか、permissive に設定する必要があります。
7 nexmon で Pico SDK を使用するアプリケーションの例については、pico-nexmon を参照してください。
8 フラッシュパッチは 16 バイト長で、16 バイト境界に整列している必要があります。
9 ファームウェア、nexutil のインストールと SELinux ポリシーの設定に Magisk モジュールを使用します。