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

news2024/11/20 11:49:32

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.coloradmin.cn/o/1609795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运行django

确保app被注册 urls.py中编写url 视图对应关系 命令行启动 python manage.py runserver

图数据库Neo4J入门——Neo4J下载安装+Cypher基本操作+《西游记》人物关系图实例

这里写目录标题 一、效果图二、环境准备三、数据库设计3.1 人物节点设计3.2 关系设计 四、操作步骤4.1 下载、安装、启动Neo4J服务4.1.1 配置Neo4J环境变量4.1.2 启动Neo4J服务器4.1.3 启动Ne04J客户端 4.2 创建节点4.3 创建关系(从已有节点创建关系)4.4…

esp32 rst:0xf (BROWNOUT_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)

供电不足导致的 1、第1次出现 电脑usb电压不够,只有3.8V,给esp32s3供电,然后esp32带的模块太多,运行启动就一直报错 2、第2次出现 esp32带的模块单独电池供电,然后一运行MAX98357播放声音就重启 然后换模块单独充电…

月球地形数据介绍(LOLA)

月球地形数据介绍 LOLA介绍LOLA数据的处理与发布数据类型和格式投影坐标系SIMPLE CYLINDRICALPOLAR STEREOGRAPHIC 数据下载与浏览 LOLA介绍 目前最新的月球地形高程数据来源于美国2009年发射的LRO探测器。 “月球勘测轨道器”(Lunar Reconnaissance Orbiter,LRO)…

给一个新项目配置conda环境的完整流程,安装pytorch,dgl

创建环境,并指定python的版本,我这边指定为3.7: conda create --name [自定义的环境名] python3.7我这边假定我的环境名为grand: conda create --name grand python3.7创建成功后,初始化一下conda: source …

easyx库的介绍

前言 如果想要摆脱黑窗口的限制那么easyx图形库是一个好的选择 easyx的初认识 easyx是针对c的图形库,可以帮助c/c上手图形和游戏编程 所以要用easyx必须要用.cpp的后缀 1 easyx的原理 window的图形编程,最终都由window的底层API来实现 2 easyx的颜色 …

2010年认证杯SPSSPRO杯数学建模B题(第一阶段)交通拥堵问题全过程文档及程序

2010年认证杯SPSSPRO杯数学建模 交通拥堵问题 B题 Braess 悖论 原题再现: Dietrich Braess 在 1968 年的一篇文章中提出了道路交通体系当中的Braess 悖论。它的含义是:有时在一个交通网络上增加一条路段,或者提高某个路段的局部通行能力&a…

CRMEB PRO安装系统配置清单

统在安装完成之后,需要对系统进行一系列的配置,才能正常使用全部的功能,以下是官方整理的配置清单

组件安全(Solr、Shiro、Log4j、Jackson、FastJson、XStream)

Solr 主要基于HTTP和 Apache Lucene 实现的全文搜索服务器。 特征&#xff1a;图标识别 端口&#xff1a;8393 CVE-2019-0193&#xff08;远程命令执行漏洞&#xff09; 漏洞版本&#xff1a;Apache Solr < 8.2.0 利用条件&#xff1a; Apache Solr 的 DataImportHandler 启…

线上真实案例之执行一段逻辑后报错Communications link failure

1.问题发现 在开发某个项目的一个定时任务计算经销商返利的功能时&#xff0c;有一个返利监测的调度&#xff0c;如果某一天返利计算调度失败了&#xff0c;需要重新计算&#xff0c;这个监测的调度就会重新计算某天的数据。 在UAT测试通过&#xff0c;发布生产后&#xff0c…

【C++入门】类的6个默认成员函数、运算符重载、初始化列表、const成员、static成员

目录 引言 构造函数 引入构造函数 构造函数的特征 一些细节 析构函数 析构函数的特性 注意事项 拷贝构造函数 书写格式 使用细节 拷贝构造的典型应用场景 运算符重载 意义与格式 注意事项 赋值运算符重载 const成员 两个经典问题 再谈构造函数—初始化列…

『FPGA通信接口』汇总目录

Welcome 大家好&#xff0c;欢迎来到瑾芳玉洁的博客&#xff01; &#x1f611;励志开源分享诗和代码&#xff0c;三餐却无汤&#xff0c;顿顿都被噎。 &#x1f62d;有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩&#xff0c;不出意外被敷衍、被唾弃、被埋在了垃圾堆。…

使用http-parser解析http请求和响应数据

1 简介 http-parser是一个用C编写的HTTP消息解析器&#xff0c;专为高性能HTTP应用程序设计。它能够解析HTTP/1.0和HTTP/1.1的消息&#xff0c;包括头部、主体和连续行。当解析到特定的HTTP元素&#xff08;如请求行、头字段或消息体&#xff09;时&#xff0c;会触发相应的回调…

【前端面试3+1】15 CSS如隐藏元素、css块级元素和行内元素有哪些?两者有什么区别?、JavaScript中“==”与“===”的区别、【丢失的数字】

一、CSS如何隐藏元素&#xff1f; 1、使用 display: none; 这种方法会隐藏元素&#xff0c;并且不占据页面空间。元素会被完全移除&#xff0c;无法通过任何方式显示出来。 .hidden-element {display: none; }2、使用 visibility: hidden; 这种方法会隐藏元素&#xff0c;但仍然…

线段树汇总

线段树是一种二叉搜索树&#xff0c;与区间树相似&#xff0c;它将一个区间划分成一些单元区间&#xff0c;每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数&#xff0c;时间复杂度为O(logN)。而未优化的空间复杂度为2N&a…

Office 2024安装教程(附免费安装包资源)

鼠标右击软件压缩包&#xff0c;选择“解压到Office 2024安装包”。 打开解压后的文件夹&#xff0c;鼠标右击“YAOCTRI_Installer”选择“以管理员身份运行”。 输入数字“1”自动开始安装。 软件正在安装&#xff0c;请耐心等待&#xff0c;谢谢。 安装完成&#xff0c;点击“…

浅析Redis④:字典dict实现

什么是dict&#xff1f; 在 Redis 中&#xff0c;dict 是指哈希表&#xff08;hash table&#xff09;的一种实现&#xff0c;用于存储键值对数据。dict 是 Redis 中非常常用的数据结构之一&#xff0c;用于实现 Redis 的键空间。 在 Redis 源码中&#xff0c;dict 是一个通用…

初学python记录:力扣39. 组合总和

题目&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…

Electron 30.0.0 发布,升级 Node 和 V8 引擎

近日&#xff0c;Electron 30.0.0 正式发布&#xff01;你可以通过 npm install electronlatest 进行安装&#xff0c;或者从 Electron 的发布网站下载&#xff0c;继续阅读了解此版本的详细信息。 &#x1f525; 主要更新 Windows 上支持 ASAR 完整性融合。如果未正确配置&am…

【JAVA基础篇教学】第十一篇:Java中字符串操作详解

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第十篇&#xff1a;Java中字符串操作详解。 在 Java 编程中&#xff0c;字符串是一种常见的数据类型&#xff0c;通常用于存储文本信息。Java 提供了丰富的字符串操作方法&#xff0c;可以对字符串进行分割、截取、查找…