大家好,我是 Archer,那个困扰我几年之久的问题,终于解决了。
Openwrt 的 gadget-eth 网卡,在19.07.3版本,终于能用啦!(Ohhhhhhhhhh!)
这里我仅仅验证了19.07.3版本,19.07.4版本应该没问题。
首先,搞一个树莓派ZW,一个OTG的USB分线器,还有一个USB以太网卡,一个键盘,一个屏幕,另一台电脑。这就是调试这个用法所需要的设备。
然后,去下载这个系统镜像,然后往一张大于512M的TF卡上,烧录这个系统。烧录好之后,不要先拔出储存卡,然后下载这些驱动包,放在TF卡的引导分区里面(Fat32那个分区)。
kmod-usb-net_4.14.180-1_arm_arm1176jzf-s_vfp.ipk
kmod-mii_4.14.180-1_arm_arm1176jzf-s_vfp.ipk
最后一个视乎你有什么以太网卡,看芯片,下载其中一个包:
kmod-usb-net-asix-ax88179_4.14.180-1_arm_arm1176jzf-s_vfp.ipk(任天堂Switch主机和安卓手机等设备通用网卡)
kmod-usb-net-asix_4.14.180-1_arm_arm1176jzf-s_vfp.ipk(任天堂Wiiu主机及安卓手机等设备通用网卡)
kmod-usb-net-rtl8152_4.14.180-1_arm_arm1176jzf-s_vfp.ipk(小螃蟹USB2和USB3网卡的通用驱动)
kmod-usb-net-dm9601-ether_4.14.180-1_arm_arm1176jzf-s_vfp.ipk(电脑城坑爹10M低速网卡)
kmod-usb-net-mcs7830_4.14.180-1_arm_arm1176jzf-s_vfp.ipk(MCS7830网卡的驱动)
然后把储存卡插到树莓派ZW上,街上网卡键盘屏幕,然后通电开机。
开机之后,首先切换到fat32分区。
cd /boot
然后再安装放在引导分区里面的三个驱动包(第三个驱动包根据自己的网卡自选)
opkg install kmod-usb-net_4.14.180-1_arm_arm1176jzf-s_vfp.ipk kmod-mii_4.14.180-1_arm_arm1176jzf-s_vfp.ipk kmod-usb-net-dm9601-ether_4.14.180-1_arm_arm1176jzf-s_vfp.ipk
安装完毕之后,可以通过修改Lan口参数:
vi /etc/config/network
然后修改(此处请按照自家网络实际参数进行设置,此处仅供参考)
config interface ‘lan’ option type ‘bridge’ option proto ‘static’ option netmask ‘255.255.255.0’ option ip6assign ’60’ list dns ‘180.76.76.76’ option ipaddr ‘192.168.254.1’ option ifname ‘eth0’
修改之后,再执行更换软件源的指令
sed -i ‘s_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_’ /etc/opkg/distfeeds.conf
这样重启之后,把网卡的网线跟另一台电脑连接之后,电脑就可以通过浏览器输入192.168.254.1来网页遥控树莓派ZW。
可以网页控制树莓派之后,首先去network ——firewall处,去修改防火墙配置,找到Zone,把wan→REJECT处的两处reject改成accept,这样就可以上层网络访问路由器了。
然后去network —— wireless处,找到Scan选项,扫描自家的WiFi,然后配置,加入,这样就联网成功了。之后把树莓派和电脑之间连接的网线拔开,把自己的电脑连接上层的网络,然后扫描IP地址,找到树莓派ZW的IP,浏览器输入IP继续网页遥控树莓派ZW。
进去网页控制之后,去network —— interfaces处,编辑LAN口,找到physical setting,把eth0网卡给取消掉,再去 system——software 处,去installed列表,把USB网卡的三个驱动包给删除掉,然后点update lists,去更新软件列表,然后安装一下软件包 kmod-usb-gadget kmod-usb-gadget-eth kmod-usb-dwc2。
修改 /boot/config.txt,往文本末尾加一行:
dtoverlay=dwc2
再修改/etc/rc.local,在exit0前加一行:
modprobe g_ether
下次开机,就会自动加载gadget-eth网卡驱动,然后把ZW的OTG口接上安卓手机数据线连到电脑,你的电脑就能感知到RNDIS设备了(如果Win10,还需要驱动)
接下来只要开着网页,把usb0接口添加到lan界面,电脑就可以通过树莓派上网了。
这个东西其实还有高阶玩法,例如安装aircrack-ng ,reaver等软件,剩下的你们都懂,或者钓鱼截包等都可以。由于采用openwrt这种轻量级系统,系统占用资源降到最低,可以用于更加高阶的需求,是一件给高手的玩具,虽然有基于kali的开源项目P4wnP1,但多一个openwrt的选项未尝不好,而且openwrt跟电脑的连接其实更加灵活,除了g_ether网卡模式以外,还可以安装kmod-usb-gadget-serial串口驱动包和kmod-usb-gadget-mass-storage储存模式等可选,这样一件玩具,希望大家喜欢。
我想把这玩意命名为大师网卡,因为塞尔达玩久了,发现强力的不是大师之剑,而是能打通剑之试炼的玩家。
附:
最后附上 Archer 制作好了的系统镜像文件,可以直接烧录好给树莓派 ZeroW 使用。
链接: https://pan.baidu.com/s/1UmQml_ltZIFNgg-KxMIVMw 提取码: 13rd