Amlogic S905 盒子的迷思 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaofami
0.16D
V2EX    问与答

Amlogic S905 盒子的迷思

  •  
  •   xiaofami 2021-02-28 22:33:56 +08:00 4304 次点击
    这是一个创建于 1756 天前的主题,其中的信息可能已经有所发展或是发生改变。

    年前无事+图便宜收了几台百视通 R3300-M 来玩,S905M-B + 1G RAM + 4G EMMC 的配置,之前刷国内论坛自制固件看看电视或者跑 Armbian 倒也不错。不过当我想用它运行 Coreelec 播放 4K 视频时,产生了越来越多的迷惑:

    1 ) S905M-B 是否支持 4K@60 输出

    首次尝试:安卓系统下,盒子原厂固件(电信 IPTV )和国内论坛自制固件最高支持到 3840X2160@30,启动到 Coreelec 最新稳定版( 9.2.6 )也是如此,尝试设置 3840X2160@60 直接黑屏遂告失败。

    二次尝试:发现几年前的外贸盒子 MXQ Pro 4K 与 R3300-M 的核心配置相近,于是在外国论坛找了个 ATV 的包尝鲜( MXQ_PRO_4K_p201_android_TV_by cOOLio_V2.5_MEE.7z ),刷好后第一时间注意到这个固件能够正常输出 3840X2160@60 。启动 Coreelec,设置 3840X2160@60 分辨率以及播放 3840X2160@60 视频毫无问题,视频详情与系统硬件信息可以确认。

    所以发生了什么?

    2 ) S905M-B 的真实 CPU 性能

    几年前 Armbian 论坛上有人发帖抨击 S9XX 家族 CPU 主频高于 1.5GHz 为造假,还贴出了 7z 测试结果。我对此产生兴趣的契机还是刷了 MXQ_PRO_4K_p201_android_TV_by cOOLio_V2.5_MEE.7z 这个固件之后,在 Armbian 的 htop 中我发现 CPU 主频最高能达到 2.02GHZ 了,而在刷写原厂固件和国内论坛自制固件情况下运行 Armbian 主频只有 1.54GHz,国内论坛上广为流传的 S905M-B CPU 主频就是 1.54GHz 。对此我用 7zip 做了个不太严谨的小测试:

    盒子 1 与 2 是同一批的全新 R3300-M,TF 卡均为三星 128G 红卡。其中,盒子 1 刷写了 20171210_Q5_G2-40F_S905-S905M_android4.42_root_qlzy.rar (潜龙固件),运行 Armbian20.10 Focal ;盒子 2 刷写了 MXQ_PRO_4K_p201_android_TV_by cOOLio_V2.5_MEE.7z ,运行 Armbian_5.99_Aml-g12_Ubuntu_bionic_default_5.3.0_rtl8189ftv.tar.gz ,7zip 版本相同。

    盒子 1 测试结果:

    root@arm-64:~# 7z b -mmt1 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE) LE CPU Freq: 64000000 64000000 - - - 256000000 - 1024000000 2048000000 RAM size: 922 MB, # CPU hardware threads: 4 RAM usage: 435 MB, # Benchmark threads: 1 Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS 22: 839 99 823 817 | 14397 100 1233 1229 23: 814 99 836 830 | 14089 100 1223 1220 24: 816 99 884 877 | 13803 100 1215 1212 25: 792 99 912 905 | 13596 100 1213 1210 ---------------------------------- | ------------------------------ Avr: 99 864 857 | 100 1221 1218 Tot: 99 1042 1037 root@arm-64:~# 7z b 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE) LE CPU Freq: 64000000 64000000 - - - 256000000 - - - RAM size: 922 MB, # CPU hardware threads: 4 RAM usage: 882 MB, # Benchmark threads: 4 Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS 22: 2227 309 701 2167 | 55424 395 1196 4729 23: 2196 310 723 2238 | 54495 396 1190 4715 24: 2107 302 749 2266 | 53410 396 1184 4689 Killed 

    盒子 1 的多线程测试几次都没法跑完。

    盒子 2 测试结果:

    root@aml:~# 7z b -mmt1 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE) LE CPU Freq: 497 1306 1533 1533 1533 1533 1533 1533 1533 RAM size: 797 MB, # CPU hardware threads: 4 RAM usage: 435 MB, # Benchmark threads: 1 Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS 22: 952 99 935 927 | 17109 100 1465 1461 23: 936 99 963 954 | 16772 100 1456 1452 24: 933 99 1012 1004 | 16433 100 1447 1443 25: 921 99 1061 1052 | 16130 100 1440 1436 ---------------------------------- | ------------------------------ Avr: 99 993 984 | 100 1452 1448 root@aml:~# 7z b 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE) LE CPU Freq: 712 1533 1533 1533 1533 1532 1532 1533 1532 RAM size: 797 MB, # CPU hardware threads: 4 RAM usage: 450 MB, # Benchmark threads: 4 Compressing | Decompressing Dict Speed Usage R/U Rating | Speed Usage R/U Rating KiB/s % MIPS MIPS | KiB/s % MIPS MIPS 22: 2518 312 785 2450 | 65823 395 1423 5616 23: 2476 311 811 2524 | 64601 395 1414 5590 24: 2485 313 855 2673 | 63318 396 1405 5558 ---------------------------------- | ------------------------------ Avr: 312 817 2549 395 1414 5588 Tot: 354 1115 4068 

    测试结果表明无论是单线程还是多线程盒子 2 都比盒子 1 的 CPU 性能高出了 19%左右,十分可观。

    所以发生了什么?

    3 ) IR 遥控器开机的实现

    MXQ_PRO_4K_p201_android_TV_by cOOLio_V2.5_MEE.7z 解决了许多问题,但是带来了新问题:没办法用盒子随机附带的红外遥控器开机了。自己为 Coreelec 写了个 ir-meson 遥控文件,在开机时工作正常,也能关机,不过没办法开机。

    经过上面的试验和搜索我大概意识到可能与底层 Firmware 有关。Coreelec 上有一篇CoreELEC BL301 Wake-Up feature [inject_bl301]文章,大意说要用它的 bl301 注入 BootLoader,不过我的盒子设置里没有这个选项……去 Github 看了一眼,有这么一条 commit:

    hardware: hide 'inject_bl301' on GXL SoC as it's experimental 

    或许有空时自己编译一个试试?

    4 ) S905M-B 为何资料缺失

    事实上国内 IPTV 盒子广泛使用的 S905M-B,S905L 种种型号千奇百怪的 S905 SOC 在 Amlogic 官网都无法找到资料,WIKI 上也没有收录, 官方的态度或许也是 balbes150 放弃维护 Armbian for S9XX 的缘由之一。

    所以海思 SOC 的机顶盒有大佬移植 Armbian 来玩吗 (:з」∠)

    第 1 条附言    2021-03-03 21:04:13 +08:00
    GXBB 与 GXM ( S905,S912 )已被放弃更新到 CoreELEC 19.0-Matrix,没必要折腾了……

    UART 备份的原厂固件,ddbr 备份的 EMMC 镜像,用到的一些镜像等已上传网盘:

    链接: https://pan.baidu.com/s/1KfSCkCtG4mNm-GyTL1u6FQ
    提取码:bh0b
    4 条回复    2021-03-01 17:35:53 +08:00
    liberize
        1
    liberize  
       2021-03-01 08:23:08 +08:00 via Android
    买了个 hk1 box s905x3,一开始想玩 armbian,现在老老实实用原厂 android 固件了。cpu 是 arm64,原厂固件是 32 位 armeabi-v7a 。刚入坑 pt,拿来挂 pt,还不错。
    hanguofu
        2
    hanguofu  
       2021-03-01 17:04:52 +08:00 via Android
    在刷写了安卓 atv 的盒子上运行 armbian ?
    xiaofami
        3
    xiaofami  
    OP
       2021-03-01 17:31:49 +08:00 via Android
    @hanguofu 对,我刷写了那个 ATV 固件后就能正常使用 3840X2160@60 了,CPU 性能也有提升。后来我把 Coreelec 写入了 emmc,目前除了不能遥控开机完美,有空试试 ng 版里的 inject_bl301 看看能否修复
    xiaofami
        4
    xiaofami  
    OP
       2021-03-01 17:35:53 +08:00 via Android
    @hanguofu Armbian 在 TF 卡里,盒子支持从 USB 或 TF 卡启动;安卓系统在内置 EMMC 里
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1017 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:20 PVG 02:20 LAX 10:20 JFK 13:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86