OpenWrt One/AP-24.XY 开源路由器发布,OpenWRT与Banana Pi社区合作

OpenWrt One/AP-24.XY 开源路由器

2024 年,OpenWrt 项目将迎来20 周年!OpenWrt 开源社区官方通过推出社区自己的第一个完全上游支持的硬件设计来庆祝这一周年纪念日。并与联发科,Banana Pi开源社区紧密合作,共同完成硬件的设计与制造,利用Banana Pi开源社区的销售网络开展销售。

这个想法的开始---OpenWRT官方社区的建议与设票。

这并不新鲜。我们在 2017 年和 2018 年的 OpenWrt 峰会上首次谈到了这一点。从 2023 年 12 月开始,我们在修补 Banana Pi 风格的设备时就清楚地意识到,它们已经非常接近我们想要在“17/”18 年实现的目标。 Banana PI 在社区中越来越受欢迎。

它们使用自编译的可信固件-A (TF-A) 和上游 U-Boot (感谢 MTK/Daniel) 启动,并且某些板已经得到上游 Linux 内核的完全支持。唯一的非开源组件是在独立内核上运行的 2.5 GbE PHY 和 Wi-Fi 固件 blob,这些内核独立于运行 Linux 的主 SoC 以及在启动早期执行的 DRAM 校准例程。

我在 12 月 6 日联系了三位项目成员(pepe2k、dangole、nbd),概述了总体思路。我们研究了几个设计方案,一开始我们专注于可能的最强大(也是最昂贵)的配置,但最终得到了一些相当简单且最重要的是
可行的配置。我们想建议将以下内容作为我们的“第一个”社区驱动的硬件平台,称为“OpenWrt One/AP-24.XY”。

我和 pepe2k(非常感谢)一起讨论了这个问题很多个小时,并制定了以下项目提案。我们没有在规格上疯狂,而是决定加入一些我们认为所有 OpenWrt 支持的平台都应该具备的优秀功能(例如,具有多个恢复选项、无障碍的系统控制台访问、带有备用电池的板载 RTC 等,几乎坚不可摧)。

这是我们的第一个设计,所以让我们 KiSS 吧!

硬件规格:

  • SOC:联发科 MT7981B
  • Wi-Fi:MediaTek MT7976C(2x2 2.4 GHz + 3x3/2x2 + 零等待 DFS 5Ghz)
  • DRAM:1 GiB DDR4
  • 闪存:128 MiB SPI NAND+ 4 MiB SPI NOR
  • 以太网:2 个 RJ45(2.5 GbE + 1 GbE)
  • USB(主机):USB 2.0(A 型端口)
  • USB(设备、控制台):Holtek HT42B534-2 UART 转 USB(USB-C 端口)
  • 存储:M.2 2042 用于 NVMe SSD(PCIe gen 2 x1)
  • 按钮:2x(重置+用户)
  • 机械开关:1x 用于启动选择(恢复、常规)
  • LED:2x(PWM 驱动)、2x ETH Led(GPIO 驱动)
  • 外部硬件看门狗:EM微电子EM6324(GPIO驱动)
  • RTC:NXP PCF8563TS (I2C),带备用电池座(CR1220)
  • 电源:USB-C 端口上的 USB-PD 12-25V(通过 RT5400 模块可选 802.3at/af PoE)
  • 扩展槽:mikroBUS
  • 认证: FCC/EC/RoHS 合规性
  • 外壳:PCB尺寸兼容BPi-R4,外壳设计可重复使用
  • 主 SOC 的 JTAG:10 引脚 1.27 毫米间距(ARM JTAG/SWD)
  • 天线连接器:3x MMCX,易于使用、组装和耐用
  • 原理图:这些将公开(许可证待定)
  • GPL 合规性:3b。 “附上书面报价……向任何第三方提供
    ……相应源代码的完整机器可读副本”
  • 价格:目标100美元以下

该设备将如何分发?

由于很多原因,OpenWrt 本身无法处理这个问题。这就是我们尽早与证监会沟通的原因。我们的想法是,BPi 将使用已经建立的渠道分发设备,并且每售出一台设备,就会向我们的 SFC 为 OpenWrt 指定的基金捐款。这笔钱可以用来支付托管费用或者 OpenWrt 峰会。

SFC 致力于在该项目上以各种方式与我们合作,包括确保 OpenWrt 的商标得到适当尊重,该路由器是出色的 GPL/LGPL 合规性的典范,并且这成为我们的项目和 FOSS 的绝佳推广机会一般来说!

常问问题

为什么有两种不同的闪存芯片?

这个想法是让设备(几乎!)坚不可摧并且很容易恢复。

  • NAND 将保存主加载程序 (U-Boot) 和 Linux 映像,并将成为
    默认启动设备
  • NOR 默认情况下将受到写保护(板上有可用的 WP 跳线),并将保存恢复引导加载程序(以及其他重要数据,例如 Wi-Fi 校准)
  • 专用启动选择开关将允许在 NOR 和 NAND 之间切换

M.2 插槽有何用途?

我们将使用 M.2 和 M-key 进行 NVMe 存储。有一个正在进行中的补丁可以让 PCIe 在 U-Boot 引导加载程序中工作。这将允许直接从 NVMe 启动其他 Linux 发行版,例如 Debian 和 Alpine。

为什么设备上没有 USB 3.x 主机端口?

USB 3.x 和 PCIe 总线在选定的 SoC 芯片中共享,因此
只有一个高速 USB 端口可用

控制台 USB-C 端口的用途是什么?

Holtek UART 转 USB 桥接器,在 USB-C 上支持 CDC-ACM,使该设备非常易于通信。不需要额外的硬件或驱动程序。例如,Android 默认启用 CDC-ACM 支持。

该设备将具有什么 MAC OUI?

我们计划为 OpenWrt 注册一个 OUI 块,该块也可用于
其他供应商扩展,例如 Wi-Fi 信标 IE。

mikroBUS 连接器的用途是什么?

选择 mikroBUS 是因为我们希望使硬件可扩展。有用于 UART、SPI、I2C 总线和 RST/INT 信号的专用引脚。该标准使用常规 2.54 毫米间距连接器(您可以使用可用的 mikroBUS 模块,或者仅使用 2.54 毫米跨接电缆连接到其他模块)。

为什么板上有 RTC 而不是 mikroBUS 模块?

我们相信 Wi-Fi(或一般网络)设备默认应具备很多功能。在许多应用程序中,设备上始终保持正确的时间至关重要,例如 VPN、DNSSEC……

导致这封电子邮件的事件时间表

请原谅我们在初始阶段缺乏公众沟通(如您所见,这一阶段简短而快速)。我们希望在向社区公开该项目之前确保它是可行的。如果我们宣布的某些内容后来发现不可行,从而辜负了社区内的期望,那将是一种真正的耻辱。

03.12 - 初步想法
06.12 - ping pepe2k、dangole、nbd
07.12 - ping MediaTek 并询问这听起来是否可行
08.12 - ping jow、Hauke
08.12 - 请求与 SFC 通话,我们希望他们尽快参与
09.12 - MediaTek 回复并表示他们可以提供帮助
09.12 - ping apacar、ynezz、dwmm2、lynxis、rsalvaterra
12.12 - 联发科与 Banana Pi 进行了交谈,他们也喜欢这个想法
18.12 - 与 SFC 进行通话(Hauke 加入,我们发现没有事先交谈的时间)
20.12 - 开始编写U-Boot PCIe 驱动程序,实现了 USB 恢复和
android fastboot 恢复工作。
...然后年终庆祝活动开始了,两周内没有发生太多事情

03.01-08.01 - 写下这段文字

进展---OpenWRT官方社区的建议与设票。最终得到了社区支持,项目正式启动。

投票 2024-01-17 - OpenWrt One

开始于:约翰·克里斯平

提议

OpenWrt One 将是一款专为自由和开源软件爱好者设计的无线网络设备,鼓励人们修补和学习嵌入式开发和 Linux 网络。

OpenWrt One 的目的是使 OpenWrt 受益,因为该项目将获得每售出一个单位的收入份额。

我们的目的是构建一个具有 OpenWrt 友好硬件规格的设备,使其具有良好的可支持性,并作为制造商的潜在榜样 - 它将获得与其他支持 OpenWrt 的设备相同级别的社区支持,不会有优先级,也不会付费支持渠道,没有专门的 OpenWrt 版本或类似版本。设备支持应完全上游到普通 OpenWrt。

OpenWrt One 是一项由我(John Crispin)领导的私人自愿倡议。 ODM设计的初始研发费用由我个人支付,没有动用任何OpenWrt资金。我不会从中获利。为了减少个人开发人员或整个项目的负债、上市时间和负担,我建议与 Banana Pi 社区背后的 ODM 共同开发 OpenWrt One PCB。 OpenWrt One 将重用现有 Banana Pi PCB 和外壳的设计方面以及外形尺寸。

OpenWrt One“并非”旨在:

  1. 商用现成路由器或 AP 的竞争者。
  2. 实现千兆NAT速度的有线路由器
  3. 尖端 Wi-Fi 6e/7 接入点
  4. 网络附加存储设备
  5. 高速以太网交换机

“一个”的目标是:

  1. 尽可能开放并完全符合其使用的所有 Copyleft 和其他FOSS许可证
  2. 用于修补/学习开放硬件和 Linux 的教育平台
  3. 一种向 OpenWrt 项目捐赠同时获得精美小工具作为回报的方式
  4. 通过 mikroBUS、GPIO 和 PCI/e M.2 提供扩展性
  5. 软件坚不可摧,无需额外手段即可轻松恢复
  6. 实现迟来的个人目标的满足感

通过开始这次投票,我要求 OpenWrt 项目的其他开发人员:

a) 认可 OpenWrt One 硬件设备使用和提及 OpenWrt 商标和徽标,允许 ODM 在丝印和外壳上打印 OpenWrt 徽标,并将最终设备标记为“OpenWrt One”并以此进行营销。如果投票成功,软件自由保护协会 (SFC) 同意负责与 ODM 签订法律协议。

b) 授权 SFC, Inc. 代表 OpenWrt 注册 IEEE MAC Address Block Large (MA-L)。所需的一次性付款将由私人非项目资金支付。

c) 同意 SFC 将代表 OpenWrt 从 ODM 销售的每个单元中获得一定比例的收入,并将收到的资金根据现有财政协议用于 OpenWrt 项目,以支付未来的费用。目前我的目标是占据 10% 左右的份额,预计每单位价格为 100 美元左右。

投票应在10天内结束。

如果投票成功,接下来的步骤将是:

  1. 与芯片供应商 (MediaTek) 和 ODM (Banana Pi) 一起完成硬件设计 - 预计需要 4-8 周
  2. 接收工程样品(15个单位)并将其分发给感兴趣的各方
  3. 向 SFC 提供样品以进行 Copyleft/ FOSS许可证合规性验证。
  4. 一旦工程样品被确认可以工作,ODM 将开始生产第一批设备

请理解,在投票成功之前,我无权代表 OpenWrt 与相关实体进一步进行任何讨论。一旦通过此次投票获得同意,最终的技术和法律细节将得到澄清。

约翰

统计数据

会员

是的

丢失的

40

30

10

结果

Stats

Members

Yes

No

Missing

40

30

10

Results

Member

OpenWrt One

Adrian

Alberto

Alexander

+1

Álvaro

+1

Baptiste

+1

Christian L.

+1

Christian M.

+1

Chuanhong

+1

Daniel

+1

David B.

+1

David W.

+1

Felix

+1

Florian

Hans

+1

Hauke

+1

Imre

Jo-Philipp

+1

John

+1

Jonas

+1

Kevin

+1

Koen

+1

Luka

Mathias

+1

Matthias

+1

Mirko

Nick

+1

Paul

+1

Petr

+1

Piotr

+1

Rafał

+1

Rich

+1

Rui

+1

Sander

+1

Steven

Stijn

Sungbo

+1

Ted

+1

Thomas

Yousong

+1

Zoltan

进展-- 确定所有硬件需求,Banana Pi开源社区正式启动设计。

2024年二月正式进行设计与样板制作,二月底第一批15片样板正式提供给OpenWRT开源社区

选择路由器规格的目标是将价格保持在 100 美元以下,这就是为什么我们使用 USB 2.0 等接口而不是 USB 3.0,因为Filogic 820 SoC 中没有任何备用接口。这些原理图将在尚未确定的开源许可证下公开提供,并且正如您所期望的那样,“相应源代码的完整机器可读副本”将遵守 GPL 合规性。

OpenWrt 开发人员选择 Banana Pi 是因为他们现有的开发板的功能与他们多年来一直想要的功能非常匹配,该公司近年来在 OpenWrt 社区中越来越受欢迎,并且上游/主线 U 已经支持很多功能-启动和Linux。非开源组件包括 2.5GbE PHY 和 WiFi 固件,其中 blob 运行在独立于运行 OpenWrt 的主 SoC 的单独内核上。 DRAM 校准例程也是闭源二进制文件。

OpenWrt One/AP-24.XY 路由器应该为该项目提供收入来源,例如,用于支付托管和 OpenWrt 会议的费用,Banana Pi 通过其分销网络销售该板,并且对于每售出的设备,将指定用于 OpenWrt 的资金捐赠给软件自由保护协会 (SDC)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/644371.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能基础-Python之Pandas库教程

文章目录 前言一、Pandas是什么?二、使用步骤1.引入库2.数据读取2.1 数据类型2.2 数据读取1.常见操作2.txt读取 3.pandas的数据结构3.1 Series1.属性2.创建Series3.查询 3.2 DataFrame1.创建DataFrame 4.查询数据4.1 data.loc 根据行列标签值进行查询1.使用单个labe…

Hive数据类型

1.基本数据类型 示例: -- 创建表并定义列的数据类型 CREATE TABLE data_types_example (tinyint_column TINYINT,smallint_column SMALLINT,int_column INT,bigint_column BIGINT,boolean_column BOOLEAN,float_column FLOAT,double_column DOUBLE,string_column S…

【Java框架】SpringBoot(二)核心配置

目录 yml文件什么是yml文件yml文件的优点使用场景脚本语言序列化配置文件 yml的基本语法yml支持的数据类型字面量对象(属性和值)、Map(键值对)数组复合结构 Spring Boot配置文件的值注入第一种读取方式Value第二种读取方式ConfigurationProperties第三种读取方式自动装配Enviro…

hyperf 三十一 极简DB组件

一 安装及配置 composer require hyperf/db php bin/hyperf.php vendor:publish hyperf/db 默认配置 config/autoload/db.php 如下,数据库支持多库配置,默认为 default。 配置项类型默认值备注driverstring无数据库引擎 支持 pdo 和 mysqlhoststringl…

【软件安装】(十六)双系统Ubuntu22.04引导启动菜单的默认项

一个愿意伫立在巨人肩膀上的农民...... 好学的人总是喜欢在电脑上安装双系统,可是安装好系统之后,就会出现默认启动优先级的苦恼,如果在Bios中设置Windows引导启动为优先启动,那么每次想要进如Ubuntu系统就都需要重新设置Bios。如…

通过Bedrock Access Gateway解决方案快速访问Amazon Bedrock的多种大语言模型

Bedrock Access Gateway(BAG)解决方案提供了开箱即用、兼容 OpenAI 的代理功能,帮助用户轻松无缝地从 OpenAI 迁移到 Amazon Bedrock。 1. 概述 亚马逊云科技的 Amazon Bedrock 服务支持一系列领先的基础模型,为客户提供多种选择…

CSS3:border-image

<!DOCTYPE html> <html><head><meta charset"utf-8"> </head><body><p>原始图片</p><img src"./images/border1.png" alt""><p>一、</p><p>border: 27px solid transp…

【解决NodeJS项目无法在IDEA中调试的问题】使用JetBrains IDEA 2023 调试nodejs项目

项目采用Ant Design Pro React&#xff0c;使用前后端分离开发方式&#xff0c;后端可以很容易的打断点调试&#xff0c;但是前端通过网页进行调试&#xff0c;在IDEA中加了调试断点&#xff0c;但是没有什么用处。 解决方案如下&#xff1a; 点击新建运行配置 新建JavaScrip…

【Linux】实现一个进度条

我们之前也学了gcc/vim/make和makefile&#xff0c;那么我们就用它们实现一个进度条。 在实现这个进度条之前&#xff0c;我们要先简单了解一下缓冲区和回车和换行的区别 缓冲区其实就是一块内存空间&#xff0c;我们先看这样一段代码 它的现象是先立马打印&#xff0c;三秒后程…

网络安全主题纪录片

网络安全主题纪录片 文章目录 网络安全主题纪录片第四公民黑客帝国系列龙纹身女孩碟中谍系列虎胆龙威4匿名者终结者2&#xff1a;审判日东方快车谋杀案黑客国家公敌我是谁&#xff1a;没有绝对安全的系统黑客军团速度与激情系列十亿美元大劫案勒索软件的背后黑客的恐惧为什么网…

web前端框架设计第六课-样式绑定

web前端框架设计第六课-样式绑定 一.预习笔记 1.class属性绑定 给P标签绑定一个类样式&#xff0c;类名为active。当active取值为true时&#xff0c;表示绑定样式成功&#xff0c;取值为false时&#xff0c;取消绑定 以对象形式给P标签绑定多个类样式 以数组形式给P标签绑定多…

使用linux,c++,创作一个简单的五子棋游戏

#include <iostream> #include <vector> #include <unordered_map> using namespace std; // 棋盘大小 const int BOARD_SIZE 15; // 棋子类型 enum ChessType { EMPTY, BLACK, WHITE }; // 棋盘类 class ChessBoard { private: vect…