ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
6.15k stars 1.97k forks source link

腾讯极光盒子3pro(S905X3-B)盒子测试 #506

Closed livelier closed 2 years ago

livelier commented 2 years ago

你好,o大 我在测试一款S905X3盒子,因为dtb中没有对应这款盒子的型号,抱着试试看的想法,所以每个dtb都测试了1次 测试镜像是 Armbian_22.08.0_Aml_s905x3_jammy_5.10.136_server_2022.08.14 使用tf卡+读卡器接usb接口,测试了如下dtb及测试结果

1 可以进入系统 识别网卡 系统负载52%左右

meson-sm1-a95xf3-air-gbit.dtb
meson-sm1-h96-max.dtb meson-sm1-h96-max-x3.dtb meson-sm1-hk1box-vontar-x3.dtb meson-sm1-tx3-qz.dtb meson-sm1-ugoos-x3.dtb meson-sm1-x96-air-gbit.dtb meson-sm1-x96-max-plus-100m.dtb meson-sm1-x96-max-plus.dtb

2 可以进入系统 不识别网卡 系统负载28%左右

meson-sm1-a95xf3-air.dtb meson-sm1-tx3-bz.dtb meson-sm1-x96-air.dtb meson-sm1-x96-max-plus-ip1001m-2.dtb meson-sm1-x96-max-plus-ip1001m.dtb

3 可以进入系统,wifi bt 不识别 系统负载52-54%左右

meson-sm1-bananapi-m5.dtb meson-sm1-odroid-c4.dtb meson-sm1-odroid-hc4.dtb

4 可以引到,但不能进入系统 提示 缺少模块,uuid不存在等

meson-sm1-khadas-vim3l.dtb meson-sm1-sei610.dtb meson-sm1-x96-max-plus-q2.dtb

测试发现问题,

使用 #1,#2的dtb 都存在一样的问题,wifi和bt,不能同时驱动起来,只能驱动其中一个,驱动后可正常使用

btmtksdio.ko文件改名,后重启后wifi即可正常使用,反之bt可正常使用 发现以下两个文件,wifi和bt谁先加载谁就可以正常使用,后加载的会提示找不到mt7663pr2h.bin和无法加载这两个文件mt7663pr2h_rebb.bin /usr/lib/firmware/mediatek/mt7663pr2h.bin /usr/lib/firmware/mediatek/mt7663pr2h_rebb.bin

我知道这个问题应该是盒子硬件和 dtb或驱动没有正确匹配所致,可能需要专用的dtb或是驱动,因为镜像里没有这款盒子的dtb文件

盒子没有螺丝,我先研究一下怎么拆开,稍后我提供一下电路板照片

稍后请o大,看一下硬件,系统后续能否对这款盒子给到支持,谢谢你

第一次githun 反馈测试问题 不太懂这上边的规矩,如有不妥,还请指正,再次谢谢

xcray commented 2 years ago

能启动进入系统,已经是很好的效果了。

只是系统负载咋那么高?这个实在难以理解,什么进程导致的?

建议这种测试不要用5.10+的内核,而是用5.9及以下或5.15的内核,这样可以避开uboot带来的干扰,先把dtb弄明白

ophub commented 2 years ago

什么盒子,名称,soc,网卡芯片,蓝牙、无线型号是什么

使用5.15内核的固件,只用测试对了dtb即可使用。 使用5.10内核的固件,你如果也能启动使用,说明u-boot也是正确的。 htop命令可以看看负载高的进程是哪个

livelier commented 2 years ago

稍后我测试一下5.15内核版本,在查一下高负载进程

腾讯极光盒子3pro 型号LB2004 版本号A4901 12V 1A圆口供电 安卓主机名SKYBOX-A4091 芯片: S905X3-B 网卡: RTL8211F 蓝牙/无线: MT7661RSN LED驱动器: TCA6507 MT7661RSN.pdf TCA6507.pdf

c0c6b15c88455a7166e324ea632b8c9-1 fb652bd19ae683766632766e64059d6-1 2bb7941a63629a5389771c777336eba-1

ophub commented 2 years ago

Amlogic新设备制作u-boot和dtb操作说明.docx 安卓分区布局表模板.xlsx

s905x3-b第一次见,mt7663模块也是第一次见。 几个月前flippy大佬指导过我定制uboot,我跟着操作了一遍,最后一步用源码编译最终uboot文件我没有实际操作过。我把原材料的提取整理成了文档,你按照这个操作,把你盒子的这些文件提取下发上来。我转给他,给你定制专用uboot,试试能否完美驱动你的盒子。

你使用armbian-ddbr先备份一下安卓系统,以便在下面的测试失败时还原系统

a520ass commented 2 years ago

mt7661rsn就是mt7663?我也有个mt7661rsn wifi的,没驱动

ophub commented 2 years ago

mt7663模块还是第一次见,虽然有驱动,但不一定稳定

ophub commented 2 years ago

你用的哪个dtb是不同的内核均可顺利启动?千兆有线可以正常使用?

livelier commented 2 years ago

分别的5.10自带和5.15自带,没有替换,原本dtb是千兆的 路由器就显示是1G 全双工 模式 没有跑数据测有线网卡 ,晚点我再试试替换不同内核自带的dtb是怎么样的结果

ophub commented 2 years ago

meson-sm1-x96-max-plus-100m.dtb 这个是默认的s905x3的dtb是百兆的。

ophub commented 2 years ago

你的意思是在不同系列的内核里,以下这些都可以启动?蓝牙和无线其中一个可以使用?

meson-sm1-a95xf3-air-gbit.dtb
meson-sm1-h96-max.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-x96-air-gbit.dtb

btmtksdio.ko改名你具体是怎么操作的?

ophub commented 2 years ago

dmesg 日志发一份完整的

livelier commented 2 years ago

meson-sm1-x96-max-plus-100m.dtb 这个是默认的s905x3的dtb是百兆的。

这个启动是100m ,每测试一个dtb都要修改一次 /bootuEnv.txt FDT=/dtb/amlogic/meson-sm1-xxxx.dtb

livelier commented 2 years ago

你的意思是在不同系列的内核里,以下这些都可以启动?蓝牙和无线其中一个可以使用?

meson-sm1-a95xf3-air-gbit.dtb
meson-sm1-h96-max.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-x96-air-gbit.dtb

不是的,是在各自内核版本img内自带的dtb /boot/dtb/amlogic/.dtb 比如5.10.136 的就用这个img自带的.dtb,没有使用5.15.61 img带有的*.dtb来测试5.10.136,我看到他们的文件大小区别很大,前面就没有替换测试

btmtksdio.ko改名你具体是怎么操作的?

btmtksdio.ko文件名改为btmtksdio.ko.bak

ophub commented 2 years ago

我的意思是,在不同的内核里面dtb文件名是一样的,不是让你复制,是问哪几个dtb是千兆有线网络可以正常使用的?有wifi或牙可以启用?

第一个问题:以下名字的文件是不是在各自不同的内核里都可用?

meson-sm1-a95xf3-air-gbit.dtb
meson-sm1-h96-max.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-x96-air-gbit.dtb

第二个问题:发一份更改dtb名字后完整的正确启动日志:dmesg

livelier commented 2 years ago

抱歉,o大,容我理一下,可能我说的有点乱

livelier commented 2 years ago

第二个问题:发一份更改dtb名字后完整的正确启动日志:dmesg

Armbian_22.08.0_Aml_s905x3_jammy_5.10.136_server_2022.08.20.img /boot/uEnv.txt FDT=/dtb/amlogic/meson-sm1-x96-max-plus-100m.dtb 改成 FDT=/dtb/amlogic//meson-sm1-x96-max-plus.dtb 正常启动,网卡千兆,winscp和putty连接,没改动其他任何文件 dmesg.txt

livelier commented 2 years ago

这是安装蓝牙armbian-config > BT install 重启后的 dmesg.txt image

livelier commented 2 years ago

这是把btmtksdio.ko文件名改为btmtksdio.ko.bak 重启后的 dmesg.txt

image image

livelier commented 2 years ago

这是把 btmtksdio.ko.bak 改回 btmtksdio.ko 重启后的 dmesg.txt image

a520ass commented 2 years ago

把btmtksdio.ko文件名改为btmtksdio.ko.bak ,我的mt7661rsn也能驱动了,这个应该就是mt7663s模块

ophub commented 2 years ago

meson-sm1-skyworth-lb2004-a4091.dtb.zip

f大根据你提供的材料,制作了这个dtb,你在usb里测试下。解压缩为dtb,放在/boot/dtb/amlogic目录,更改/boot/uEnv.txt里面的名称,保存重启试试。反馈下你的测试结果。

ophub commented 2 years ago

以下是armbian-install写入emmc的添加,你先用armbian-ddbr备份你的安卓系统,或者你有原厂固件也可以不备份。先看看短接点位置,了解怎么恢复系统再尝试写入emmc测试。

12.3是恢复安卓系统的方法:

https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/armbian-docs/README.cn.md

Snip20220822_1

根据你的excel表,boot分区前跳过68MB,boot最大有768MB可以用,要跳过不安全的区域是1038MB,所以下面的这个是你的写入emmc的分区布局。

68+512+458=1038,从这后面的都是安全的可以区域,分给rootfs。你如果修改了boot的大小,就等量修改BLANK2的大小,总和是1038即可。

https://github.com/ophub/amlogic-s9xxx-armbian/blob/c09b842f0670d21c2566b2e6578156e6238aaf0b/build-armbian/common-files/rootfs/usr/sbin/armbian-install#L229

/usr/sbin/armbian-install的第229行前面加一个你盒子的分区信息判断:

    elif [[ "${FDTFILE}" == "meson-sm1-skyworth-lb2004-a4091.dtb" ]]; then
        BLANK1="68"
        BOOT="512"
        BLANK2="458"

https://github.com/ophub/amlogic-s9xxx-armbian/blob/c09b842f0670d21c2566b2e6578156e6238aaf0b/build-armbian/common-files/rootfs/etc/amlogic_model_database.conf#L77

/etc/amlogic_model_database.conf的77行后面添加你的盒子的安装信息: 521: skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-x96maxplus.bin:/usr/lib/u-boot/x96maxplus-u-boot.bin.sd.bin:/usr/lib/u-boot/hk1box-bootloader.img

livelier commented 2 years ago

我的意思是,在不同的内核里面dtb文件名是一样的,不是让你复制,是问哪几个dtb是千兆有线网络可以正常使用的?有wifi或牙可以启用?

第一个问题:以下名字的文件是不是在各自不同的内核里都可用?

meson-sm1-a95xf3-air-gbit.dtb
meson-sm1-h96-max.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-ugoos-x3.dtb
meson-sm1-x96-air-gbit.dtb

是的各自内核版本自带的dtb我报上来的文件名字清单 是可以启动并使用网卡的,是我一个一个测试出来的,因为我使用winscp和putty连接armbian,所以确定网卡可用,但是5.10中的dtb有更多个可以启动并使用网卡, 5.10 可用的dtb链接> https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issue-1345048274 5.15 可用的dtb连接> https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issuecomment-1221523181 如果需要详细的 各自内核版本的自带的每一个dtb文件 测试的百兆网卡、千兆网卡、蓝牙无线的支持情况 我需要重新测试,因为jammy_5.10.136_server_2022.08.14 jammy_5.15.61_server_2022.08.19 已经被我删掉了 我需要使用jammy_5.10.137_server_2022.08.21 jammy_5.15.62_server_2022.08.21 进行测试和记录

livelier commented 2 years ago

https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issuecomment-1222413713 https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issuecomment-1222432899 o大,按照以上方法执行armbian-install 没有加参数,已经成功写入emmc,蓝牙和无线跟USB启动是一样的问题,这是写入emmc后的首次启动 dmesg.txt

ophub commented 2 years ago

也就是说这个dtb和其他的表现是一样的,还是不能同时使用蓝牙和无线。

通过改名驱动只能同时使用一个。

写入emmc和usb中结果一样。你写入emmc的是5.10.137?

livelier commented 2 years ago

是的,5.10.137, 用这个镜像 Armbian_22.08.0_Aml_s905x3_jammy_5.10.137_server_2022.08.21.img image

今天在测试一下 5.15.62 ,Armbian_22.08.0_Aml_s905x3_jammy_5.15.62_server_2022.08.21.img

o大 我的盒子 armbian-install 写入 5.15.62 需要加参数 no吗?

ophub commented 2 years ago

你上次不加no可以使用,就不需要加,目前全部的盒子默认都不需要加no。 之前魔百盒有人用no不使用主线uboot,在最近的固件里已经默认取消了,都不需要加no了

livelier commented 2 years ago

已经ddbr备份,尴尬了,5.10.137写入emmc后不能usb启动5.15.62,稍后我在试试能否usb启动5.10.137

ophub commented 2 years ago

那说明那个主线uboot不适合你,那是x96max+的,那你就带no吧:armbian-install no

f大说先调试dtb,等能蓝牙无线一起使用了,再整uboot

/etc/amlogic_model_database.conf的77行后面添加你的盒子的安装信息: 521: skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-x96maxplus.bin:NA:NA

或者你恢复安卓系统,然后把你的配置改成这样,看看只使用overload这个是不是就可以启动了,不用主线uboot

恢复安卓系统可以使用armbian-ddbr(恢复文件用你备份出来的文件),也可以使用晶晨的刷机工具(恢复文件用原厂安卓系统),这个刷机速度更快,直接刷入你的安卓系统即可恢复:https://github.com/ophub/kernel/releases/download/tools/amlogic_usb_burning_tool_v3.2.0_and_driver.tar.gz

ophub commented 2 years ago

https://github.com/ophub/amlogic-s9xxx-armbian/releases/tag/kernel_5.10.137_5.15.62

给你制作了一个5.10.137 和 5.15.62的修改版内核,我手动上传到这个地址里了,你手动下载这2个内核到你的armbian里,比如/opt目录下,解压出来,每个压缩包解压完了能看到boot-xxx.tar.gz / modules-xxx.tar.gz 等7个文件

更新非你当前版本的内核,如果你当前是5.10.137,你就更新5.15.62;反之更新另外一个。更新方法是进入这个内核的本地解压后的目录,如cd /opt/5.10.137 然后 armbian-update ,只要当前目录下有内核文件,就会使用当前目录里的内核进行更新。

f大说你的设备的无线和蓝牙是分开的,无线用的是sdio接口,而蓝牙用的是串口,并不冲突,应该可以同时使用才对。可能这个模块比较特殊,没有采用串口蓝牙,所以给你重新编译了内核,把sdio的蓝牙支持取消了,你试试更新完这个看看情况。

image

livelier commented 2 years ago

按照方法 https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issuecomment-1223527093 暂时没有办法恢复安卓系统,短接点没有找到,usb AtoA线连接PC不识别盒子,原厂刷机包是update.zip格式,无法使用amlogic_usb_burning_tool usb启动尝试5.9.0 5.9.16 5.10.137 5.15.62 都不能从USB启动 如果我将emmc中的/boot/u-boot.emmc 删除或者改名 是否能够从usb启动?还是说可以有一种脚本可以让usb启动?如果可以usb启动就可以恢复安卓系统,因为我有ddbr备份

按照方法 https://github.com/ophub/amlogic-s9xxx-armbian/issues/506#issuecomment-1223576872 armbian-update 5.19.3 在 armbian-update 蓝牙不能驱动,执行hcicong 没有返回内容,有线和无线是可以正常的(或者把蓝牙的usrt取消,保留sdio,我在测试一下?) dmesg.txt 日志中没有找到hci0或hci1相关内容 image

蓝牙接口应该是sdio,如下两个pdf文件都是mt7661rsn芯片的数据表文件 Fn-Link 5261B-SR_datasheet_v1.4_20210327.pdf BL-M7661BS1V1.0_2019-07-04 .pdf

image image

另外数据表中提及的电压是否有关? image image

livelier commented 2 years ago

除了sdio ,pcm和uart 涉及 NC? image image image image

livelier commented 2 years ago

o大,我发现了这份驱动,bin文件清单与盒子安卓导出的清单很像, https://github.com/MeIsReallyBa/MT7663_LinuxAP_V6.0.1.0 这份驱动从文件夹看应该是具备客户端和ap两种模式,不确定他是否可用 image 安卓导出的驱动文件bin清单 image

ophub commented 2 years ago

安卓系统的文件在armbian 不能用

ophub commented 2 years ago

9BFF4A29-B607-4CBD-B933-BC824EBCD0E1

试试这个是不是短接点。用晶晨的刷机工具,刷原厂.img系统

livelier commented 2 years ago

o大,这个zip改名img可行吗?原厂的只有zip格式的 image

另外这里发现 https://github.com/DragonBluep/mtk-openwrt-sdk-v4.1.0.4/tree/master/wifi_drv 有关mt7663驱动有4个版本

ophub commented 2 years ago

那就armbian-ddbr吧

livelier commented 2 years ago

emmc启动的armbian 执行armbian-ddbr 还原sd卡中的 ddbr备份? 要怎么修改ddbr才能找到sd卡中的备份呢? usb不能启动了,尴尬啦

ophub commented 2 years ago

如果没改路径的话就armbian-ddbr 选择默认r路径就是。 短接不行吗?

livelier commented 2 years ago

短接没有测试,主要是没有原厂的img,只有原厂的zip emmc启动armbian,执行ddbr还原,这样可以顺利执行还原吗? 感觉会有冲突还没尝试,一旦失败可能变砖了,usb不启动,emmc内的系统又不能启动

给你制作了一个5.10.137 和 5.15.62的修改版内核,我手动上传到这个地址里了,你手> 动下载这2个内核到你的armbian里,比如/opt目录下,解压出来,每个压缩包解压完 了能看到boot-xxx.tar.gz / modules-xxx.tar.gz 等7个文件

正在下载准备测试5.15.62,这会git下载速度好慢

ophub commented 2 years ago

meson-sm1-skyworth-lb2004-a4091.dtb.zip meson-sm1-skyworth-lb2004-a4091.dts.zip

两个文件,其中dts是源文件,dtb是编译后的文件,你下载xxx.dtb.zip

第一步,把内核更新为之前的,不要用下午给你编译的,方法是到一个当前目录下没有内核文件的位置,然后在线下载更新:armbian-update 5.10.137armbian-update 5.15.62 更新不是你当前armbian系统的内核版本。

第二步,等内核更新为服务器的原来的内核版本后,再把这个dtb解压,覆盖同路径的文件,重启试试

livelier commented 2 years ago

更新 armbian-update 5.10.137 后使用 meson-sm1-skyworth-lb2004-a4091.dtb 无线和之前一样不能使用,蓝牙可以,应该还是以sdio驱动起来了 ,usb读卡器+TF卡和usb键盘都不能使用 5.10.137dmesg.txt 改文件wifi可用的日志 wifi-dmesg1.txt image

更新 armbian-update 5.15.62 后使用 meson-sm1-skyworth-lb2004-a4091.dtb 蓝牙和无线都不能使用,usb读卡器+TF卡和usb键盘都不能使用 5.15.62dmesg.txt 改文件无线可用的 wifi-dmesg2.txt

image

已更正

ophub commented 2 years ago
MYBOX_UBOOT="/usr/lib/u-boot/mybox-bootloader.img"
#lsblk看看你的emmc叫什么,一般是`mmcblk2`
DEV_EMMC="/dev/mmcblk2"
dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=1 count=444
dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=512 skip=1 seek=1

在写入emmc前,脚本备份了一份安卓原系统的bootloader,你还原下重启,看看USB能不能进去。

ophub commented 2 years ago

skyworth-lb2004-u-boot.tar.gz

522:skyworth-lb2004:s905x3:meson-sm1-x96-max-plus.dtb:u-boot-skyworth-lb2004.bin:skyworth-lb2004-u-boot.bin.sd.bin:NA

livelier commented 2 years ago

image image o大,分别执行这几条命令吗? MYBOX_UBOOT="/usr/lib/u-boot/mybox-bootloader.img" DEV_EMMC="/dev/mmcblk2" dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=1 count=444 dd if=${MYBOX_UBOOT} of="${DEV_EMMC}" conv=fsync bs=512 skip=1 seek=1

ophub commented 2 years ago

livelier commented 2 years ago

DEV_EMMC="/dev/mmcblk2" 这里要不要改成 DEV_EMMC="/dev/mmcblk2p2"

livelier commented 2 years ago

uEnv.txt 改 meson-sm1-x96-max-plus.dtb

amlogic_model_database.conf 增加 522:skyworth-lb2004:s905x3:meson-sm1-x96-max-plus.dtb:u-boot-skyworth-lb2004.bin:skyworth-lb2004-u-boot.bin.sd.bin:NA 上面这条要不要改成 522:skyworth-lb2004:s905x3:meson-sm1-x96-max-plus.dtb:u-boot-skyworth-lb2004.bin:/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA 然后文件放在 /boot/u-boot-skyworth-lb2004.bin /usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin 压缩包内这个文件不要管是吗/with_fip/skyworth-lb2004-u-boot.bin

ophub commented 2 years ago
#设备名称,不是分区名称,不加p2
DEV_EMMC="/dev/mmcblk2"

522:skyworth-lb2004:s905x3:meson-sm1-x96-max-plus.dtb:u-boot-skyworth-lb2004.bin:/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA

without_fip里的u-boot-skyworth-lb2004.bin放/boot下 with_fip里的skyworth-lb2004-u-boot.bin.sd.bin放/usr/lib/u-boot下,另外的一个不用。

ophub commented 2 years ago

meson-sm1-skyworth-lb2004-a4091.dtb.zip

image

再试试这个dtb