S905L3A(M401A)拆解, 运行EmuELEC和Armbian

这篇具有很好参考价值的文章主要介绍了S905L3A(M401A)拆解, 运行EmuELEC和Armbian。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于S905L3A / S905L3AB

S905Lx系列没有公开资料, 猜测是Amlogic用于2B的芯片型号, 最早的 S905LB 是 S905X 的马甲, 而这个 S905L3A/S905L3AB 则是 S905X2 的马甲, 因为在性能评测里这两个U的得分几乎一样.
S905L3A/S905L3AB 和 S905X2, S905X3 一样 GPU 是 G31, 相比前一代的 MALI450 性能提升明显.

同型号的电视盒子中出现的CPU型号还有 S905L3, S905L3B, 这两个和 S905L3A/S905L3AB 是不一样的. S905L3A安兔兔跑分正常在4.5W分以上, 而905L3, 905L3B只能跑2.5w左右.

如果为了玩 EmuELEC 买电视盒子, 建议买商品介绍里明确写了 S905L3A/S905L3AB 的, 因为即使是同一个型号也分多个版本, CPU是不一定的, 现在没有哪个型号的盒子, 用的CPU一定是S905L3A/S905L3AB.

如果是用于运行Armbian, 则哪个型号都可以.

M401A

我买的是一个M401A的盒子, 带蓝牙不带WIFI, 没有TF卡槽. 市面上S905L3A的盒子没有带卡槽的, E900V22C和E900V22D这两个型号虽然没卡槽, 但是PCB带了TF卡槽焊盘, 可以自己加焊.

实物图

底部标识

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

顶部的配重+散热

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

PCB正面

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

CPU S905L 3A

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

内存

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

NAND

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

蓝牙

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

安卓和相关工具下载

  • ophub 提供了非常实用的工具合集, 包含刷机工具和各个型号盒子的安卓包, GitHub下载速度也很快
    https://github.com/ophub/kernel/releases/tag/tools
  • Aidan 的系列ATV固件
    https://aidanrom.com/

运行EmuELEC

盒子安装的安卓9, 已经Root过的, 所以不需要再刷机了. 从GitHub下载了最新的 EmuElEC 4.9, 在 Ubuntu 里用 Disk Image Writer 写入到一个 64G 的U盘. 这里不一定要用U盘, 用移动硬盘也可以.
将EMUELEC分区中 device_trees 目录下的 g12a_s905x2_2g.dtb 复制到根目录下, 改名为 dtb.img

插上U盘, 在安卓中运行 Reboot To LibreElEC 后, 盒子重启就会自动从U盘启动.

第一次启动时, U盘中的系统在初始化时有一些问题, 文件没有释放全, 扩容倒是扩成功了, 重启后也能进EmuELEC界面, 功能都是好的, 但是没法运行游戏. 在系统启动阶段会报一些这样的错

Failed to mount: tmp-cores.mount
Failed to mount: tmp-database.mount
...

图是从网上借的, 就是这个错误界面

S905L3A(M401A)拆解, 运行EmuELEC和Armbian

这个错误不是因为 EMMC 慢, 是因为文件不全. U盘本身没问题, 猜测原因是供电不足, 因为另一个USB口同时插了键盘.

改dtb文件是没用的, 解决办法就是... 重做一个U盘, 重新再启动初始化一遍. 建议在初始化时最好只插U盘, 另一个USB口不要插东西.

在启动阶段会报一个 tmp-shell 错误, 但是似乎对运行没影响.

运行游戏

游戏基本上都能直接运行, 不需要单独设置引擎.

性能提升比较明显的有以下游戏:

  • FBNeo
    • ESP Ra.De 长空超少年, 纵版射击游戏, 在 R3300L 上有明显失帧破音, 在 M401A 上运行流畅
    • Gunlock/Layer Section 在 R3300L 上有明显的失帧破音, 在 M401A 上运行90%流畅, 除了个别场景还会有一些卡顿
  • Dreamcast
    • Soulcalibur刀魂在 R3300L 上能凑合玩, 卡顿明显, 在 M401A 上除了开场卡顿, 游戏过程中还是很流畅的

而对于 Dreamcast 的另一些游戏, 例如 Dead or Alive 2, 斑鸠, 依然是很卡.

开启蓝牙

RTL8761

M401A 盒子自带的蓝牙是 RTL8761, 开启蓝牙的命令

rtk_hciattach -n -s 115200 ttyS1 rtk_h5 &

M401A的蓝牙是 RTL8761b, 在EmuELEC默认安装下, 直接运行上面的命令会报错

Realtek Bluetooth :Couldnt open extra config /opt/rtk_btconfig.txt, No such file or directory
Realtek Bluetooth :Couldnt access customer BT MAC file /storage/.config/btaddr
Realtek Bluetooth ERROR: Can't access Config file: /lib/firmware/rtlbt/rtl8761b_config, No such file or directory
Realtek Bluetooth ERROR: Read Config file error, use eFuse settings
Realtek Bluetooth ERROR: Can't access firmware /lib/firmware/rtlbt/rtl8761b_fw, No such file or directory
Realtek Bluetooth ERROR: Read Bluetooth firmware error
Realtek Bluetooth ERROR: Can't initialize device 2, No such file or directory

而这两个文件实际上存在于 /usr/lib/kernel-overlays/base/lib/firmware/rtl_bt/ 目录下

ll /usr/lib/kernel-overlays/base/lib/firmware/rtl_bt/
total 908
drwxrwxr-x    2 root     root           844 Nov 19  2022 ./
drwxrwxr-x   26 root     root          6442 Nov 20  2022 ../
-rw-rw-r--    1 root     root         38764 Nov 19  2022 rtl8192ee_fw.bin
-rw-rw-r--    1 root     root         37904 Nov 19  2022 rtl8192eu_fw.bin
-rw-rw-r--    1 root     root         24548 Nov 19  2022 rtl8723a_fw.bin
-rw-rw-r--    1 root     root         45048 Nov 19  2022 rtl8723b_fw.bin
-rw-rw-r--    1 root     root            64 Nov 19  2022 rtl8723bs_config-OBDA0623.bin
-rw-rw-r--    1 root     root            64 Nov 19  2022 rtl8723bs_config-OBDA8723.bin
lrwxrwxrwx    1 root     root            29 Nov 19  2022 rtl8723bs_config.bin -> rtl8723bs_config-OBDA8723.bin
-rw-rw-r--    1 root     root         52116 Nov 19  2022 rtl8723bs_fw.bin
-rw-rw-r--    1 root     root            10 Nov 19  2022 rtl8723d_config.bin
-rw-rw-r--    1 root     root         52080 Nov 19  2022 rtl8723d_fw.bin
-rw-rw-r--    1 root     root         74488 Nov 19  2022 rtl8761a_fw.bin
-rw-rw-r--    1 root     root            25 Nov 19  2022 rtl8761b_config.bin
-rw-rw-r--    1 root     root         37740 Nov 19  2022 rtl8761b_fw.bin
-rw-rw-r--    1 root     root             6 Nov 19  2022 rtl8761bu_config.bin
-rw-rw-r--    1 root     root         42088 Nov 19  2022 rtl8761bu_fw.bin

需要建立软链

ln -s /usr/lib/kernel-overlays/base/lib/firmware/rtl_bt/rtl8761b_fw.bin /lib/firmware/rtlbt/rtl8761b_fw
ln -s /usr/lib/kernel-overlays/base/lib/firmware/rtl_bt/rtl8761b_config.bin /lib/firmware/rtlbt/rtl8761b_config

再运行就正常了

EMUELEC:~ # rtk_hciattach -n -s 115200 ttyS1 rtk_h5 &
[1] 7426
EMUELEC:~ # Realtek Bluetooth :Realtek Bluetooth init uart with init speed:115200, type:HCI UART H5
Realtek Bluetooth :Realtek hciattach version 3.1.dced3af.20210423-153942

Realtek Bluetooth :Use epoll
Realtek Bluetooth WARN: OP_H5_SYNC Transmission timeout
Realtek Bluetooth :[SYNC] Get SYNC Resp Pkt
Realtek Bluetooth :[CONFIG] Get SYNC pkt
Realtek Bluetooth :[CONFIG] Get SYNC pkt
Realtek Bluetooth :[CONFIG] Get CONFG pkt
Realtek Bluetooth ERROR: receive packets in active state
...
Realtek Bluetooth :Load FW /lib/firmware/rtlbt/rtl8761b_fw OK, size 37740
Realtek Bluetooth :rtb_get_fw_project_id: opcode 0, len 1, data 14
Realtek Bluetooth :FW version 0x0d9a2883, Patch num 2
Realtek Bluetooth :Chip id 0x0001
Realtek Bluetooth :Chip id 0x0002
Realtek Bluetooth :Patch length 0x5ba4
Realtek Bluetooth :Start offset 0x00003780
Realtek Bluetooth :Svn version:    24105
Realtek Bluetooth :Coexistence: BTCOEX_20190327-0202

Realtek Bluetooth :FW  exists, Config file  exists
Realtek Bluetooth :Total len 23485 for fwc
Realtek Bluetooth :baudrate in change speed command: 0x02 0x80 0x92 0x04
Realtek Bluetooth :Receive cmd complete event of command: fc17
Realtek Bluetooth :Received cc of vendor change baud
Realtek Bluetooth :Final speed 1500000
Realtek Bluetooth :end_idx: 93, lp_len: 49, additional pkts: 5

Realtek Bluetooth :Start downloading...
Realtek Bluetooth :Send additional packet 94
Realtek Bluetooth :Send additional packet 95
Realtek Bluetooth :Send additional packet 96
Realtek Bluetooth :Send additional packet 97
Realtek Bluetooth :Last packet 226
Realtek Bluetooth :Send last pkt
Realtek Bluetooth :Enable host hw flow control
Realtek Bluetooth :h5_hci_reset: Issue hci reset cmd
Realtek Bluetooth :Receive cmd complete event of command: 0c03
Realtek Bluetooth :Received cc of hci reset cmd
Realtek Bluetooth :Init Process finished
Realtek Bluetooth :Realtek Bluetooth post process
Realtek Bluetooth :Device setup complete

在系统中存在一个 rtkbt-firmware-aml.service 服务, 文件位于 /usr/lib/systemd/system/rtkbt-firmware-aml.service 内容如下

[Unit]
Description=Attach /dev/ttyS1 to BlueZ stack using rtk_h5 type
Wants=bluetooth.service
Before=bluetooth.service
After=dev-ttyS1.device

[Service]
Type=simple
ExecStartPre=/usr/sbin/rfkill unblock bluetooth
ExecStart=/usr/bin/rtk_hciattach -n -s 115200 /dev/ttyS1 rtk_h5
ExecStopPost=/usr/sbin/rfkill block bluetooth

所以添加完软链后, 也可以通过systemctl start rtkbt-firmware-aml启动蓝牙

启动蓝牙后, 在ES上通过菜单搜索依然无法找到蓝牙设备, 需要运行一个游戏, 进入RA界面, 在Settings里通过Bluetooth设置

  • RTL8761 Bluetooth Support https://github.com/EmuELEC/EmuELEC/issues/698
  • 蓝牙启用方法参考 https://tieba.baidu.com/p/8063516479
  • 蓝牙启用方法参考 https://www.right.com.cn/forum/thread-8295899-1-1.html

UWE5621DS

311-1AS盒子内置双频WIFI+蓝牙, 芯片为 UWE5621DS, 开启方式

insmod /usr/lib/kernel-overlays/base/lib/modules/4.9.269/uwe5631-aml/uwe5621_bsp_sdio.ko
insmod /usr/lib/kernel-overlays/base/lib/modules/4.9.269/uwe5631-aml/sprdbt_tty.ko
insmod /usr/lib/kernel-overlays/base/lib/modules/4.9.269/uwe5631-aml/sprdwl_ng.ko

这时候通过 ifconfig 就能看到 wlan0 网口了. 如果不行, 可以替换成这个dtb重启后再试一下

https://github.com/KryptonLee/e900v22c-CoreELEC/raw/main/common-files/e900v22c.dtb

启用 wlan0

ifconfig wlan0 up

启动蓝牙

systemctl start sprd_sdio-firmware-aml.service

运行 Armbian

从 ophub 的 GitHub 仓库下载 Armbian 镜像 https://github.com/ophub/amlogic-s9xxx-armbian/releases

我选择的是 Armbian_23.08.0_amlogic_s905l3a_jammy_5.15.127_server_2023.08.19, 解压后用 Disk Image Writer 直接写入移动硬盘.

接上硬盘, 在盒子安卓系统中运行 Reboot_to_libreelec 就会重启到 Armbian 了.

这个镜像的网络正常, 但是默认没有加载蓝牙.

在 Android, EmuELEC 和 Armbian 这三个系统之间切换的问题

  1. 没有加外置存储, 开机会直接运行安卓.
  2. 在安卓中运行 Reboot to LibreELEC, 可以进入 EmuELEC
  3. 运行过EmuELEC的盒子, 即使在安卓中运行 Reboot to LibreELEC, 也无法从 USB 启动 Armbian,

解决方法是: 在 EmuELEC 的 ssh 里面, 通过 fw_setenv 命令删除变量 bootfromsd

fw_setenv bootfromsd
# 再运行 fw_printenv 确认 bootfromsd 变量已经删除
fw_printenv
# 关机

关机后插上Armbian的U盘或移动硬盘, 重启进入安卓中运行reboot_to_libreelec, 就能进入Armbian了.

U盘,移动硬盘的兼容性

不单单是 M401A, 其它型号的盒子也是, 都会挑硬盘, 挑U盘, 挑TF卡. 在PC上明明工作正常的移动硬盘, 在盒子上就会反复断开连接, 或者初始化失败.
大半的原因是供电, 因为盒子的供电都会差一些, 另外的原因是盒子 UBOOT 内置的驱动, 可能对部分硬件兼容性不够好.

总之要多备一些, 如果一个启动出现问题, 换另一个试试, 排除因为存储不兼容导致系统启动失败的问题.文章来源地址https://www.toymoban.com/news/detail-676192.html

参考

  • M401A/311-1a Armbian下RTL8721蓝牙使用 https://bbs.hassbian.com/thread-18366-1-1.html
  • M401A/311-1a Armbian 蓝牙, reboot/音乐问题https://bbs.hassbian.com/thread-17392-1-1.html
  • 【23年7月更】M401A/CM311等盒子Armbian 系统 RTL8761BTV 蓝牙的正确方式https://github.com/ophub/amlogic-s9xxx-armbian/discussions/1546
  • E900V22C运行EmuELEC https://post.smzdm.com/p/a5olm8vl/
  • 创维E900V22c刷EmuELEC开启蓝牙及Wifi https://zhuanlan.zhihu.com/p/598094381
  • EmuELEC游戏合集(开启自带蓝牙) https://www.aliyundrive.com/s/nXc3T1ryv7D 提取码: 09ke

到了这里,关于S905L3A(M401A)拆解, 运行EmuELEC和Armbian的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • S905L电视机顶盒刷armbian实现

    中兴B860AV2.1-U EMMC版本,理论上所有的这个CPU并且是EMMC版本都可以刷 一条USB双公头刷机线; HDMI显示器; 16GB左右的U盘,最好是接口USB2.0 或者 一张16G的内存卡; Windows7 64位电脑,Windows10 可能不行; 晶晨固件刷新工具:晶晨线刷工具含驱动setup_v2.0.7.2_build2.7z S905L安卓6.0带roo

    2024年02月05日
    浏览(52)
  • 通刷-晶晨S905L/S905LB主控芯片_安卓6.0-带ROOT-线刷通刷固件包(支持多种遥控)

    通刷-晶晨S905L/S905LB主控芯片_安卓6.0-带ROOT-线刷通刷固件包(支持多种遥控) 固件说明: 本固件教程针对晶晨S905L/S905L-B芯片机型通刷,此为安卓6.0线刷固件!支持移动遥控器等多种遥控! 1,安卓6.0,适合2.1,1.1t,3300l等老机型,大部分型号有线无线正常。 2,纯净固件,

    2024年02月07日
    浏览(31)
  • 【230828更新】晶晨(Amlogic)s905l(-b)p211 android 9.0(atv 9)固件(firmware)

    230828更新: 1.修复usb sdcard 2.删除一些遥控器支持   写在前面: 本人之前在论坛发布过android 6.0 android 7.1,一直在关注这些盒子的信息,一天在网上发现了一款与国内运营商配置相同的外贸盒子(Q96 MAX),这款盒子用的也是p201的母板,同时处理器也是s905l,于是本人在一个俄

    2024年02月06日
    浏览(29)
  • 魔百盒M101_晶晨S905L处理器_XR8189无线_鸿蒙开机动画_专用安卓线刷rom固件包

    魔百盒M101_晶晨S905L处理器_XR8189无线_鸿蒙开机动画_专用安卓线刷rom固件包(内有短接点及主板图) 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量

    2024年02月07日
    浏览(43)
  • 新魔百和CM311-1sa_YST代工_S905L3A_安卓9_线刷固件包

    新魔百和CM311-1sa_YST代工_S905L3A_安卓9_线刷固件包 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、去除应用安装限制; 6、支持开机

    2024年03月14日
    浏览(49)
  • 贵州电信中兴B863AV3.2T_S905L3A-B_安卓9.0_原机修改当贝桌面线刷固件包

     贵州电信中兴B863AV3.2T_S905L3A-B_安卓9.0_原机修改当贝桌面线刷固件包     特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、去除应用

    2024年02月03日
    浏览(36)
  • 中兴B863AV3.1-M2_S905L3安卓9.0线刷包

    中兴B863AV3.1-M2_S905L3安卓9.0线刷包,只预装了语音,和美家市场。 蓝牙 语音 WIFI都正常 刷机方法: 打开USB_Burning_Tool线刷工具,加载固件,然后选取对应固件刷取即可,注意两个擦除都要勾选! 链接: https://pan.baidu.com/s/1v4M7e61bP4bK1nBiP6lFfQ 提取码:cfkj 声明:本安卓固件,仅供内

    2024年01月23日
    浏览(33)
  • 创维E900V22C/E900V22D_S905L3(L3B)_安卓9.0_线刷固件

    特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、支持蓝牙语音 6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HD

    2024年01月17日
    浏览(33)
  • 移动烽火HG680-LC_S905L3_安卓9.0_纯净线刷救砖固件

    特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、支持蓝牙语音 6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HD

    2024年02月04日
    浏览(35)
  • 创维E900V22C/E900V22D_S905L3(L3B)_安卓9.0_通刷卡刷固件

    创维E900V22C/E900V22D_S905L3(S905L3B)芯片_安卓9.0_通刷卡刷固件包 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间; 5、去除应用安装限制

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包