小米盒子4(不是4c)(s905l)(mdz-21-aa)成功启动armbian
yicheng42 opened this issue · comments
分享一下你使用的dtb和u-boot组合是哪个?
抱歉,是我想的不是那么周到
DTB:meson-gxl-s905l-venz-v10
cat /boot/uEnv.txt
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-gxl-s905l-venz-v10.dtb
APPEND=root=UUID=d81a9344-84f7-426f-b5a8-1b6d12184904 rootflags=compress=zstd:6 rootfstype=btrfs console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
测试可以写入盒子,但后来我又刷回了(因为储存不够)
分享一下你使用的dtb和u-boot组合是哪个?
DTB:meson-gxl-s905l-venz-v10
uboot: cat /boot/uEnv.txt
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-gxl-s905l-venz-v10.dtb
APPEND=root=UUID=d81a9344-84f7-426f-b5a8-1b6d12184904 rootflags=compress=zstd:6 rootfstype=btrfs console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
谢谢分享,我添加到设备列表model里了。
谢谢分享,我添加到设备列表model里了。
好的,谢谢大佬
这个版本是否支持wifi网卡的使用?同样的设备MDZ-21-AA
这个版本是否支持wifi网卡的使用?同样的设备MDZ-21-AA
我分享一下我的方法,不知道是不是最简单的方法,希望能给大家一些思路,其他设备其他版本内核类似。
如何编译wifi驱动(以6.1.82-ophub版本内核为例)
由于ophub的armbian-s9xxx-armbian中,提供的linux-headers为x86-64编译版本,因此无法直接在armbian环境中编译安装驱动,需要使用一台x86-64主机。(个人理解,也许有其他方法)
准备硬件环境
一台编译主机(ubuntu),必须是x86_64,因为目前能获取的linux-headers是刷机自带的x86_64版本,假设可登陆用户是user@1.1.1.1
armbian主机(小米盒子4,驱动源码),可以插上手机,手机usb模式改为共享网络,armbian就可以上网了。手机和编译主机需连接在同一个局域网。
准备编译环境
在armbian系统上运行如下命令,将armbian系统自带linux headers传送到编译主机。
cd /usr/src/
tar czf armbian-linux-headers.tar.gz ./linux-headers-6.1.82-ophub
scp ./armbian-linux-headers.tar.gz user@1.1.1.1:/home/user
在编译主机上运行如下命令,准备好编译环境
cd /home/user
git clone https://github.com/lwfinger/rtl8723ds.git
tar xzf armbian-linux-headers.tar.gz
sudo apt update
sudo apt upgrade
sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
开始编译
在编译主机上运行下面的程序,其中有替换Makefile中的KSRC变量,以保证编译器使用正确的linux-headers(我们从armbian中传递出来的)。编译前还需要配置环境变量,以使用正确的架构、交叉编译器、linux头位置。
cd /home/user/rtl8723ds
sed -i 's@KSRC := /lib/modules/$(KVER)/build@KSRC ?= /lib/modules/$(KVER)/build@g' Makefile
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export KSRC=/home/user/linux-headers-6.1.82-ophub
make
cd ..
tar czf rtl8723ds.tar.gz ./rtl8723ds
编译过程大概需要30s,文件夹中会出现8723ds.ko,这就是目标驱动文件
安装驱动
回到armbian系统上拉取驱动文件,然后安装
cd /root
scp user@1.1.1.1:/home/user/rtl8723ds.tar.gz ./
tar xzf rtl8723ds.tar.gz
cd rtl8723ds
make install
modprobe 8732ds
此时查看系统网络接口,可以找到wifi
nmcli d show wlan0
armbian-config
我直接把我编译好的挂上,把这个上传到armbian,就可以直接跳到安装驱动那一步了。
rtl8723ds-6.1.82-ophub.tar.gz
这个版本是否支持wifi网卡的使用?同样的设备MDZ-21-AA
我分享一下我的方法,不知道是不是最简单的方法,希望能给大家一些思路,其他设备其他版本内核类似。
如何编译wifi驱动(以6.1.82-ophub版本内核为例)
由于ophub的armbian-s9xxx-armbian中,提供的linux-headers为x86-64编译版本,因此无法直接在armbian环境中编译安装驱动,需要使用一台x86-64主机。(个人理解,也许有其他方法)
准备硬件环境
一台编译主机(ubuntu),必须是x86_64,因为目前能获取的linux-headers是刷机自带的x86_64版本,假设可登陆用户是
user@1.1.1.1
armbian主机(小米盒子4,驱动源码),可以插上手机,手机usb模式改为共享网络,armbian就可以上网了。手机和编译主机需连接在同一个局域网。
准备编译环境
在armbian系统上运行如下命令,将armbian系统自带linux headers传送到编译主机。
cd /usr/src/ tar czf armbian-linux-headers.tar.gz ./linux-headers-6.1.82-ophub scp ./armbian-linux-headers.tar.gz user@1.1.1.1:/home/user
在编译主机上运行如下命令,准备好编译环境
cd /home/user git clone https://github.com/lwfinger/rtl8723ds.git tar xzf armbian-linux-headers.tar.gz sudo apt update sudo apt upgrade sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
开始编译
在编译主机上运行下面的程序,其中有替换Makefile中的KSRC变量,以保证编译器使用正确的linux-headers(我们从armbian中传递出来的)。编译前还需要配置环境变量,以使用正确的架构、交叉编译器、linux头位置。
cd /home/user/rtl8723ds sed -i 's@KSRC := /lib/modules/$(KVER)/build@KSRC ?= /lib/modules/$(KVER)/build@g' Makefile export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- export KSRC=/home/user/linux-headers-6.1.82-ophub make cd .. tar czf rtl8723ds.tar.gz ./rtl8723ds编译过程大概需要30s,文件夹中会出现8723ds.ko,这就是目标驱动文件
安装驱动
回到armbian系统上拉取驱动文件,然后安装
cd /root scp user@1.1.1.1:/home/user/rtl8723ds.tar.gz ./ tar xzf rtl8723ds.tar.gz cd rtl8723ds make install modprobe 8732ds此时查看系统网络接口,可以找到wifi
nmcli d show wlan0 armbian-config我直接把我编译好的挂上,把这个上传到armbian,就可以直接跳到安装驱动那一步了。 rtl8723ds-6.1.82-ophub.tar.gz
这个版本是否支持wifi网卡的使用?同样的设备MDZ-21-AA
我分享一下我的方法,不知道是不是最简单的方法,希望能给大家一些思路,其他设备其他版本内核类似。
如何编译wifi驱动(以6.1.82-ophub版本内核为例)
由于ophub的armbian-s9xxx-armbian中,提供的linux-headers为x86-64编译版本,因此无法直接在armbian环境中编译安装驱动,需要使用一台x86-64主机。(个人理解,也许有其他方法)
准备硬件环境
一台编译主机(ubuntu),必须是x86_64,因为目前能获取的linux-headers是刷机自带的x86_64版本,假设可登陆用户是
user@1.1.1.1
armbian主机(小米盒子4,驱动源码),可以插上手机,手机usb模式改为共享网络,armbian就可以上网了。手机和编译主机需连接在同一个局域网。
准备编译环境
在armbian系统上运行如下命令,将armbian系统自带linux headers传送到编译主机。
cd /usr/src/ tar czf armbian-linux-headers.tar.gz ./linux-headers-6.1.82-ophub scp ./armbian-linux-headers.tar.gz user@1.1.1.1:/home/user
在编译主机上运行如下命令,准备好编译环境
cd /home/user git clone https://github.com/lwfinger/rtl8723ds.git tar xzf armbian-linux-headers.tar.gz sudo apt update sudo apt upgrade sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
开始编译
在编译主机上运行下面的程序,其中有替换Makefile中的KSRC变量,以保证编译器使用正确的linux-headers(我们从armbian中传递出来的)。编译前还需要配置环境变量,以使用正确的架构、交叉编译器、linux头位置。
cd /home/user/rtl8723ds sed -i 's@KSRC := /lib/modules/$(KVER)/build@KSRC ?= /lib/modules/$(KVER)/build@g' Makefile export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- export KSRC=/home/user/linux-headers-6.1.82-ophub make cd .. tar czf rtl8723ds.tar.gz ./rtl8723ds编译过程大概需要30s,文件夹中会出现8723ds.ko,这就是目标驱动文件
安装驱动
回到armbian系统上拉取驱动文件,然后安装
cd /root scp user@1.1.1.1:/home/user/rtl8723ds.tar.gz ./ tar xzf rtl8723ds.tar.gz cd rtl8723ds make install modprobe 8732ds此时查看系统网络接口,可以找到wifi
nmcli d show wlan0 armbian-config我直接把我编译好的挂上,把这个上传到armbian,就可以直接跳到安装驱动那一步了。 rtl8723ds-6.1.82-ophub.tar.gz
非常感谢家银,但是我遇到了更严重的问题,由于小米盒子4只有一个usb口 需要用usbhub进行分线分别连接u盘和键盘。但是我的盒子一插上usbhub 就会在跑码阶段报错, 报的是ext4有关的错误,我上网搜了一下是频繁上电造成的读取错误。但是不连接usbhub压根没法对他进行操作,因为没有默认网卡连接无法ssh。没办法我只能上网找到150大佬编写的armbian 20.10针对n1盒子的版本。奇怪的是,那个版本不仅启动和刷入emmuc没问题,wifi驱动也是直接驱上了
非常感谢家银,但是我遇到了更严重的问题,由于小米盒子4只有一个usb口 需要用usbhub进行分线分别连接u盘和键盘。但是我的盒子一插上usbhub 就会在跑码阶段报错, 报的是ext4有关的错误,我上网搜了一下是频繁上电造成的读取错误。但是不连接usbhub压根没法对他进行操作,因为没有默认网卡连接无法ssh。没办法我只能上网找到150大佬编写的armbian 20.10针对n1盒子的版本。奇怪的是,那个版本不仅启动和刷入emmuc没问题,wifi驱动也是直接驱上了
我的小米盒子也有问题,但是我的情况相反,是插着usb hub能够正常使用,usb直接连U盘无法正常启动,启动到一半显示存储有问题,所以我只能将系统刷入emmc。我换了其他的镜像也是一样。
n1固件能刷进去,应该是CPU S905相互兼容。但n1的无线芯片是cyw43455,小米盒子4能直接使用应该是n1系统镜像中包含了rtl8732ds的驱动,但有没有其他小问题就不知道了。
非常感谢家银,但是我遇到了更严重的问题,由于小米盒子4只有一个usb口 需要用usbhub进行分线分别连接u盘和键盘。但是我的盒子一插上usbhub 就会在跑码阶段报错, 报的是ext4有关的错误,我上网搜了一下是频繁上电造成的读取错误。但是不连接usbhub压根没法对他进行操作,因为没有默认网卡连接无法ssh。没办法我只能上网找到150大佬编写的armbian 20.10针对n1盒子的版本。奇怪的是,那个版本不仅启动和刷入emmuc没问题,wifi驱动也是直接驱上了
我的小米盒子也有问题,但是我的情况相反,是插着usb hub能够正常使用,usb直接连U盘无法正常启动,启动到一半显示存储有问题,所以我只能将系统刷入emmc。我换了其他的镜像也是一样。 n1固件能刷进去,应该是CPU S905相互兼容。但n1的无线芯片是cyw43455,小米盒子4能直接使用应该是n1系统镜像中包含了rtl8732ds的驱动,但有没有其他小问题就不知道了。
还有 一个小问题,大佬,就是每次重启之后机器的mac都会改变。像是重新给wlan0这块网卡重载了一样。结果就导致nmcli和nmtui工具不能启动自动链接WiFi,因为每次都要创建新的连接(由于mac地址的改变)。目前的解决方法就是把链接命令写入启动脚本中,每次创建新的连接,但又无法手动配置静态ip和地址。想问问大佬手里的usbhub是什么牌子和型号,还有dbt和uboot都是用的哪个?
蓝牙正常吗?
我之前用这个教程刷的,蓝牙驱动没有https://blog.csdn.net/WangAddy/article/details/128787835
蓝牙正常吗? 我之前用这个教程刷的,蓝牙驱动没有https://blog.csdn.net/WangAddy/article/details/128787835
安装8723ds驱动,wifi正常,bluetooth不正常
我这里的无线网卡还是不行,安装https://github.com/lwfinger/rtl8723ds 报错
@hunksone
确定你是按照我说的做的么?我的方法是利用一台x86_64机器进行交叉编译,你的输出信息中显示你并没有使用交叉编译CROSS_COMPILE=
。不能直接在armbian上编译
简单一点的方法是刷6.1.82版本的系统,然后直接用我附件中编译好的安装。
make install
modprobe 8732ds
@hunksone 确定你是按照我说的做的么?我的方法是利用一台x86_64机器进行交叉编译,你的输出信息中显示你并没有使用交叉编译
CROSS_COMPILE=
。不能直接在armbian上编译 简单一点的方法是刷6.1.82版本的系统,然后直接用我附件中编译好的安装。make install modprobe 8732ds
最近修复了一下header打包,现在的最新内核应该是arm64格式了。
刷了最新的Armbian_24.8.0_amlogic_s905l_bookworm_6.6.41_server_2024.07.20.img.gz一直遇到wlan0 unavailble的问题,我的解决方法如下(没有用到重新编译driver,driver已经正常加载了):
$ uname -ra
Linux armbian 6.6.41-ophub #1 SMP Fri Jul 19 21:16:27 EDT 2024 aarch64 GNU/Linux
$ nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet unavailable --
wlan0 wifi unavailable --
$ sudo ifconfig wlan0 hw ether <YOUR MAC ADDR>
$ sudo systemctl restart NetworkManager
$ nmcli dev
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected Xiaomi_1111 1
eth0 ethernet unavailable --
mibox4,如果有root权限,不需要 卡载系统.apk 也可以从tf卡启动,直接在adb shell中用root权限运行 reboot update,就会从tf卡启动了
Armbian_24.8.0_amlogic_mibox4_bookworm_6.1.82_server_2024.07.27.img.gz
链接:https://pan.baidu.com/s/16nYCW4PpbbQXH9uSkONm9Q
提取码:ewan
基于Armbian_24.8.0_amlogic_s905l_bookworm_6.1.93_server_2024.06.15.img.gz,用armbian-update -k 6.1.82降了内核版本,集成上面的无线驱动,并安装好docker+portainer-ce。只要rufus刷写入U盘,开机接上键盘输入nmtui就可以设置无线连接。
用的是meson-gxl-s905l3b-m302a.dtb,没有任何修改,确定可以armbian-install安装到EMMC(选116),请大家帮忙测试一下。
顺便求一下蓝牙驱动,谢谢。
Armbian_24.8.0_amlogic_mibox4_bookworm_6.1.82_server_2024.07.27.img.gz 链接:https://pan.baidu.com/s/16nYCW4PpbbQXH9uSkONm9Q 提取码:ewan
基于Armbian_24.8.0_amlogic_s905l_bookworm_6.1.93_server_2024.06.15.img.gz,用armbian-update -k 6.1.82降了内核版本,集成上面的无线驱动,并安装好docker+portainer-ce。只要rufus刷写入U盘,开机接上键盘输入nmtui就可以设置无线连接。
用的是meson-gxl-s905l3b-m302a.dtb,没有任何修改,确定可以armbian-install安装到EMMC(选116),请大家帮忙测试一下。
顺便求一下蓝牙驱动,谢谢。
太棒了,成功安装,感谢!