Amlogic S905 盒子的迷思

2021-02-28 22:33:56 +08:00
 xiaofami

年前无事+图便宜收了几台百视通 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 来玩吗 (:з」∠)

3675 次点击
所在节点    问与答
4 条回复
liberize
2021-03-01 08:23:08 +08:00
买了个 hk1 box s905x3,一开始想玩 armbian,现在老老实实用原厂 android 固件了。cpu 是 arm64,原厂固件是 32 位 armeabi-v7a 。刚入坑 pt,拿来挂 pt,还不错。
hanguofu
2021-03-01 17:04:52 +08:00
在刷写了安卓 atv 的盒子上运行 armbian ?
xiaofami
2021-03-01 17:31:49 +08:00
@hanguofu 对,我刷写了那个 ATV 固件后就能正常使用 3840X2160@60 了,CPU 性能也有提升。后来我把 Coreelec 写入了 emmc,目前除了不能遥控开机完美,有空试试 ng 版里的 inject_bl301 看看能否修复
xiaofami
2021-03-01 17:35:53 +08:00
@hanguofu Armbian 在 TF 卡里,盒子支持从 USB 或 TF 卡启动;安卓系统在内置 EMMC 里

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/757061

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX