Pwnagotchi
w/RPi Zero 2W and ups-lite V1.3
主要使用新的pwnagotchi镜像(适配64位)
对于Pwnagotchi w/RPi Zero 2W
而言,有三大部分需要修复
- 移植
Nexmon
的WiFi Monitor
驱动至新内核 - 修复蓝牙网络共享
ups-lite
插件适配ups-lite v1.3
下面将分项进行记录
1. 移植Nexmon
由于项目中发布的镜像可能较旧需要使用sudo apt update; sudo apt upgrade
进行更新,其中内核可能也存在更新从而可能使之前修补好的WiFi驱动
还原位官方版本,从而失去Monitor
模式类似于有线网卡的混杂模式 这点可以通过输入命令iw list
/iw dev
来确认
修复步骤:
- 克隆
nexmon
源:git clone https://github.com/seemoo-lab/nexmon.git
*项目较大,约2G - (Optional)修复
setup_env.sh
因文件新行可能与`Linux`格式不符,需使用如下命令修复:
`sed -i 's/\r$//' [文件名]`
参考项目
Readme.md
中步骤source setup_env.sh
sudo apt install raspberrypi-kernel-headers git libgmp3-dev gawk qpdf bison flex make autoconf libtool texinfo
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install libc6:armhf libisl23:armhf libmpfr6:armhf libmpc3:armhf libstdc++6:armhf
检查动态库
ls -alh /usr/lib/arm-linux-gnueabihf
- 确认
libisl.so.23.*
和libmpfr.so.6.*
并创建链接 sudo ln -s /usr/lib/arm-linux-gnueabihf/libisl.so.23.* /usr/lib/arm-linux-gnueabihf/libisl.so.10
sudo ln -s /usr/lib/arm-linux-gnueabihf/libmpfr.so.6.* /usr/lib/arm-linux-gnueabihf/libmpfr.so.4
(Optional) 如有需要,降级驱动 *参考这个repo
编译驱动
- `cd patches/bcm43430a1/7_45_41_46/nexmon/`
- `make`
- `make install-firmware`
- 固化驱动 *参考这个链接
-
modinfo brcmfmac
查看内核驱动路径 - 备份驱动 - 去往patches/driver/brcmfmac_[内核版本]-nexmon
- 复制brcmfmac.ko.xz
至/lib/modules/[内核版本]/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/
(之前的驱动路径) -depmod -a
-sudo reboot
- 通过
iw list
验证功能列表中存在Monitor
2. 修复蓝牙网络共享
- 【需验证】 使用默认环境可能存在可以配对但无法链接蓝牙的问题,可以通过
sudo apt install libspa-0.2-bluetooth
3. ups-lite
插件适配ups-lite v1.3
- 使用(https://github.com/PhreakBoutique/UPSLite_Plugin_1_3/blob/main/upslite_plugin_1_3.py)来替换插件文件
- 插件文件:
/usr/local/lib/python3.11/dist-packages/pwnagotchi/plugin/default/ups-lite.py
- (Optional)如
ups-lite
因电量过低导致SOC
失效,需使用这个Python脚本来刷新数据,运行一次后即可正常工作