-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Device Information | 设备信息
- SOC: [e.g. S095x3]gxlx_p261_1g,应该是S905L2【没有拆机】
- Model [e.g. HK1]MGV2000-CW
Armbian Version | 系统版本
- Kernel Version: [e.g. 5.15.100]6.6.53、5.10.228
- Release: [e.g. jammy/bullseye]bookworm
Describe the bug | 问题描述
Armbian_24.11.0_amlogic_s905l2_bookworm_6.6.53_server_2024.10.02.img.gz下HDMI有输出、有线正常,但无线、蓝牙未驱动。如果要写入EMMC需要修改默认meson-gxl-s905l2-x7-5g.dtb的mmc@74000,0xbebc200 -> 0x2faf080;写入EMMC选119(s905l2 MGV2000,MGV3000,M301A,CM201-1 meson-gxl-s905l2-x7-5g.dtb),写入后可正常使用。
希望板载MT7668RSN无线能用起来,爬了很多文发现只能在5.10内核中实现,经过一番折腾确实也成功了,iperf3内网实测可以跑140Mpbs左右,突破了百兆有线,有实际利用价值了。
过程整理:
前置作业
1、刷入安卓底包S905L2_A9_Armbian.img,引导U盘启动(紫屏按2次电源键可恢复正常;先进magisk后重启,再用外置系统启动器)
2、基于Armbian_24.11.0_amlogic_s905l2_bookworm_6.6.53_server_2024.10.02.img.gz用rufus制作U盘,使用默认dtb即meson-gxl-s905l2-x7-5g.dtb
3、MT7668驱动只适用内核5.10.x,运行armbian-update -k 5.10调整内核版本
4、5.10.x(实际是5.10.228)还需要启用extlinux\extlinux.conf,并复制u-boot-s905x-s912.bin为u-boot.ext,才能正常启动和使用
编译过程
1、对齐gcc版本
mkdir -p /usr/local/toolchain
cd /usr/local/toolchain
wget https://github.com/ophub/kernel/releases/download/dev/arm-gnu-toolchain-13.3.rel1-aarch64-aarch64-none-elf.tar.xz
tar -Jxf arm-gnu-toolchain-13.3.rel1-aarch64-aarch64-none-elf.tar.xz
echo 'export PATH=$PATH:/usr/local/toolchain/arm-gnu-toolchain-13.3.rel1-aarch64-aarch64-none-elf/bin/' | tee -a /etc/profile.d/gcc-aarch64-none-elf.sh
source /etc/profile
ln -sf /usr/local/toolchain/arm-gnu-toolchain-13.3.rel1-aarch64-aarch64-none-elf/bin/aarch64-none-elf-gcc /usr/local/bin/gcc
2、修改驱动源代码
cd /root
git clone -b 5.15 https://github.com/fujianzz/mt7668-ce
cd mt7668-ce/MT7668-WiFi/
sed -i 's/kernel_version/5.10.228-ophub/' /root/mt7668-ce/MT7668-WiFi/Makefile.x86
sed -i 's/x86/arm64/' /root/mt7668-ce/MT7668-WiFi/Makefile.x86
3、开始编译
make EXTRA_CFLAGS="-w" CROSS_COMPILE= -f Makefile.x86 -j$(nproc)
4、安装驱动
cp /root/mt7668-ce/MT7668-WiFi/7668_firmware/* /usr/lib/firmware/
cp -f /root/mt7668-ce/MT7668-WiFi/drv_wlan/MT6632/wlan/wlan_mt76x8_sdio.ko /lib/modules/5.10.228-ophub/kernel/drivers/net/wireless/
depmod -a
modprobe wlan_mt76x8_sdio
后续操作
1、删除临时文档(可选)
rm -rf /usr/local/toolchain/arm-gnu-toolchain-13.3.rel1-aarch64-aarch64-none-elf.tar.xz
rm -rf /root/mt7668-ce/
2、无线连接路由器(iperf3内网测速约140Mbps)
nmtui
3、写入EMMC(可选)
需要修改dtb/dts中mmc@74000的0xbebc200 -> 0x2faf080,才能写入EMMC
armbian-install -m yes(一定要加-m yes参数,才能正确生成u-boot.emmc)
选119,119 s905l2 MGV2000,MGV3000,M301A,CM201-1 meson-gxl-s905l2-x7-5g.dtb
总结和文档下载
链接:https://pan.baidu.com/s/19_nMbN06wxXuo9lUrt0DmA?pwd=iafy
提取码:iafy
1、安卓9底包:S905L2_A9_Armbian.rar
2、改过的5.10版本dtb:meson-gxl-s905l2-x7-5g.dtb
3、完整固件:Armbian_24.11.0_amlogic_s905l2_mgv2000-cw_wifi_bookworm_5.10.228_server_2024.10.02.img.gz(root/1234)
遗留问题:
1、如果直接用Armbian_24.11.0_amlogic_s905l2_mgv2000-cw_wifi_bookworm_5.10.228_server_2024.10.02.img.gz,第一次启动可能需要插拔网线才能取得IP【只需一次】
2、蓝牙不可用
3、关闭[wlan]相关跑码,太烦了
4、6.1、6.6内核适配MT7668
参考资料:
1、驱动编译:https://github.com/fujianzz/mt7668-armbian
2、缝合安卓底包:#2539
@ophub 搜索过issue,看到比较多MGV2000 JL版,不知道CW版有没有重复,麻烦视需要纳入适配清单。谢谢。