大家好,欢迎来到IT知识分享网。
关于S905L3A / S905L3AB
同型号的电视盒子中出现的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卡槽焊盘, 可以自己加焊.
实物图
底部标识
顶部的配重+散热
PCB正面
CPU S905L 3A
内存
NAND
蓝牙
安卓和相关工具下载
运行EmuELEC
插上U盘, 在安卓中运行 Reboot To LibreElEC 后, 盒子重启就会自动从U盘启动.
第一次启动时, U盘中的系统在初始化时有一些问题, 文件没有释放全, 扩容倒是扩成功了, 重启后也能进EmuELEC界面, 功能都是好的, 但是没法运行游戏. 在系统启动阶段会报一些这样的错
Failed to mount: tmp-cores.mount Failed to mount: tmp-database.mount ...
图是从网上借的, 就是这个错误界面
这个错误不是因为 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 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 ttyS1 rtk_h5 & [1] 7426 EMUELEC:~ # Realtek Bluetooth :Realtek Bluetooth init uart with init speed:, type:HCI UART H5 Realtek Bluetooth :Realtek hciattach version 3.1.dced3af.- 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_-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 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 /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/
- 蓝牙启用方法参考 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 这三个系统之间切换的问题
- 没有加外置存储, 开机会直接运行安卓.
- 在安卓中运行 Reboot to LibreELEC, 可以进入 EmuELEC
- 运行过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/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/
- EmuELEC游戏合集(开启自带蓝牙) https://www.aliyundrive.com/s/nXc3T1ryv7D 提取码: 09ke
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129956.html