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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

livelier opened this issue · comments

你好,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 反馈测试问题 不太懂这上边的规矩,如有不妥,还请指正,再次谢谢

commented

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

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

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

commented

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

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

稍后我测试一下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

commented

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

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

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

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

commented

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

commented

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

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

commented

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

commented

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

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改名你具体是怎么操作的?

commented

dmesg 日志发一份完整的

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

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

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

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

commented

我的意思是,在不同的内核里面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

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

第二个问题:发一份更改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

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

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

image
image

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

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

commented

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

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

commented

以下是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即可。

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

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

520:A95XF3 Air 100Mb:s905x3:meson-sm1-a95xf3-air.dtb:u-boot-x96maxplus.bin:NA:NA

/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

我的意思是,在不同的内核里面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链接> #506 (comment)
5.15 可用的dtb连接> #506 (comment)
如果需要详细的 各自内核版本的自带的每一个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 进行测试和记录

#506 (comment)
#506 (comment)
o大,按照以上方法执行armbian-install 没有加参数,已经成功写入emmc,蓝牙和无线跟USB启动是一样的问题,这是写入emmc后的首次启动 dmesg.txt

commented

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

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

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

是的,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吗?

commented

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

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

commented

那说明那个主线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

commented

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

按照方法 #506 (comment)
暂时没有办法恢复安卓系统,短接点没有找到,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备份

按照方法 #506 (comment)
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

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

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

commented

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

commented

9BFF4A29-B607-4CBD-B933-BC824EBCD0E1

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

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

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

commented

那就armbian-ddbr吧

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

commented

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

短接没有测试,主要是没有原厂的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下载速度好慢

commented

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解压,覆盖同路径的文件,重启试试

更新 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

已更正

commented
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能不能进去。

commented

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

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

commented

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

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

commented
#设备名称,不是分区名称,不加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下,另外的一个不用。

还原备份 mybox-bootloader.img

还原后,开机logo恢复显示(还原前不显示),led电源灯恢复正常(还原前不亮),复位键恢复正常(还原前按钮无效),可以进入卡刷页面,已写入emmc的5.10.137无法启动开机logo每隔几秒闪一次,usb启动已恢复正常可以启动usb5.10.137

进入卡刷页面,刷入原厂update.zip有错误不能刷入,选择恢复出厂设置后可以执行卡刷无错误提示,但重启无法进入安卓系统,开机logo每隔几秒闪一次。

usb启动5.10.137后 ddbr还原备份(这次时间较长55分钟,之前36分钟左右),重启后安卓已恢复正常


测试 skyworth-lb2004-u-boot.tar.gz 和 meson-sm1-skyworth-lb2004-a4091.dtb.zip(第三版),
内核5.10.137

FDT=/dtb/amlogic/meson-sm1-x96-max-plus.dtb
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
usb正常启动,蓝牙/无线,和之前一样

FDT=/dtb/amlogic/meson-sm1-skyworth-lb2004-a4091.dtb
521:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA
usb正常启动,蓝牙/无线,和之前一样

内核5.15.62晚一点反馈

commented

也就是说u-boot-skyworth-lb2004.bin和/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin这2个文件是正常的,写入emmc后,还支持从USB继续启动系统。

但dtb还是不能同时启用蓝牙和无线

你下次ddbr还原成安卓后(或者是dd你的安卓bootloader,操作方法同上面那样,这样就覆盖了emmc里的主线u-boot了),测试下5.10内核,只保留overload看看是否可以,这个是不完整主线u-boot,只使用他的时候需要跳过不安全分区:
523:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:NA:NA

你上面的测试把主线u-boot已经写入emmc了,如果启动正常,usb还可以继续使用,说明主线u-boot完美支持了,这样在写入emmc使用的情况下全部空间均可使用。

#506 (comment)
还原安卓后,还没有再次写入emmc,只是做了usb启动测试 ,感觉写入emmc需要保留安卓系统的bootloader 才可以usb正常,但还原安卓的bootloader 就不能启动5.10.137拉,要稍晚点测试写入emmc,

commented

安卓的使用有限制,所以才开发主线u-boot,如果主线u-boot适配了就不需要安卓的bootloader,只能写入emmc才能测试是否可以正常引导系统

commented

你用的固件默认的/boot/u-boot.ext是x96max+的,你在usb里面可以启动5.10的内核说明这个文件你也通用,在usb这样测试给你专门订制的文件,s905x3固件启动后,先把without_fip里的u-boot-skyworth-lb2004.bin上传到/boot目录下,然后

cd /boot
cp -f u-boot-skyworth-lb2004.bin u-boot.ext
chmod +x u-boot.ext
sync && reboot

好的,o大,等下晚饭回来,先tf卡测试一下,没有什么问题就写入emmc再测试usb启动

另外在安卓dtb反编译的dts里面 sdio,uart,a_uart,b_uart,c_uart,bt-dev,wifi,wifi_pwm_conf,看起来和armbian的dtb有很大区别,他们之间是不是无法对比,这个方面还不懂,说错了,还请忽略

commented

安卓的只能参考着看,之前让你导出的就是用来参考。armbian 的dts是f大写的

o大,使用skyworth-lb2004-u-boot.tar.gz 写入emmc是否要 armbian-install no ? 稍后开搞,哈哈哈

commented

521:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA

把这两个文件都上传了

第一次加no,测试不用主线的结果。

第二次再测试不no,即写入主线

第一次加no写入emmc如果天法从emmc启动,说明boot下的不正常,因为bootloader 还是安卓系统的,所以你可以插usb启动

第二次不加no写入emmc如果无法启动,说明完整主线u-boot不正常,你用dd方法把之前安卓的bootloader写回去就可以继续从usb启动了 (原来emmc是原厂安卓系统时生成的/usr/lib/u-boot/mybox-bootloader.img文件备份一下到你的电脑上,以后dd时上传到armbian恢复支持usb启动)

内核5.10.137
meson-sm1-skyworth-lb2004-a4091.dtb.zip
skyworth-lb2004-u-boot.tar.gz
cp -f u-boot-skyworth-lb2004.bin u-boot.ext
521:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin:NA
配置后可以正常usb重启,蓝牙和无线依旧
在/usr/sbin/armbian-install的第229行前面加一个你盒子的分区信息判断:

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

第一次写入emmc 参数+no 不能从emmc启动5.10.137 一直开在开机logo画面,电源led常亮蓝色,可以usb启动
第二次写入emmc 参数 不加no ,不能重emmc启动5.10.137,也不能usb启动,通电黑屏,电源led不发光,

接下来,我开始寻找这款盒子线刷包 或卡刷包转线刷包的方法,然后研究短接点,还原安卓重新来过
感谢o大,给予的支持和帮助,谢谢你

commented
cd /boot
cp -f u-boot-skyworth-lb2004.bin u-boot.ext
chmod +x u-boot.ext
sync && reboot

在usb里面测试,如果复制后重启没问题,那么armbian-install no写入emmc应该是也没问题才对

前些天第一次写入emmc,u-boot.ext是固件默认的,那个版本可以emmc启动,但是不能usb启动
没关系 o大,等我刷回安卓,接着折腾,距离成功不远了,哈哈哈,非常感谢你

commented

你写入emmc测试的怎么样了?

commented

你试试这个配置,保留x96max的不完整u-boot,不使用完整u-boot:

521:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-x96maxplus.bin:NA:NA

armbian-install还是添加:

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

在写入emmc前,先把emmc还原成安卓系统。记得把meson-sm1-skyworth-lb2004-a4091.dtb上传到/boot/dtb/amlogic目录下,并更改/boot/uEnv.txt里的值。

s905x3固件默认带的u-boot.ext就是u-boot-x96maxplus.bin的复制版,所以不用复制了,你reboot重启两三次,确定可以从USB启动后,就说明u-boot-x96maxplus.bin是可以使用的,然后再写入emmc测试

o大,我现在不能测试,因为盒子通电黑屏没有任何反应,emmc不启动,USB也不启动,在路由器里面也看不到盒子的ip,复位键也没有任何反应,我在想法办解决恢复安卓系统:1、如何卡刷包转线刷包,2、寻找短接点,3、返厂维修恢复安卓系统,4、再或者找办法刷回原厂Recovery或第三方Recovery。因为我只有ddbr备份,和原厂卡刷包固件,原厂线刷包品牌商不提供

commented

你之前是做的哪步操作?
写入emmc 参数 不加no?
写入了/usr/lib/u-boot/skyworth-lb2004-u-boot.bin.sd.bin导致的?

是的,不加no 写入emmc重启后,就这样了,

s905x3固件默认带的u-boot.ext是u-boot-x96maxplus.bin的复制版

前段时间第一次写入时,有测试过 不加no,usb不能启动,并且键盘等usb设备都不识别不能用,但是可以emmc启动5.10.137

所以目前,我只能等到盒子恢复到安卓系统,再继续测试。

commented

好的,看来定制版的u-boot还需要继续调试。

等恢复系统后,测试下最近发的这个方案,只使用u-boot-x96maxplus.bin,不使用完整主线u-boot的方案。

网上找不到安卓的img吗?

好的,我先看看能不能自己搞定,如果不能返厂恢复一下。

网上找不到安卓的img吗?

这款只找到一个三方img,但是很遗憾 分享连接过期了,我在尝试联系分享者

commented

https://www.znds.com/tv-1217487-4-1.html

链接: https://pan.baidu.com/s/1TcteNk1-N3HczEkwjNnS-Q?pwd=puv8 提取码: puv8

这个是不是?能把安卓的bootloader给dd回去就可以usb启动了。

这个是卡刷包,需要安卓系统能够正常使用的情况,在安卓系统里进行刷机使用的,
或是安卓系统不正常但可以进入Recovery模式,才能使用这个包恢复安卓系统到正常状态。

用这个包恢复安卓系统后(但他不是线刷包,没有办法使用晶晨刷机工具刷机),可以usb启动5.10.137
我在网络上有看到过去的一些案例可以把卡刷包zip转成线刷包img,但是资料太久远很多工具已经找不到下载地址
我的盒子,目前只能使用线刷模式恢复安卓系统,因为现在盒子安卓系统和armbian系统都不能启动
冒昧的问一句,o大,你是哪国人?哈哈哈哈哈

围观群众路过。。。
https://www.znds.com/tv-1206319-1-1.html 这个链接里,楼主的id是个手机号码,打个电话或者发条短信,让他更新一下失效的线刷包百度云盘分享呗

o大,你好,蓝牙和无线驱动加载顺序在系统哪里可以调整?或许这个办法可以解决4091蓝牙和无线不能同时使用的问题

commented

你的设备蓝牙和无线是在同一个MT7661RSN芯片上吧?
禁用uart可以用wifi,wifi的问题基本上是驱动程序不兼容了,无线和蓝牙只能选一个。
一般无线和蓝牙是分开的,无线用的是sdio接口,而蓝牙用的是串口,可以同时使用,你的这个芯片之前的设备没使用过,第一次见。
你加f大的群咨询他吧。之前你的这个盒子的dtb和u-boot都是他制作好我转发给你的,他是专家。
你的盒子救砖回来了?

盒子返厂后给我换了一台新的,尴尬,是同款型号,只是网卡rtl8211f 变成了 JL2121其他一样,昨晚做了几次测试,
固件用的这个Armbian_22.08.0_Aml_s905x3_jammy_5.10.139_server_2022.08.30.img
其中固件自己带的meson-sm1-skyworth-lb2004-a4091.dtb和前面你提供的3个版本一共4个版本,都可以实现蓝牙和无线同时使用了,并且网卡JL2121可以正常使用千兆,但网卡驱动显示的是JL2101不过能千兆也没关系,
方法是手动的,没有研究明白怎么自动,就想到了调整蓝牙和无线在启动系统时 调整他们加载驱动的先后顺序,但是没有找到在系统哪里调整

是的蓝牙无线模块 MT7661RSN SDIO接口,驱动后无线显示MT7663S
同时使用蓝牙和无线的方法
进入系统后,这样依次执行下面4行命令就可以了,后两条顺序必须无线在前,蓝牙在后才可以
rmmod btmtksdio
rmmod mt7663s
insmod /usr/lib/modules/5.10.139-ophub/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
insmod /usr/lib/modules/5.10.139-ophub/kernel/drivers/bluetooth/btmtksdio.ko

commented

JL2101的驱动是f大找厂家要的集成到内核里的,之前的盒子测试可以使用。你能用也是惊喜。我问问他你的这个JL2121型号。

commented

你有这个盒子的img安卓系统镜像吗?能不能救砖呢?要不要继续测试u-boot和写入emmc使用呢?让f大给你适配一个专用的

commented

521:skyworthbox:s905x3:meson-sm1-skyworth-lb2004-a4091.dtb:u-boot-skyworth-lb2004.bin:NA:NA

倒数第二个参数是NA就没主线u-boot了,这个写入是安全的,只是复制了/boot下的一个u-boot.emmc文件,不会造成系统无法启动,你插入usb还会启动的。

你还是按照之前的方法,看看这个安卓系统分区表是不是还是之前的armbian-install添加:

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

如果想适配的话,还是按照之前的方法再来一遍:

1.主板正反面高清照片,把网卡、蓝牙/无线芯片拍清楚点,能看清型号代码(或者你写上来)
2.确认安卓系统分区表,制作出excel。把bootloader等几个文件都导出来一起发上来,用于制作dtb和u-boot
3.把你的这个盒子的img安卓系统镜像文件找到,先armbian-ddbr备份个,然后用短接刷机法试试能救砖
4.然后咱们再先测dtb;确保usb可以正常使用后,再测/boot/u-boot;最后测主线u-boot写入。

是的,很幸运JL2121可用,早上还有些质疑是昨晚的梦,哈哈哈,刚刚在次确认,蓝牙和无线确实可以同时使用了。

root@armbian:~# hciconfig
hci0: Type: Primary Bus: SDIO
BD Address: B8:59:CE:FE:55:CC ACL MTU: 1021:6 SCO MTU: 244:4
UP RUNNING
RX bytes:1140 acl:0 sco:0 events:58 errors:0
TX bytes:2548 acl:0 sco:0 commands:58 errors:0

root@armbian:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.67.173 netmask 255.255.255.0 broadcast 192.168.67.255
inet6 fe80::5d84:4ef7:a821:3832 prefixlen 64 scopeid 0x20
ether 9e:61:aa:29:31:aa txqueuelen 1000 (Ethernet)
RX packets 966 bytes 102465 (102.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 416 bytes 124965 (124.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 14

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 20 bytes 1784 (1.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20 bytes 1784 (1.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.67.176 netmask 255.255.255.0 broadcast 192.168.67.255
inet6 fe80::2968:32c7:b3e0:db95 prefixlen 64 scopeid 0x20
ether b8:59:ce:fe:55:cb txqueuelen 1000 (Ethernet)
RX packets 461 bytes 39422 (39.4 KB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 18 bytes 1975 (1.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@armbian:~# lshw -c network
*-interface:0
description: Ethernet interface
vendor: MediaTek
physical id: 1
bus info: mmc@0:0001:1
logical name: mmc0:0001:1
logical name: wlan0
serial: b8:59:ce:fe:55:cb
capabilities: ethernet physical
configuration: broadcast=yes driver=mt7663s driverversion=5.10.139-ophub firmware=3.1.1-20200604161656 ip=192.168.67.176 link=yes multicast=yes
*-network
description: Ethernet interface
physical id: b
logical name: eth0
serial: 9e:61:aa:29:31:aa
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=Jan_2016 duplex=full ip=192.168.67.173 link=yes multicast=yes port=twisted pair speed=1Gbit/s

root@armbian:~# dmesg | grep -in eth0
463:[ 11.806239] systemd[1]: Found device /sys/subsystem/net/devices/eth0.
531:[ 12.534484] systemd[1]: Started ifup for eth0.
545:[ 12.980844] meson8b-dwmac ff3f0000.ethernet eth0: PHY [0.0:00] driver [JL2101 Gigabit Ethernet] (irq=POLL)
547:[ 13.004062] meson8b-dwmac ff3f0000.ethernet eth0: No Safety Features support found
548:[ 13.008368] meson8b-dwmac ff3f0000.ethernet eth0: PTP not supported by HW
549:[ 13.015599] meson8b-dwmac ff3f0000.ethernet eth0: configuring for phy/rgmii link mode
550:[ 13.025210] meson8b-dwmac ff3f0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
551:[ 13.031233] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
557:[ 14.031290] meson8b-dwmac ff3f0000.ethernet eth0: Link is Down
562:[ 16.055565] meson8b-dwmac ff3f0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off

commented

我看你测试的是5.10的内核,如果这内核你已经可以正常启动使用的话,说明/boot/u-boot.ext是可以正常适配你的盒子使用的,否则你不能使用5.10的内核,只能使用5.15的内核。你现在使用的是哪个u-boot呢?自己指定的还是Armbian_22.08.0_Aml_s905x3_jammy_5.10.139_server_2022.08.30.img固件自带的?

#506 (comment)
目前没有img,只有zip,不过写入EMMC还要继续,保守一点去操作尝试,我也在整理,没有img盒子变砖的恢复的思路。

#506 (comment)
好的,o大
1 处理器: S905X3-B 蓝牙无线模块:MT7661RSN 网卡:JL2121 USB3.0一个,USB2.0一个,没有tf读卡器,没有红外线接收器, 没有时钟或屏显类led,只有状态指示led 会有不同颜色变化
2 安卓系统分区表,虽然就是同一款盒子,但我需要从新确认一下
3 armbian-ddbr已备份,因为没有img短接刷机法暂时不考虑拉

image

#506 (comment)
这个img Armbian_22.08.0_Aml_s905x3_jammy_5.10.139_server_2022.08.30.img 自带的u-boot,因为盒子昨晚刚到,还没有做更多的测试
我只修改了/boot/uEnv.txt FDT=/dtb/amlogic/meson-sm1-skyworth-lb2004-a4091.dtb 他就可以正常从usb接口的TF读卡器中的tf卡内的系统

commented

正巧f大在线,我问了他你的问题,他介绍了一个自动按顺序启动你的无线和蓝牙的方法

在linux里可以按指定顺序加载模块,在/etc/modprobe.d/下建立2个文件:
1文件名:10-mt7663s.conf
代码:alias my-wifi mt7663s

2文件名:20-btmtksdio.conf
代码:alias my-bt btmtksdio

以上代码中的别名my-wifi和my-bt可以自己取个任意喜欢的名字,也可以是驱动自己的名字,例如 alias mt7663s mt7663s

详细使用说明参见:https://man7.org/linux/man-pages/man5/modprobe.d.5.html

你的网卡驱动名字原厂驱动名叫JL21x1,是f大改成jl2101的名字的(之前s905x3里的网卡芯片叫这个名字),所以你忽略名字吧,JL2121和JL2101都可以使用

上次写入/lib/u-boot下的那个主线u-boot变砖,是acs.bin提取的不对导致的,你不能在tar里提取,会有问题,你还是要adb进安卓系统,我测试了没问题可以进入,你再看看我整理的教程。

理论上,你只要看看安卓系统分区表是否和s905x3的一致,如果相同的话直接添加一个配置信息写入即可,不含主线u-boot(/lib/u-boot下的那个)不会砖的,都没改安卓分区表,还是可以usb启动的。

https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/armbian-docs/README.cn.md
看12.3 、 12.10、 12.11

太好了,名字而已没关系啦,非常感谢有你和f大的支持和帮助,我这就改一下驱动顺序,
好吧,我也没想到原厂卡刷包里BootLoader.img会和盒子里不同,因为盒子adb没有root权限我提取不到BootLoader,就提供了卡刷包里的

commented

之前他也教过我拿img拆包提取bootloader和dtb的方法,但是说这种方法成功率不高,会有偏移错误,我就没写到这个文档里,还是adb进安卓系统看比较准确。这种方法做过的几个都适配的比较完美。

开启usb调试模式就可以adb进入了,你看看我的救砖文档。

等你测试结束后,我在armbian-install里给你加一个特殊处理,当你的盒子刷机的时候,自动添加/etc/modprobe.d/设置。

你试试/boot下使用f大给你做的那个文件,测试下是不是也可以。你先用当前固件启动,然后上传那个u-boot-skyworth-lb2004.bin/boot目录下,然后删除现在的,复制定制的:

cd /boot
rm -f u-boot.ext
cp -f u-boot-skyworth-lb2004.bin u-boot.ext
chmod +x u-boot.ext
sync && reboot

好的,我先测试驱动启动顺序

在linux里可以按指定顺序加载模块,在/etc/modprobe.d/下建立2个文件:
1文件名:10-mt7663s.conf
代码:alias my-wifi mt7663s
2文件名:20-btmtksdio.conf
代码:alias my-bt btmtksdio

我这样设置的,重启后,蓝牙正常,无线不能用
image

这个方法是在系统默认加载蓝牙和无线驱动之前生效吗?需要在系统默认加载蓝牙和无线驱动的动作之前,调整他们的顺序,才会成功,我是这样理解的

commented

你是启动后,手动执行的这4条命令,那你不如放/etc/custom_service/start_service.sh里吧,内容就是你发的那4条,粘贴进来。

删除/etc/modprobe.d/下创建的2个文件,用这个启动执行命令的文件统一管理。保存后重启试试

是的,手动卸载两个设备的驱动,然后重新安装,先安装无线,后安装蓝牙即可,所以有了从系统默认加载这两个设备驱动的时候调整他们为无线在蓝牙之前的顺序想法
这个方法在文档里见过,测试过,不知道什么原因,系统启动后有些异常,我现在看看异常是什么

o大,解决啦,哈哈哈哈
方法如下:
固件:Armbian_22.08.0_Aml_s905x3_jammy_5.10.139_server_2022.08.30.img

/etc/modprobe.d/blacklist.conf 新增一行 blacklist btmtksdio
/etc/custom_service/start_service.sh 新增一行 modprobe btmtksdio enable_autosuspend=on
无线部分默认即可不用任何改动

只是不清楚enable_autosuspend=on 这个参数加上好还是不加好,多按了两次tab 自动添加上来的,
缺点应该是dmesg中没有蓝牙的相关日志,其他方面估计没什么影响。

commented

这个参数不加吧,不了解他有什么作用。

commented

https://item.jd.com/100009131339.html

你的盒子是这款吧?我把他加入支持列表里。

是的,

commented

189a415
好的,我添加好了,感谢你的测试反馈

好的,谢谢你,o大
这款盒子目前已知有两个网卡型号RTL8211F和JL2121,处理器型号:S905X3-B

commented

好的,RTL8211F一直是支持的。能支持JL2121是个惊喜。

再补充一下,3pro 有3个版本号

版本号:A4091 4+32 版本
版本号:A4094 2+32 版本

版本号:A4093 4+32 START定制款 版本
他们型号都是一样的 型号:LB2004

其中A4091是我测试的版本,另外两个版本不清楚硬件是否相同,我只有A4091。

image

commented

77a2d2c
好的,感谢精准分享,型号代码我已经添加到产品描述中了。

o大,我无法adb提取安卓系统内的BootLoader.img,另外安卓分区表有对比过和之前的是一样的。

我使用手册12.3的方法,1、adb连接盒子后,root权限获取不到,不能提取bootloader。2、没有官方的img刷机包,也无法去验证短接点。
https://github.com/ophub/amlogic-s9xxx-armbian/blob/main/build-armbian/armbian-docs/README.cn.md

突然有个新的想法或许可用,在armbian写入emmc时,会获得这个备份 /usr/lib/u-boot/mybox-bootloader.img
那么会不会和adb下 dd if=/dev/block/bootloader of=/data/local/bootloader.bin 得到的结果是完全相同呢?如果是就太惊喜啦!

原厂刷机包zip中的bootloader.img,和armbian备份的/usr/lib/u-boot/mybox-bootloader.img 分别制作 acs.bin 并对比文件内容,发现两个 acs.bin 文件的内容是有差异的。

而/usr/lib/u-boot/mybox-bootloader.img 制作的acs.bin 和手册说的 d3” ddr 和多个cfg 等都有呈现,而刷机包提取的bootloader.img制作的acs.bin 没有d3” ddr呈现。

但我把原厂刷机包zip中的bootloader.img HxD 选择范围 起始位置改成F000 长度1000 16进制后,acs.bin的内容又和/usr/lib/u-boot/mybox-bootloader.img 起始范围F200 长度1000 16进制制作的acs.bin完全相同,通过哈希值对比确定

commented

你的测试也验证了刷机包和进系统提取是不同的,有偏移,如果acs.bin错了,生成的完整版主线u-boot就是错的,刷机会砖。

采用固件提取是不是都适用F000起需要多拿几个盒子验证下结果。

你按救砖法,在关于…上连击,打开开发者模式,启用usb调试模式,就可以使用adb了

commented

有2种操作,一种是放在系统目录里,一种是在当前文件夹右键,管理员模式运行