当前位置: 首页 > article >正文

网心云 OEC/OECT 笔记(1) 拆机刷入Armbian固件

目录

  • 网心云 OEC/OECT 笔记(1) 拆机刷入Armbian固件
  • 网心云 OEC/OECT 笔记(2) 运行RKNN程序

外观

内部

PCB正面

PCB背面

PCB背面

RK3566

1Gbps PHY

配置

OEC 和 OECT(OEC-turbo) 都是基于瑞芯微 RK3566/RK3568 的网络盒子, 没有HDMI输入输出. 硬件上 OEC 和 OECT 是一样的, 唯一的区别是内存, OEC 内存 2GB 而OECT 内存是 4GB.

产品OECOEC-turbo
CPURK3566/RK3568RK3566/RK3568
内存2GB4GB
系统存储8GB8GB
网络接口千兆以太网接口*1千兆以太网接口*1
硬盘接口SATA3.0接口*1;支持内置2.5寸 硬盘SATA3.0接口*1;支持内置2.5寸 硬盘
USBUSB3.0*1USB3.0*1
电源12V/2A 电源12V/2A 电源
产品尺寸145mm90mm47mm145mm90mm47mm

相关下载

https://cloud.189.cn/t/N7RFNn7zIBNz 访问码: h5nu

  • DriverAssitant_v5.13
    瑞芯微的USB驱动
  • RKDevTool_Release_v3.31.zip
    瑞芯微的线刷工具
  • MiniLoaderAll_oect.bin
    线刷时需要写入的BOOT固件, 在PCB版本为 OEC-1.1 的板子上可以正常启动
  • Flash_Armbian_25.05.0_rockchip_efused-wxy-oec_bookworm_6.1.99_server_2025.03.20.7z
    • 来源: [重发/线刷包]适用于OEC,带VPU,灯控等的Debian Armbian by hoiw
    • Armbian固件包,内核信息为 Linux armbian 6.1.99-rk35xx-ophub #1 SMP Mon Mar 17 11:25:03 EDT 2025 aarch64 GNU/Linux
  • oec_base.img.7z
    据说是救砖时用的OEC底包, 未实测

其它下载地址

  • https://share.weiyun.com/Hb8Zhxek
  • https://pan.baidu.com/s/13wWc1Z8slffM8WOOBlcf9w?pwd=5xk4

刷机流程

详细的拆机和刷机步骤, 参考这两篇就行

  • 扔掉玩客云斐讯N1吧,这才是2025年NAS性价比王者-OEC刷机篇
  • 网心云OEC-turbo超越N1的矿渣神器,刷机Armbian系统喂饭教程

大致的步骤就是

  • 下载 MiniLoaderAll_oect.bin 到本地
  • 下载 Flash_Armbian_25.05.0_rockchip_efused-wxy-oec_bookworm_6.1.99_server_2025.03.20.7z 到本地, 解压
  • 下载 DriverAssitant 到本地, 解压, 安装驱动
  • 下载 RKDevTool_Release_v3.31 到本地, 解压, 运行, 只勾选前两行, 设置好地址, 选择对应的固件文件
  • 使OEC板子进入MASKROOM状态
  • 在 RKDevTool 中执行烧录

关于下载BOOT失败

失败是正常的, 多试几次.

对于"下载BOOT失败", 如果一直失败, 可以用下图这种方式试试, 来源恩山论坛 帖子链接. 比短接GND, 1V8的成功率高很多.

  1. 开着 RKDevTool, 先把地址和固件设置好
  2. 用一个金属物(例如小螺丝刀)对着图中18ct元件的2,3脚, 悬着先不要短接
  3. OECT连上USB线, 另一头对着电脑USB口, 往USB口插OECT的灯亮起的那一刻, 迅速点一下2, 3脚使其短路, 点完即可放开, 此时会灯灭一下然后又亮, 就能检测到 MASKROOM 设备了
  4. 之后立即点击执行.

使用这种方式进入MASKROOM状态, 下载 BOOT 阶段的成功率能达到50%以上.

关于测试设备失败

如果BOOT下载成功, 执行到"测试设备开始", 但总是测试设备失败, 说明BOOT已经写进去了并且板子也启动了, 但是从上位机去检查板子的USB口失败了. 多试几次就可以了. 这种情况也可能是写入的 MiniLoaderAll.bin 不合适, 没有正常启动板子的USB口. 换一个 MiniLoaderAll.bin 试试.

刷机成功的界面

最后一步写入固件因为有7个多GB, 写入的时间会比较久, 如果需要判断 RKDevTool 是否工作正常, 可以开一个系统任务管理器查看, 如果 RKDevTool 这个进程一直有磁盘写入, 说明还在工作.

系统展示

Armbian 系统设置

hoiw原帖中对这个固件的介绍

重写了设备树,设备树及源码已提交至ophub,以后可以通过底包+ophub包的方式直接安装。
目前ophub的rk35xx支持有问题,导致不能双包(底包+ophub镜像包)安装,等ophub那边修复。适用于OEC/OEC-Turbo的Armbian镜像
知道你们想要装OMV,这次是Debian 12(Bookworm)的镜像。
镜像修复了RKVENC,RKVDEC的支持,有RGA设备,有NPU。
GPU目前只能通过panfrost驱动,目测是上游源码的问题,没有mali0节点
eMMC分区目前应该是所有包里利用率最大的,刷好以后eMMC根目录总空间6.5个G
支持灯控,有红蓝绿三色,以及调色后青(蓝+绿),黄(红+绿),粉(红+蓝),白(红+蓝+绿)四色 共7色可调,自己写脚本。
默认是绿灯(不过青色好看些,下一版改掉?)原厂OEC镜像的uboot自带一个BUG,会导致USB插某些设备无法启动。无法修复
但是,只要关闭开机的USB设备启动,让uboot不检测USB,就能避免这个BUG,
这个镜像添加了开关,支持关闭USB启动,这样USB就能开机插着硬盘了。
线刷镜像(此贴)默认关闭USB启动,ophub镜像(双镜像)默认开启。关闭/开启USB启动方法(仅适用于此镜像):
首次运行时,执行以下命令:
apt update
apt-mark unhold armbian-bsp-cli-odroidn2-current
apt remove u-boot-tools
apt install u-boot-tools
apt install armbian-bsp-cli-odroidn2-current
apt-mark hold armbian-bsp-cli-odroidn2-current之后 只要运行fw_setenv enabled_usbboot '0' 就能关闭开机的USB启动
要再打开USB启动,用fw_setenv enabled_usbboot '1'
(注意英文单引号别打错了)

修改软件源

默认的软件源下载太慢了, 修改 /etc/apt/sources.list.d/debian.sources, 替换软件源

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: bookworm bookworm-updates bookworm-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpgTypes: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

常用命令

查看CPU温度, 数值要除以1000

$ cat /sys/class/thermal/thermal_zone0/temp
41250

查看emmc寿命, 参数的值以 10% 的步长参考, 例如 0x01 = 0-10%, 0x02 = 10%-20% 寿命损耗

$ mmc extcsd read /dev/mmcblk0 | grep Life
eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01
eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x00

查看GPIO

$ sudo cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/fdd60000.gpio, gpio0:gpio-19  (                    |red-led             ) out hi ACTIVE LOWgpio-22  (                    |vcc5v0-host-regulato) out hi gpiochip1: GPIOs 32-63, parent: platform/fe740000.gpio, gpio1:gpiochip2: GPIOs 64-95, parent: platform/fe750000.gpio, gpio2:gpiochip3: GPIOs 96-127, parent: platform/fe760000.gpio, gpio3:gpio-107 (                    |blue-led            ) out hi ACTIVE LOWgpio-108 (                    |green-led           ) out lo ACTIVE LOWgpiochip4: GPIOs 128-159, parent: platform/fe770000.gpio, gpio4:

查看LED

$ cat /sys/class/leds/blue-led/brightness 
0
$ cat /sys/class/leds/red-led/brightness 
0
$ cat /sys/class/leds/green-led/brightness 
1

相关链接

  • oec已经有可以直接刷的固件了,但是是ubuntu的noble版本,大佬可否适配下Debian的bullseye和bookworm,想装个omv,感谢大佬 #2786
    ophub 的 armbian 仓库项目下, 关于 oec/oect 固件的讨论1
  • 兄弟们。网心云oecturbo 刷入这个固件还会变砖吗 #2834
    ophub 的 armbian 仓库项目下, 关于 oec/oect 固件的讨论2
  • https://wiki.kobol.io/helios64/maskrom/
    Linux 上位机刷机

相关文章:

网心云 OEC/OECT 笔记(1) 拆机刷入Armbian固件

目录 网心云 OEC/OECT 笔记(1) 拆机刷入Armbian固件网心云 OEC/OECT 笔记(2) 运行RKNN程序 外观 内部 PCB正面 PCB背面 PCB背面 RK3566 1Gbps PHY 配置 OEC 和 OECT(OEC-turbo) 都是基于瑞芯微 RK3566/RK3568 的网络盒子, 没有HDMI输入输出. 硬件上 OEC 和 OECT…...

【Web应用】若依框架:基础篇17二次开发-项目名称修改-新建业务模块

文章目录 ⭐前言⭐一、课程讲解⭐二、自己手动实操⭐总结 标题详情作者JosieBook头衔CSDN博客专家资格、阿里云社区专家博主、软件设计工程师博客内容开源、框架、软件工程、全栈(,NET/Java/Python/C)、数据库、操作系统、大数据、人工智能、工控、网络、…...

C获取unix操作系统的信息

在 C 语言中获取 Linux 操作系统的架构类型(如 x86_64)、系统位数(32/64位)、内核信息等,可以通过多种方式实现。下面是几种常见的方法: ✅ 方法一:使用 uname 获取系统信息 #include <stdio.h> #include <sys/utsname.h>int main(...

MQTT入门实战宝典:从零起步掌握物联网核心通信协议

MQTT入门实战宝典&#xff1a;从零起步掌握物联网核心通信协议 前言 物联网时代&#xff0c;万物互联已成为现实&#xff0c;而MQTT协议作为这个时代的"数据总线"&#xff0c;正默默支撑着从智能家居到工业物联的各类应用场景。本文将带你揭开MQTT的神秘面纱&#…...

05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作

目录 前言 1 Linux用户管理基础概念 1.1 Linux用户类型 1.2 用户相关配置文件 1.3 UID与GID 2 用户创建与管理 2.1 创建用户 2.2 设置用户密码 3 用户权限管理 3.1 授予sudo权限 3.2 以其他用户身份执行命令 4 用户信息查询 4.1 查看用户基本信息 4.2 查看用户所…...

POP3、IMAP、SMTP:三大邮件协议核心差异与应用场景解析

## 一、协议概述与核心功能 电子邮件系统的运行依赖三大核心协议&#xff1a;**POP3**&#xff08;Post Office Protocol 3&#xff09;、**IMAP**&#xff08;Internet Message Access Protocol&#xff09;和**SMTP**&#xff08;Simple Mail Transfer Protocol&#xff09;…...

HarmonyOS5 仓颉入门:和 ArkTs 互操作

现在一般的场景是在已有 ArkTs 库中使用仓颉&#xff0c;所以可以将仓颉代码封装为 ArkTs 库&#xff0c;提供给外部使用。 原理就是互操作宏解析被注解修饰的仓颉代码&#xff0c;会自动生成 ArkTs 声明文件和互操作层代码。 使用步骤&#xff1a; 1.在 cj 文件中&#xff…...

【Git 合并冲突解决记录:从 “refusing to merge unrelated histories“ 到批量冲突处理】

Git 合并冲突解决记录&#xff1a;从 “refusing to merge unrelated histories” 到批量冲突处理 前言 作为开发者&#xff0c;我们经常会遇到各种 Git 问题&#xff0c;其中最让人头疼的莫过于 fatal: refusing to merge unrelated histories 这个错误。最近在项目开发中遇…...

使用vite-plugin-html在 HTML 文件中动态注入数据,如元数据、环境变量、标题

vite-plugin-html 是一个用于 Vite 构建工具的插件&#xff0c;它可以帮助你在构建过程中动态注入一些 HTML 内容&#xff0c;比如标题、元数据、环境变量等。通过使用这个插件&#xff0c;你可以根据项目的配置和环境变量自动生成带有动态内容的 HTML 文件&#xff0c;适用于 …...

Kinova机械臂在Atlas手术导航系统中的核心作用

Kinova机械臂凭借其高精度运动控制和智能交互功能&#xff0c;成为Atlas手术导航系统的重要组成部分。该系统通过实时跟踪患者位置和精确规划手术路径&#xff0c;提高了医疗过程的精准性与效率。灵活的设计使外科医生能够更轻松地操作复杂的手术工具&#xff0c;从而提升患者安…...

C++——智能指针 auto_ptr

一、RAII思想的引入 #include <iostream> using namespace std;#if 0 // C中动态申请的资源需要用户自己手动释放 // 如果操作不当&#xff0c;容易造成内存泄漏 // 能否做到让资源自动被释放&#xff1a;RAII // RAII : 将资源交给对象管理&#xff0c;对象被销毁时自动…...

.Net Framework 4/C# System.IO 命名空间(文件的输入输出)

一、Path 类 Path 类是一个静态类,只能通过类名访问它的静态成员。 获得文件的名字,可以用 GetFileName,返回的是具有扩展名的指定路径字符串的文件名,也可以用 GetFileNameWithoutExtension,返回的是不具有扩展名的指定路径字符串的文件名。 获得文件夹的名字,可以用 G…...

图像分类进阶:从基础到专业 (superior哥AI系列第10期)

图像分类进阶&#xff1a;从基础到专业 &#x1f680; 前言 &#x1f44b; 哈喽&#xff0c;各位深度学习的探索者们&#xff01;我是你们的老朋友superior哥 &#x1f60e; 经过前面九篇文章的学习&#xff0c;相信大家对深度学习的基础概念、神经网络架构、以及训练部署都…...

性能优化之SSR、SSG

一、SSR和SSG介绍 SSR&#xff08;Server-Side Rendering&#xff0c;服务端渲染&#xff09;和 SSG&#xff08;Static Site Generation&#xff0c;静态站点生成&#xff09;是现代前端框架&#xff08;如 Next.js、Nuxt.js、Gatsby&#xff09;的核心渲染策略&#xff0c;用…...

【C语言】字符与字符串

在 C 语言中&#xff0c;字符&#xff08;Character&#xff09; 和 字符串&#xff08;String&#xff09; 是两个不同但相关的概念。下面详细介绍它们的定义、存储方式和使用方法&#xff1a; 一、字符&#xff08;Character&#xff09; 1. 定义与存储 基本类型&#xff…...

经典算法:回文链表

题目&#xff1a;234. 回文链表 给你一个单链表的头节点 head&#xff0c;请你判断该链表是否为 回文链表。如果是&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&#x…...

uboot移植之GPIO上电初始状态的调整

开发板在上电之后&#xff0c;GPIO都有一个默认初始状态&#xff0c;这个状态可能是高电平也可能是低电平。而我们的应用程序在正式接管控制这些GPIO&#xff0c;是在内核起来并成功加载根文件系统之后。所以在内核启动的这段时间内&#xff0c;这些GPIO保持在一种不受控的状态…...

PasteForm(ABP)框架之实现更加灵活的类似多租户的归属过滤功能,比如只能查看自己的相关数据

需求说明 在开发中,我们常会遇到一个问题,就是归属查询问题,比如只能查看我自己的,往往这个时候还附带了一个规则,比如有人是在这个规则之外的! 1.只能查看创建者自己创建的资料 2.只能查看我店铺的相关内容,不能查看别人店铺的 3.只能查看我部门的相关信息等 可能你会…...

本地id_rsa.pub输入到服务器~/.ssh/authorized_keys后,依然需要输入密码的解决办法

首先检查服务器&#xff1a; sudo vim /etc/ssh/sshd_config 然后把这两个修改为&#xff1a; 如果依然需要输入密码&#xff0c;在本地终端&#xff1a; ssh -v userserver 查看认证过程&#xff0c;例如我这里提示说明客户端已成功尝试使用密钥认证&#xff1a; 进一步…...

【设计模式-3.7】结构型——组合模式

说明&#xff1a;本文介绍结构型设计模式之一的组合模式 定义 组合模式&#xff08;Composite Pattern&#xff09;又叫作整体-部分&#xff08;Part-Whole&#xff09;模式&#xff0c;它的宗旨是通过将单个对象&#xff08;叶子节点&#xff09;和组合对象&#xff08;树枝…...

Unity Mac 笔记本操作入门

在 macOS 笔记本电脑上使用 Unity Editor 的场景视图 (Scene View) 旋转视角&#xff0c;主要依赖于触摸板手势和键盘修饰键的组合。由于没有物理中键&#xff0c;操作方式会与 Windows 鼠标略有不同。 以下是具体的旋转视角操作&#xff1a; 1. 基本旋转视角 (Orbit) 这是最…...

实时数据仓库是什么?数据仓库设计怎么做?

目录 一、实时数据仓库是什么 &#xff08;一&#xff09;实时数据仓库的定义 &#xff08;二&#xff09;实时数据仓库的特点 二、实时数据仓库的应用场景 &#xff08;一&#xff09;金融行业 &#xff08;二&#xff09;电商行业 &#xff08;三&#xff09;物联网行…...

Linux(12)——基础IO(下)

目录 六、重定向 &#x1f4c4;输出重定向 &#x1f4c4;输入重定向 &#x1f4c4;追加重定向 &#x1f4c4;dup2 七、理解一切皆文件 八、缓冲区 &#x1f9e0;什么是缓冲区 &#x1f9e0;为什么要引入缓冲区 &#x1f4c4;缓冲区类型 九、FILE 六、重定向 我们这…...

WPF可拖拽ListView

1.控件描述 WPF实现一个ListView控件Item子项可删除也可拖拽排序&#xff0c;效果如下图所示 2.实现代码 配合 WrapPanel 实现水平自动换行&#xff0c;并开启拖拽 <ListViewx:Name"listView"Grid.Row"1"Width"300"AllowDrop"True&…...

rocketmq索引

索引的理解 索引是什么, 索引实质是 相同数据的另一种存储结构 我们都知道读和写天然是存在矛盾的, 我们希望写的快,当然是顺序写的性能最高, 顺序写造成数据杂乱无章,没法按照一定的规律去找数。 如果想要找数的效率高, 必须要有结构组织的存放数据, 这样方便按规律找…...

[蓝桥杯]倍数问题

倍数问题 题目描述 众所周知&#xff0c;小葱同学擅长计算&#xff0c;尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况&#xff0c;当有很多个数之后就会比较苦恼。现在小葱给了你 nn 个数&#xff0c;希望你从这 nn 个数中找到三个数&#xff0c;使得…...

定时任务的 cron 表达式

定时任务的 cron 表达式 一、什么时 cron 表达式 Cron表达式是一种广泛应用于Linux系统的时间表示格式&#xff0c;常用于定时任务的调度。Cron表达式可以通过指定不同的时间参数&#xff0c;描述一个在 未来某个时间点执行的任务。 二、Cron表达式语法 秒 分 时 日 月 周几…...

【MySQL】 约束

一、约束的定义 MySQL 约束是用于限制表中数据的规则&#xff0c;确保数据的 准确性 和 一致性 。约束可以在创建表时定义&#xff0c;也可以在表创建后通过修改表结构添加。 二、常见的约束类型 2.1 NOT NULL 非空约束 加了非空约束的列不能为 NULL 值&#xff0c;如果可以…...

MySQL 的 redo log 和 binlog 区别?

MySQL 的 redo log 和 binlog 区别? 1. 核心概念对比 1.1 redo log(重做日志) go专栏:https://duoke360.com/tutorial/path/golang 定位:InnoDB引擎层的物理日志作用:实现事务的持久性(ACID中的Durability)记录内容:物理页级别的修改(如"在page 5的offset 10…...

前端vue打开多个窗口,关闭窗口后才继续执行后续逻辑

1.打开第一个弹窗 弹窗的按钮代码 2.点击窗口1中按钮&#xff0c;打开新的窗口 // 请领单按钮点击 async cb_6_delClick() {let ls_yfbm this.st_3Value.BMBMlet pstring {}pstring.a ls_yfbmpstring.b this.queryFormDialog.outDepotDeptCodeawait this.openwithparm_w_md…...