深夜刷机 OPENWRT 失败来吐个槽--别再刷你的狗屎路由器了

2023-08-05 01:25:35 +08:00
 m1nm13

基本这玩意到了一个瓶颈.从本质上来说,硬件分为 nand 和 nor flash .

nand 有坏块. nor 很小

1.你玩 nor 就会遇到 flash 太小导致各种 ipk 塞不进去,或者预留空间太小导致被各种运行日志塞满,文件系统报错,路由崩溃

2.你玩 nand,那你可就享了大福了.因为 Openwrt 喜欢用 squashfs,这是一个高压缩,不支持坏块处理的文件系统.这意味着你得保证你的 rootfs 分区的前 X 块没有坏块(x 取决于固件大小).每台机器坏块位置都不一样,

a.可能你运气好,没有问题,喜滋滋论坛发帖.

b.可能你运气一般,坏块刚好在一些无关紧要的部分,可能只是稳定性问题.

c.更有可能你运气贼差,要么在 uboot 刷入的时候就直接挂载文件系统崩溃,反复重启.要么文件系统报错,勉强进了系统,但是对他的任何读写都会报 I/O 错误.

你要是觉得 squashfs 就辣鸡,我要上 UBIFS,好家伙,编出来的固件比你的 nand 都大.塞不进去.而且你还得考虑需要改 uboot 启动 cmdline

更痛苦的是刷机固件论坛充斥着牛鬼蛇神.各种垃圾固件,意想不到的问题.虽然我感谢对方提供了免费的固件,但是这个质量实在太过感人.终于在某大神处刷了一个有问题的 UBOOT,直接完全砖了.

又一次刷机失败.又是 nand.以前耍过几个小米的 AC2100 已经够恶心了.现在又刷飞了.痛苦 别再刷你的狗屎路由器了.它就是一坨狗屎

13155 次点击
所在节点    OpenWrt
86 条回复
bibiisme
2023-08-06 19:02:05 +08:00
@m1nm13 谁的 yt 视频,发出来看下? ImmortalWrt 也是 64m 的 ubi ,和 112m uboot 的 ubi 大小对不上挂载有问题不很正常?
hanwckf
2023-08-06 19:02:27 +08:00
@m1nm13 openwrt 主线的 nand 固件是在 ubi 抽象层上面划分 rootfs 和 rootfs_data 两个 volume ,其中 rootfs 用只读不可写的 squashfs ,rootfs_data 用可读写的 ubifs ,squashfs 完全只读不可写,正常使用过程中不可能出现坏块,只要在刷入的时候由底层的 ubi 抽象层处理坏块就完全没问题。
另外如果是 mt798x 的路由器,还有一个比 ubi 更底层的 nmbm 子系统处理坏块映射,一般来说 ubi 抽象层连坏块都看不见(但是 openwrt 的主线 uboot 和 ubootmod 固件因为社区某些人的坚持,没有开 nmbm 支持,只使用 ubi 处理坏块)
m1nm13
2023-08-06 19:06:33 +08:00
@bibiisme #61 <amp-youtube data-videoid="Xyipw1ZDEXQ" layout="responsive" width="480" height="270"></amp-youtube>
m1nm13
2023-08-06 19:07:53 +08:00
@m1nm13 #63 用他的 uboot 的话,他提供的固件刷上去都不开机.我才去论坛上找固件来用
bibiisme
2023-08-06 19:18:37 +08:00
@m1nm13 自己去想办法用主线 uboot 怎么刷机吧。我问了下主线 uboot 是不会响应 ping 的,只能 tftp 刷机。
madku
2023-08-07 09:28:45 +08:00
炸出一堆大佬
cndns
2023-08-07 22:40:24 +08:00
@m1nm13 open.wrt.cc 里面有 nx30pro 固件
m1nm13
2023-08-08 00:09:04 +08:00
@cndns #67 我已经去售后了....不过还是问问这个网站是干啥的?官方的?
MSIAM
2023-08-08 15:03:06 +08:00
嫌弃这个那要不学我用傲腾当系统盘? 16G 的傲腾非常便宜
hahasong
2023-08-09 16:09:30 +08:00
@hanwckf #62 搭车问一个问题,AX6 有 rootfs rootfs_1 两个分区,我刷了 op 最新 rc2 https://firmware-selector.openwrt.org/?version=23.05.0-rc2&target=ipq807x%2Fgeneric&id=redmi_ax6

直接把我分区合并成一个 rootfs 了。不知道这个是可以动态映射的还是改了官方分区表?
然后也不能刷机让先 detach 也不能 sysupgrade 别的 op. 这种情况想刷别的固件咋办?
TsukiMori
2023-08-10 17:03:57 +08:00
刷 OP 当然是去官方支持列表里找设备然后用官方编译的版本
进阶一点就是根据官方的源代码自己编译
刷论坛里的固件本来就是很牛鬼蛇神的事情……
chancat
2023-08-11 09:02:42 +08:00
你要是用京东云亚瑟你会出这问题?你用 qsdk 的固件会有这问题?没有 nss 加速的硬路由,🐶狗都不用
a90405
2023-08-11 17:35:01 +08:00
@TsukiMori 官方开元驱动更渣,其实硬路由别折腾安心 AP 才是王道,软路由 x86 配官方 OP 强无敌
TsukiMori
2023-08-11 17:54:28 +08:00
@a90405 也看方案 以前 wifi5 时代那群 MT7621 配方的玩意官方驱动其实也可以 但是高通 ipq806x 方案的那几个大块头洋垃圾真的是官方驱动狗都不用 没有 NSS 驱动的 OP 无线性能和 nat 性能都超不过 500M 加了 NSS 当 AP 867M 的协商速度才能跑到 680+
x86 配官方 OP 是最省事的 唯一的缺点就是官方预编译的版本并不能 NAT1 只能用官方源码编译 然后手动加补丁进去
a90405
2023-08-12 13:42:44 +08:00
@TsukiMori 7621 用 padavan 才是完全体,也不用 openwrt
zhongxiaoqian
2023-08-12 14:15:44 +08:00
我是更新路由器固件的时候总是出问题,到现在不敢随便更新。
bibiisme
2023-08-12 17:31:15 +08:00
自己刷了有问题的 uboot 怪机器,然后对一堆人刷机成功的正常 uboot 表示怀疑。果然从一开始你分不清 ubi 和 ubifs 的时候就没必要回复你。
txfsjzm
2023-08-14 00:50:43 +08:00
我刷上了,目前遇到的 bug 就是 ssr plus+ 8 小时死一次,别的很 ok
leungzw246
2023-09-30 21:03:43 +08:00
直接去终点:x86+ap
kenX
2023-11-21 12:45:40 +08:00
前天周末刚把手上的 xdr6086 刷了官方 openwrt ,然后再看到了一系列 nmbm 相关的资料,大概明白了可能存在的风险,所幸我刷机过程比较顺利,没有搞坏引导部分。但也还有些疑问,故特意来请教一下。
背景:
我的 xdr6086 原厂固件较久,使用 openwrt 官方指引的命令注入漏洞可以成功拿到 shell 权限。
刷入 PRELOADER 和 BL3 前在 TP 原厂固件备份了 mtd9 ,应该是整个完整的 nand 内容了,大小正好是 128*1024*1024=134217728
问题:
1 、在原厂固件 shell 环境中备份的 mtd9 是否可以理解为一个准确无误的完整备份?因为 nmbm 对上层透明,上层应用读取的 mtd9 已经过纠错
2 、虽然刷机后正常启动和使用,但刷成官方 openwrt 后由于没有 nmbm 支持,假如 nand 在 factory 分区(校准数据)部分有坏快,原厂 nmbm 机制会将坏快部分的数据存放到冗余区,这可能导致导致官方 openwrt 无法准确读取和使用这部分数据,这个理解是否准确?
3 、假如 2 所述问题存在,是否从 mtd9 备份中提取 factory 及其他关键部分数据,在 op 下重新刷入,能解决无 nmbm 支持环境下的数据准确性问题?
4 、假如后续由于各种原因需要拆 nand 或更换 nand ,涉及到使用编程器将 mtd9 完整备份写入 nand 的步骤,这个 128M 的 nand 如何写入?编程器读出来的完整备份应该是带 BCH 校验的,容量大于 128M

@bibiisme @hanwckf 希望两位大佬可以答疑一下
也欢迎其他朋友讨论

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/962550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX