OpenWRT 20 岁了; 想要推出他们的“第一个上游支持”设计
OpenWRT turns 20; wants to launch their \"first upstream supported\" design

原始链接: https://lwn.net/ml/openwrt-devel/[email protected]/

隆重推出 OpenWrt One,这是 OpenWrt 开发团队为纪念成立 20 周年而提出的一项令人兴奋的新举措。 该器件提供令人印象深刻的规格,包括高性能处理器、双千兆位以太网端口、双频无线网络功能和可选的外部硬件看门狗。 为了方便使用,该设备还配备了两个按钮、一个机械开关和 LED 指示灯。 此外,该设备还具有充足的存储容量,因为它包含一个用于可扩展存储卡的 mikroBUS 连接器和一个适合插入 NVME 固态驱动器的 M.2 插槽。 为了增加便利性,该设备包括一个专为控制台访问而设计的 USB-C 端口,并通过十针接口利用 ARM JTAG/SWD 技术。 拟议的融资模式是 BPi 利用现有渠道分发产品,同时向软件自由保护协会捐款。 此外,GPL 确保在这一举措下源代码仍然可以轻松访问。 这些功能保证了卓越的开源体验,标志着该品牌重要里程碑的完美庆祝。

然而,这些问题的产生不仅仅是处理器指令集选择的问题。 虽然 ISA 的选择在一定程度上影响了硬件生态系统,但它最终在更全面地了解这些问题方面发挥的作用相对较小。 更广泛的问题更深层次,影响多个行业的各个组成部分和层面。 关于当前围绕即将推出的开源、开放硬件路由器设备的讨论,很明显,重点主要放在在专有公司控制的传统领域之外提供产品的机会。 然而,除了对挑战传统智慧的新参与者感到兴奋之外,同样必须考虑驱动根本问题的更大结构框架:即硬件堆栈许可协议的主导地位以及由此导致的基本细节缺乏透明度和披露 管理关键子系统的运行。 正如本线程所承认的,这些挑战远远超出了单纯的处理器指令集架构,涉及管理引擎和生物静态功能等领域。 最终,围绕 RISC-V 出现的希望是由超越纯粹技术考虑的因素推动的,包括打破垄断、提高披露水平和促进整个行业更大程度开放的更广泛愿望。 尽管如此,有关 RISC-V 将特别通过 CPU 指令集的视角实现更高水平开放性的建议完全是错误的。 相反,不透明和知识产权壁垒持续存在的根本原因涉及的问题不仅仅是选择一个人喜欢的指令集,还深入到固件和子系统功能等领域,有效地为完全的技术透明度造成了重大障碍。 在这里,原材料的概念再次成为首要考虑因素。 最终,寻求创建真正开源、开放硬件设备的有抱负的路由器制造商面临的主要挑战主要集中在消除整个技术堆栈中关键知识产权来源所产生的障碍的概念上。 事实上,选择替代指令集架构(例如 RISC-V)对于解决这一基本问题的实际意义有限。 相反,工作必须转向制定战略,以提高透明度并解决重要子系统功能中深层出现的问题——从与子系统接口相关的方面到与生物统计算法等相关的问题。 总而言之,讨论围绕
相关文章

原文
Thread information [Search the openwrt-devel archive]
From: John Crispin
To: OpenWrt Development List
Subject: OpenWrt One - celebrating 20 years of OpenWrt
Date: Tue, 09 Jan 2024 11:49:56 +0100
Message-ID:
Cc: compliance-AT-sfconservancy.org
tl;dr

In 2024 the OpenWrt project turns 20 years! Let's celebrate this 
anniversary by launching our own first and fully upstream supported 
hardware design.

If the community likes the idea outlined below in greater details, we 
would like to start a vote.

---

The idea

It is not new. We first spoke about this during the OpenWrt Summits in 
2017 and also 2018. It became clear start of December 2023 while 
tinkering with Banana Pi style devices that they are already pretty 
close to what we wanted to achieve in ’17/‘18. Banana PIs have grown in 
popularity within the community. They boot using a self compiled Trusted 
Firmware-A (TF-A)and upstream U-Boot (thx MTK/Daniel) and some of the 
boards are already fully supported by the upstream Linux kernel. The 
only nonopen sourcecomponents are the 2.5 GbE PHYandWi-Fi firmware 
blobsrunning on separate cores that areindependent of the main SoC 
running Linuxand the DRAM calibration routines which are executed early 
during boot.

I contacted three project members (pepe2k, dangole, nbd) on December 6th 
to outline the overall idea. We went over several design proposals, At 
the beginning we focused on the most powerful (and expensive) 
configurations possible but finally ended up with something rather 
simple and above all,feasible. We would like to propose the following as 
our "first" community driven HW platform called "OpenWrt One/AP-24.XY".

Together with pepe2k (thx a lot) I discussed this for many hours and we 
worked out the following project proposal. Instead of going insane with 
specifications, we decided to include some nice features we believe all 
OpenWrt supported platforms should have (e.g. being almost 
unbrickablewith multiple recovery options, hassle-free system console 
access, on-board RTC with battery backup etc.).

This is our first design, so let's KiSS!


Hardwarespecifications:

* SOC: MediaTek MT7981B
* Wi-Fi: MediaTek MT7976C (2x2 2.4 GHz + 3x3/2x2 + zero-wait DFS 5Ghz)
* DRAM: 1 GiB DDR4
* Flash: 128 MiB SPI NAND+ 4 MiB SPI NOR
* Ethernet: 2x RJ45 (2.5 GbE + 1 GbE)
* USB (host): USB 2.0 (Type-A port)
* USB (device, console): Holtek HT42B534-2 UART to USB (USB-C port)
* Storage: M.2 2042 for NVMe SSD (PCIe gen 2 x1)
* Buttons: 2x (reset + user)
* Mechanical switch: 1x for boot selection (recovery, regular)
* LEDs: 2x (PWM driven), 2x ETH Led (GPIO driven)
* External hardware watchdog: EM Microelectronic EM6324 (GPIO driven)
* RTC: NXP PCF8563TS (I2C) with battery backup holder(CR1220)
* Power: USB-PD-12V on USB-C port (optional802.3at/afPoE via RT5040 module)
* Expansion slots: mikroBUS
* Certification: FCC/EC/RoHS compliance
* Case: PCB size is compatible to BPi-R4 and the case design can be re-used
* JTAG for main SOC: 10-pin 1.27 mm pitch (ARM JTAG/SWD)
* Antenna connectors: 3x MMCX for easy usage, assembly and durability
* Schematics: these will be publicly available (license TBD)
* GPL compliance: 3b. "Accompany it with a written offer ... to give any 
third party ... a complete machine-readable copy of the corresponding 
source code"
* Price: aiming for below 100$


How will the device be distributed?

OpenWrt itself cannot handle this for a ton of reasons. This is why we 
spoke with the SFC early. The idea is that BPi will distribute the 
device using the already established channels and for every device sold 
a donation will be made to ourSFC earmarked fund for OpenWrt. This money 
can then be used to cover hosting expenses or maybe an OpenWrt summit.

SFC is committed to working with us in various ways on this project — 
including making sure OpenWrt'strademark is properly respected, that 
this router isabeautiful example of excellent GPL/LGPL compliance, 
andthatthis becomes a great promotional opportunity for our project and 
FOSS generally!


FAQ

* Why are there are 2 different flash chips?
- the idea is to make the device (almost!) unbrickable and very easy to 
recover
- NAND will hold the main loader (U-Boot) and the Linux image and will 
be the default boot device
- NOR will be write-protected by default (with WP jumper available on 
the board) and will hold a recovery bootloader (and other essential 
data, like Wi-Fi calibration)
- a dedicated boot select switch will allow changing between NOR and NAND

* What will the M.2 slot be used for?
- we will use M.2 with M-key for NVMe storage. There is a 
work-in-progress patch to make PCIe work inside the U-Boot bootloader. 
This will allow booting other Linux distributions such as Debian and 
Alpine directly from NVMe

* Why is there no USB 3.x host port on the device?
- the USB 3.x and PCIe buses are shared in the selected SoC silicon, 
hence only a single High-Speed USB port is available

* What is the purpose of the console USB-C port?
- Holtek UART to USB bridge with CDC-ACM support on USB-C makes the 
device ultra easy to communicate with. No extra hardware or drivers will 
be required. Android for example has CDC-ACM support enabled by default

* What MAC OUI will the device have?
- we plan to register an OUI block for OpenWrt which can also be used 
for other vendor extensions such as Wi-Fi beacon IEs

* What is the purpose of the mikroBUS connector?
- mikroBUS was chosen as we wanted to make the hardware extendable. 
There are dedicated pins for UART, SPI, I2C buses and RST/INT signals. 
The standard uses regular 2.54 mm pitch connectors (you can use 
available mikroBUS modules or just connect to it something else, with 
2.54 mm jumper cables)

  * Why have the RTC on board instead of a mikroBUS module?
  - we believe there are many things a Wi-Fi (or networking in general) 
device should have on-board by default. Always having a correct time on 
the device is crucial in many applications, like VPN, DNSSEC, …


Timeline of events leading up to this e-mail

Forgive us for the lack of public communication during the initial 
phase(which as you can see was short and quick). We wanted to ensure 
that this project is feasible before disclosing it to the community. It 
would be a real shame if we announced something that we later found out 
to not be feasible thus failing expectations raised within the community.

03.12 - initial idea
06.12 - ping pepe2k, dangole, nbd
07.12 - ping MediaTek and ask if this sounds doable
08.12 - ping jow, Hauke
08.12 - request for call with SFC, we want them involved as soon as possible
09.12 - MediaTek replies and says they can help
09.12 - ping apacar, ynezz, dwmm2, lynxis, rsalvaterra
12.12 - MediaTek spoke with Banana Pi, they also like the idea
18.12 - call with SFC (Hauke joined, we found no prior slot to talk)
20.12 - started writing the U-Boot PCIe driver, made recovery from USB 
and android fastboot recovery work.
... and then the end of year celebrations started and not much happened 
for 2 weeks.
03.01-08.01 - write this text


Thanks,
Signed-off-by: Alexander Couzens 
Signed-off-by: Bradley M. Kuhn 
Signed-off-by: Daniel Golle 
Signed-off-by: David Bauer 
Signed-off-by: Denver Gingerich 
Signed-off-by: Felix Fietkau 
Signed-off-by: Hauke Mehrtens 
Signed-off-by: John Crispin 
Signed-off-by: Jo-Philipp Wich 
Signed-off-by: Paul Spooren 
Signed-off-by: Petr Štetiar 
Signed-off-by: Piotr Dymacz 
Signed-off-by: Steven Liu 



_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
联系我们 contact @ memedata.com