关于Wyse3040如何自定义编译Openwrt并刷入,自行搜索即可,方法都比较成熟。这里只记录如何启用无线网卡。
Wyse 3040 预装的无线网卡是 Azurewave AW-CM389MA,芯片是Marvell 88W8897,SDIO接口。
Kernel modules-> Wireless Drivers, 勾选kmod-mwifiex-sdio
Firmware-> mwifiex-sdio-firmware为依赖项,会自动勾选,注意,Openwrt自带的mwifiex-sdio-firmware只支持Marvell 8887/8997 firmware,不支持8897,有两种方式启用8897的支持。
1.先编译固件,刷写并启动后,在Openwrt源文件夹下查找sd8897_uapsta.bin, 并拷贝到Wyse 3040的 /lib/firmware/mrvl目录下,重启;缺点是每次固件升级都需要重新拷贝一次。
2.对源文件进行修改.
gedit package/firmware/linux-firmware/marvell.mk
大概在Line 23附近:
Package/mwifiex-sdio-firmware = $(call Package/firmware-default,Marvell 8887/8997 firmware)
define Package/mwifiex-sdio-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mrvl
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/mrvl/sd8887_uapsta.bin \
$(PKG_BUILD_DIR)/mrvl/sdsd8997_combo_v4.bin \
$(1)/lib/firmware/mrvl/
ln -s ../mrvl/sdsd8997_combo_v4.bin $(1)/lib/firmware/mrvl/sd8997_uapsta.bin
endef
$(eval $(call BuildPackage,mwifiex-sdio-firmware))
改为:
Package/mwifiex-sdio-firmware = $(call Package/firmware-default,Marvell 8887/8897/8997 firmware)
define Package/mwifiex-sdio-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/mrvl
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/mrvl/sd8887_uapsta.bin \
$(PKG_BUILD_DIR)/mrvl/sd8897_uapsta.bin \
$(PKG_BUILD_DIR)/mrvl/sdsd8997_combo_v4.bin \
$(1)/lib/firmware/mrvl/
ln -s ../mrvl/sdsd8997_combo_v4.bin $(1)/lib/firmware/mrvl/sd8997_uapsta.bin
endef
$(eval $(call BuildPackage,mwifiex-sdio-firmware))
就是增加了这一行(强迫症,我顺带把描述行也改了):
$(PKG_BUILD_DIR)/mrvl/sd8897_uapsta.bin \
Network -> WirelessAPD,勾选hostapd、wpa-supplicant
否则无法连接管理加密的无线,其实hostapd可以不选,因为后面发现8897不支持AP模式。
保存,然后重新编译,刷入EMMC,Enjoy it。