R3300-M玩机记录

拆机图

盒子与遥控器合影

硬件配置

处理器:Amlogic S905M-B,4核1.5GHz
存储:4GB EMMC
内存:1GB DDR3
有线网口:100M
无线网卡(2.4G):RTL8189ETV
TF卡槽:1个
USB接口(2.0):1个microUSB,1个A口
HDMI接口:1个
AV接口:1个(RET键在接口底部)
散热:优秀
电源:12V 1A,5.5mmX2.5mm
蓝牙:无
随机遥控器:优秀(具备学习功能)

线刷方式

准备工具

  • microUSB数据线
  • 运行Windows系统的电脑,推荐使用Win7和USB2.0。
  • 棉签
  • TF卡
  • 下载安装晶晨Burning_Tool(部分固件需要license文件否则显示刷机剩余次数为0)
  • 刷机镜像

    刷机镜像推荐

  • 潜龙固件 20171210_Q5_G2-40F_S905-S905M_android4.42_root_qlzy.rar ,自带root和bootloader,刷机方便,可用于救砖。
  • 乐天固件 Q5_晶晨S905M-安卓4.4.2-支持8189和7601无线-当贝华为logo和动画-多遥控支持线刷包-20201126版.rar,可惜不带root,没法方便自行替换遥控文件。
  • ATV固件 MXQ_PRO_4K_p201_android_TV_by cOOLio_V2.5_MEE.7z。这个是真正的ATV固件,自带root开关,可惜R3300-M 4G的EMMC存储实在捉襟见肘所以不太实用。注意刷入这个固件后盒子会解锁4K@60fps(先前最大4K@30fps),CPU性能测试提升19%,美中不足没法遥控器开机了。

    备份EMMC分区

    刷机前,强烈建议使用Armbian对EMMC分区进行备份,以免后悔。利用testdisk等工具从原厂EMMC镜像中也可以提取出遥控文件。盒子在刷机前无法启动高版本Armbian,推荐使用Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.imgArmbian_5.99_Aml-g12_Ubuntu_bionic_default_5.3.0_rtl8189ftv.tar.gz。开机前,用棉签(去掉一头棉布)按住RST键进入Armbian系统,执行ddbr命令备份mmcblk0。

注:Armbian镜像写入TF卡后需要进行配置,早期,中期,后期配置方式不同。Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.img将gxbb_p200_1G_100M_RealtekWiFi.dtb复制到TF卡根目录,重命名为dtb.img即可,Armbian_5.99_Aml-g12_Ubuntu_bionic_default_5.3.0_rtl8189ftv.tar.gz修改uEnv.txt文件引用meson-gxbb-p201.dtb,后期Armbian20.10修改/extlinux/extlinux.conf并将u-boot-s905重命名为u-boot.ext。详情参见 https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/?ct=1613786525 ,其他用户自行编译(如恩山论坛)的可能存在差异。

首次刷机

  • 电脑上使用Burning_Tool导入镜像,默认配置不变,点击开始刷机;
  • 在棉签按住RST键的情况下,接通电源后迅速用microUSB数据线连接盒子与电脑,如无意外电脑会先自动安装驱动然后开始刷机进程,刷机进程显示100%后拔电源重启即可,视情况可能需要自行替换遥控文件:

/etc/remote.conf,remote1.conf,remote2.conf

我在原厂遥控文件基础上仅修改添加了menu键,余处未做改动。

刷机后,盒子可以引导Armbian20.10了。

二次刷机

在刷写第三方固件后不能按RST键进入刷机模式的情况下,网上流传的方式基本都是拆机短接强刷,其实没必要,有简单的方法。Armbian启动后,随便往mmcblk0头部写入一些数据,比如:
dd if=/dev/zero of=/dev/mmcblk0/ bs=4M count=30
这样下次开机只有电源灯亮。电脑上点击开始刷机,盒子拔掉电源,使用microUSB数据线连接电脑,会自动安装驱动并开始刷机进程。

Armbian镜像推荐

刚才已经列出了Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.imgArmbian_5.99_Aml-g12_Ubuntu_bionic_default_5.3.0_rtl8189ftv.tar.gz。这2个都能驱动WIFI(8189es),但是内核版本比较老。我目前使用的是balbes150发布的Armbian_20.10_Arm-64_focal_current_5.9.0.img.xz,没有集成8189es驱动WIFI无法使用,不过当做headless server无所谓了。CSDN上倒是有RTL8189ES_linux_v5.8.9_35085.20191003.zip,要26块钱下载: https://download.csdn.net/download/rxgzh070207/11978856?utm_source=bbsseo

Coreelec测试

CoreELEC-Amlogic.arm-9.2.6-Generic.img.gz搭配gxbb_p200_1G_100M_RealtekWiFi.dtb可以使用,也能写入EMMC,我还特意制作了meson-ir遥控文件:

R3300M

点击展开查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# table R3300M, type: NEC
# ###################################################### #
# 遥控码 Keycode 实体按键 实现功能 #
# ###################################################### #
# 基本功能区(测试正常)
0xb3dc KEY_POWER #【待机】 开关机
0xb39c KEY_MUTE #【静音】 静音
0xb388 KEY_HOME #【首页】 HOME键
0xb382 KEY_MENU #【本地】 菜单键
0xb3ce KEY_OK #【确定】 确定
0xb3c5 KEY_BACK #【返回】 返回
0xb395 KEY_PLAYPAUSE #【播放暂停】 暂停/播放
0xb3ca KEY_UP #【上】 上
0xb3d2 KEY_DOWN #【下】 下
0xb399 KEY_LEFT #【左】 左
0xb3c1 KEY_RIGHT #【右】 右
0xb380 KEY_VOLUMEUP #【音量+】 音量增大
0xb381 KEY_VOLUMEDOWN #【音量-】 音量减小
0xb3dd KEY_PAGEUP #【上页】 向上翻页
0xb38c KEY_PAGEDOWN #【下页】 向下翻页
0xb385 KEY_CHANNELUP #【频道+】 向上调台
0xb386 KEY_CHANNELDOWN #【频道-】 向下调台
# 数字按键区(测试正常)
0xb387 KEY_0 #【0】 0
0xb392 KEY_1 #【1】 1
0xb393 KEY_2 #【2】 2
0xb3cc KEY_3 #【3】 3
0xb38e KEY_4 #【4】 4
0xb38f KEY_5 #【5】 5
0xb3c8 KEY_6 #【6】 6
0xb38a KEY_7 #【7】 7
0xb38b KEY_8 #【8】 8
0xb3c4 KEY_9 #【9】 9
# 快捷功能区(测试正常)
0xb3cd KEY_Red #【直播】 Kodi TV PVR(电视)
0xb391 KEY_Green #【回看】 Kodi Videos(视频)
0xb383 KEY_Yellow #【点播】 Kodi Music (音乐)
0xb3c3 KEY_BLUE #【信息】 Kodi Pictures(图片)
# 其他按键定义
0xb398 KEY_CONTEXT_MENU #【声道】 显示详细信息
0xb38d KEY_SUBTITLE #【设置】 字幕
0xb3d6 KEY_STOP #【交换】 停止播放
0xb3da KEY_REWIND #【*】 快退
0xb3d0 KEY_FASTFORWARD #【#】 快进
0x51806e KEY_INFO #【TV/IPTV】 显示信息

rc_maps.cfg

点击展开查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Keymaps table
#
# This table creates an association between a keycode file and a kernel
# driver. It can be used to automatically override a keycode definition.
#
#
# Format:
# driver - name of the driver provided via uevent - use * for any driver
# table - RC keymap table, provided via uevent - use * for any table
# file - file name. If directory is not specified, it is first looked up
# in /storage/.config/rc_keymaps, then /usr/lib/udev/rc_keymaps
#
# For example:
#
# driver table file
#
# gpio-rc-recv rc-streamzap streamzap
# gpio-rc-recv * justboom
# * rc-rc6-mce rc6_mce_new
# * * hauppauge_new
meson-ir * R3300M

Openwrt测试

测试了恩山Flippy为N1最后发布的49+镜像,配合meson-gbxx-p201.dtb启动没问题,但是写入emmc后无法启动,原因不明。