说明
贝壳云基于瑞芯微的RK3328芯片, 芯片介绍, Cortex-A53架构, 4核, 1G内存, 8G eMMC. 板载1个千兆网口, 4个USB3.0.
这个盒子比较赞的地方就是不到百元的价格同时有USB3和千兆网口, 这是市面上其它盒子做不到的.
它的缺点是性能比Amlogic的S905x系列差些, 另外发热量较大.
可以刷的固件主要有 Armbian, OpenWRT, LibreELEC, 还有安卓. 这里说的是怎样刷Armbian, 对应的刷OpenWRT的方法也是一样的.
准备工作
软件准备
- DriverAssistant_V4.5.zip 用于安装对应RK3328的USB驱动
- AndroidTool_Release_v2.58.zip RK3328的刷机工具
- rk3328_loader_v1.14.249.bin bootloader
- 4.4版本内核的Armbian Armbian_5.90_beikeyun_Ubuntu_bionic_default_4.4.182.img.xz
- 5.10版本内核的Armbian Armbian_20.10_Beikeyun_buster_5.10.26-flippy-56+.img.xz
以上文件的下载地址
- 链接: https://pan.baidu.com/s/1FfRvnDKnnoEERuWxtmaMFw
- 提取码: 9y3h
硬件准备
加焊引出USB口
内置的USB焊盘, 焊上USB线, 顺序(从USB口/网口那侧开始)为: 黑, 绿, 白, 红. 红色也焊上, 这样可以不用电源运行, 也可以不用电源就刷机. 为了方便, 可以在两侧电源口或者HDMI口处, 钻一个孔, 将USB线引进来. USB线可以用废的手机数据线, 一般这种数据线坏的都是小口那一段, USB大口这一段基本上都是好的. 如果不确定好坏的, 保险起见可以用万用表测一下, 伸不进去的可以将表笔搭在镊子上, 用镊子的弯尖伸进去测.
加焊TTL
内置的TTL焊盘, 焊上TTL排针, PCB板上有丝印就不说pin脚了.
引出底部短接触点
底部的两个短接点, 是为刷坏后无法正常启动和刷机而准备的, 短接后上电就会直接进入Maskrom模式. 这两个触点, 靠近屏蔽罩这一侧的触点其实就是GND, 另一侧的触点是RK3328的CLK脚. GND脚不需要引出, 将CLK脚引出就行.
用一根稍微粗点的多股线, 不能太长, 大概七八厘米刚刚好够伸出PCB两三厘米就好. 毕竟焊盘太小, 为了防止线松动造成脱焊, 建议焊接前用热熔胶将线固定好(如图一所示). 线如果太细或者太短, 短接就无效了, 完全进不去Maskrom状态. 我被这个问题困惑了一个下午, 一直排查最后才确定是因为线长和内阻的原因. 原先是想在外壳侧面加一个微动开关用来接这两个短路的, 后来发现不行, 白加了.
这个线引出后, 如果要进Maskrom模式,
- 先断开所有连接
- 将这跟线直接短接到TTL的GND, 或者旁边小按钮的GND, 都已经在图二上标出
- 然后USB连接到PC, 就会检测到MASKROM设备了.
关于内置USB焊盘的VCC
网上的教程都是不焊USB焊盘的VCC, 但是实际上焊上会方便得多: 单单运行贝壳云盒子时(不带硬盘), 连上USB可以直接运行, 在刷机时直接连USB就能刷机, 省了再接12V电源. 而没有USB口的情况下, 插12V电源也能运行, 等于同时支持两套电源方案.
关于内部TTL焊盘
焊上标准的2.54mm间隔的排针, 和外壳之间空间不冲突, 可以放心焊上. 有TTL可以方便观看输出, 了解错误信息.
关于焊接
- 这是我焊过的比较费劲的一个板子, 可能是因为用的是无铅焊锡? 290度的温度很难焊开这个板子上的锡, 要加到310度以上才行.
- 焊CLK焊盘的技巧: 这个焊盘很小, 直径差不多1mm, 要用特尖烙铁头, 900M-T-SI或者900M-T-I, 不能用普通烙铁头, 否则很容易接触到周围的0402的贴片元件, 把那些元件焊开了就麻烦了. 事先在焊盘上加一点助焊剂, 烙铁头搭一点焊锡, 准确地点在焊盘上, 焊盘上就会焊上一个圆润的锡球, 后面的导线只要先上好锡, 在上面稍微一加热就焊上了.
刷机过程
- 解开 DriverAssistant_V4.5.zip, 运行DriverInstall.exe安装驱动
- 解开 AndroidTool_Release_v2.58.zip, 运行等待连接
- 等待板子连接并进入Maskrom模式, 此时AndroidTool上会显示检测到MASKROM设备
- 选择固件
- 地址 0xCCCCCCCC, 名字 Boot, 路径 rk3328_loader_v1.14.249.bin
- 地址 0x00000000, 名字 system, 路径 -> 选择要刷的Armbian固件
- 点击
执行
- 正确的情况下, 工具会将loader写入板子后重启板子, 然后会一路写固件直到成功完成
- 如果显示boot失败, 说明刚才检测到的MASKROM设备并非真的进入了Maskrom状态, 可能进入的是ums或者fastboot状态, 需要再来一遍
- 接上TTL, 用波特率1,500,000, 可以很方便地观测到板子的真实状态情况
- 刷机完成后会自动重启, 如果没问题的话, 会一路直接进Armbian系统
关于固件的一些问题
Armbian_20.10_Beikeyun_buster_5.10.26-flippy-56+.img
这个直接用AndroidTool刷上就能运行, 但是有一个问题, 默认的语言是中文, 在直连HDMI的屏幕上中文全显示的是方片, 通过XShell连接显示才正常. 需要用下面的方法将文字恢复回英文
- 用 root 用户, 或者用 sudo 运行命令
dpkg-reconfigure locales
- 在前后两个界面上选择 "en_US.UTF-8" 或者 "en_GB.UTF-8"
- 操作完之后, 需要退出登录, 再登录进来才能看到效果
参考
- libgcc的主贴, 刷机和固件 https://www.jianshu.com/p/21d3954231dc
- Beikeyun Armbian 项目仓库, 只更新到内核4.4 https://github.com/hanwckf/build-beikeyun
- flippy的固件发布主贴, OpenWRT固件下载 https://www.right.com.cn/forum/thread-981406-1-1.html
- 高内核版本固件 Armbian(只有Debian)和OpenWRT的下载, 链接:https://pan.baidu.com/s/14RUYvddKL1p_lYP-kmGxZw 提取码:yvwc
- 项目仓库(打包, 5.x内核分版本) https://github.com/unifreq
- 刷OpenWRT https://www.wyr.me/post/627
- 拆机刷机, 加铁盒 https://post.smzdm.com/p/41348/
- https://www.codeleading.com/article/18221016547/