
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 Stock | 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 Stock | 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 Stock | X | X | X | X | X | |
| bcm434555 | 7_46_77_11_hw | Huawei P9 | Android 8 China Stock | 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 Stock | X | X | X | X | O | |
| bcm4358 | 7_112_201_3_sta | Nexus 6P | Android 7.1.2 Stock | X | X | X | X | O | |
| bcm43582 | 7_112_300_14_sta | Nexus 6P | Android 8.0.0 Stock | X | X | X | X | X | O |
| bcm43596a03 | 9_75_155_45_sta_c0 | Samsung Galaxy S7 | Android 7 Stock | 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 | 루팅됨 + SELinux 비활성화 | X | X | X | O | X | |
| bcm4375b13,5,6 | 18_41_8_9_sta | Samsung Galaxy S20 | 루팅됨 + SELinux 비활성화 | X | X | X | O | X | |
| bcm4389c15,8,9 | 20_82_42_sta (r994653) | Samsung Galaxy S22 Plus | Android 14, Magisk로 루팅됨 | X | X | ||||
| bcm4389c15,8,9 | 20_101_36_2 (r994653) | Google Pixel 7 and 7 Pro | Magisk로 루팅됨 | X | X | ||||
| bcm4389c15,8,9 | 20_101_57 (r1035009) | Google Pixel 7 and 7 Pro | Magisk로 루팅됨 | X | X | ||||
| bcm4398d05,8,9 | 24_671_6_9 (r1031525) | Google Pixel 8 | Magisk로 루팅됨 | 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 모듈을 사용합니다.