[红米ax6000]红米AX6000硬改2GB内存+硬改512MB闪存教程(含硬改USB的可能性)

查看: 71838|回复: 311

[红米ax6000]

红米AX6000硬改2GB内存+硬改512MB闪存教程(含硬改USB的可能性)

火...

[复制链接]

lgs2007m

lgs2007m

当前离线

积分4388

IP卡

狗仔卡

电梯直达

1#

发表于 2022-11-5 15:46

|

只看该作者

|倒序浏览

|阅读模式

本帖最后由 lgs2007m 于 2024-3-9 19:04 编辑

MediaTek Filogic 系列路由器串口救砖教程

感谢蝈蝈大佬开发的 mtk_uartboot 工具,暗云大佬提供的教程,这样就可以随便刷砖了

适用系列:MediaTek MT7622、MT7981、MT7986、MT7988 SoC

有了串口TTL救砖,天下无砖!

目录

【1】硬改2GB内存

【2】硬改512MB闪存

注意:拆开机子无保修!!无保修!!无保修!!

有硬改的大佬说过,OP使用512M内存基本够用,1G富余,2G浪费,而且MTK不太耗内存,不建议硬改内存。

我改512MB闪存是了装docker,但是发现镜像太大,512MB还是太小,也不建议改闪存,我纯粹是为了捣鼓折腾!

【关于硬改USB的可能性】

MT7986A的datasheet等资料github有开源,有大佬需要可以去看看,一起捣鼓

感谢大佬提供的MT7986A Datasheet~有pin map,我整理一个引脚图,可以看到USB2.0和3.0点位。

其中绿色和蓝色为两组USB2.0的DM(USB HS/FS/LS data pin Data-)和DP(USB HS/FS/LS data pin Data+)

黄色为一组USB3.0的RXN、RXP(SSUSB data pin RX-、RX+)和TXN、TXP(SSUSB data pin TX- TX+)

其中一组USB2.0和3.0组成完整的USB3.0

感谢thunder35大佬,为了验证是否有USB引线,无私拆了自己的红米AX6000的CPU,图片如下:

可以看到绿色和蓝色的USB2.0没有引线出来(没有过孔,背面也没有发现引线),USB3.0部分引脚也没有引出还部分接地了,要硬改USB只能拆U引线了。

可能USB3、USB2 IP核的AVDD09、12、18、33这几个0.9V、1.2V、1.8V、3.3V供电也需要恢复,难度进一步加大……

完整的焊盘图如下:

和大佬一起想加个CPU垫片,把全部USB IP核的供电补齐、数据引脚引出来,但是内径0.15mm/外径0.3mm的盘中孔打板太贵了,目前只能放弃

提供红米AX6000的CPU垫片PCB工程文件,嘉立创EDA专业版的,有能力有条件的可以尝试:

【1】硬改2GB内存

感谢thunder35大佬,率先硬改了红米AX6000内存,分享了经验,我只是跟着大佬捣鼓了一下~

原贴:MT7986是真不错,大佬们快来玩啊

https://www.right.com.cn/forum/thread-8257694-1-1.html

首先选择内存颗粒。

MT7986A理论支持的DRAM是16bit DDR3/DDR4。

香蕉派 BPI-R3 开源路由器开发板用的也是MT7986A,内存是2GB,查了图片颗粒是K4AAG165WA-BCWE

它的在线wiki开发文档 : https://wiki.banana-pi.org/Banana_Pi_BPI-R3 里有个MT7986A Datasheet for BPI-R3。

貌似MT7986A Datasheet for BPI-R3里面的pin map引脚定义被删掉了。

里面特性介绍了说DDR3-2133支持到512MB、DDR4-3200支持到2GB,atf编译里面也是这样显示的,支持更大内存可能要自己写代码吧

根据acwifi拆机,同MT7986A处理器轻舟XDR6088拆机看到用的是ESMT 512MB DDR3-2133(M15T4G16256A-EFB)

红米AX6000拆机用的是三星 512MB DDR4-3200(K4A4G165WE-BCWE 4Gb 256Mx16 3200Mbps 1.2V 0~85°C 96FBGA)

我直接省事,选择了三星的颗粒,查询16位DDR4-3200的有以下颗粒:

4GB颗粒:K4ABG165WA-MCWE(32Gb 2Gx16 3200Mbps 1.2V 0~85°C 96FBGA)

2GB颗粒:K4AAG165WA-BCWE(16Gb 1Gx16 3200Mbps 1.2V 0~85°C 96FBGA)

1GB颗粒:K4A8G165WC-BCWE(8Gb 512Mx16 3200Mbps 1.2V 0~85°C 96FBGA)

1GB颗粒:K4A8G165WB-BCWE(8Gb 512Mx16 3200Mbps 1.2V 0~85°C 96FBGA)

512MB颗粒:K4A4G165WE-BCWE(4Gb 256Mx16 3200Mbps 1.2V 0~85°C 96FBGA)

我选择的是8GB单面4颗粒的1Rx16内存条子,它用就是2GB的颗粒。4GB单面4颗粒的1Rx16内存条子用的是1GB的颗粒。

选好颗粒就是拆机焊颗粒。

注意:拆开机子无保修!!无保修!!无保修!!

先拆颗粒,因为原厂基本都是高温焊锡,所以拆内存条上的颗粒我热风枪用440度、风速1或2,中枪嘴,加焊油后在颗粒上方转圈吹,吹大概25秒后,用镊子触碰颗粒可以自动还原,说明焊锡已经融化,直接镊子夹起颗粒,悬空冷却,这样不会破坏焊盘上的锡球。

拆下的颗粒是带比较完整的锡球,如果有个别锡球较小,可以镊子点一点锡膏上去,用热风焊台吹,补好直到所有焊点的锡球都很均匀即可。这样可以不用植锡板植锡了。

可以看到原厂三星512MB颗粒比内存条三星2GB颗粒要小一些,不知道其他品牌的是不是这样:

拆下颗粒后建议放焊油直接用刀口烙铁清理下焊盘,不建议用吸锡带清理,新手因为容易刮伤焊盘和线路。

接着放点焊油,接下来就是焊内存颗粒。

由于电路板上没有内存大小框,所以可以标记一些点来对准焊盘,要细心点,对准好就可以热风枪焊接了,温度风速与拆时相同。

下面图片中的黄色高温胶带我贴的不好,应该贴在PCB板上,而不是屏蔽罩框架上,贴着PCB板才能挡住热风吹向其他元器件。

焊接好后不要急着上电,需要测量内存的VPP、VDD(VDDQ)供电是否对地短路,就是屏蔽罩外面的三个0欧姆电阻是否对地短路,如果没有短路可以上电了。

只要焊接没问题一般上电就能正常启动了,不用像高通那样要刷CDT,自动识别,所以改还是挺简单的~

内存测试命令:

dd if=/dev/zero of=/tmp/test bs=1M count=10000000 #不死机说明内存识别没问题复制代码会在tmp文件夹写入一个文件,1GB内存会写入500MB左右的一个test文件,2GB内存会写入一个1000MB左右的test文件,写入没有死机说明内存识别正常。

之后可以手动删除/tmp/test这个文件。

我简单测试了下红米AX6000的功耗,待机是6W左右,CPU满载是可以到8W,如果此时无线一台手机测速,可以到15W,如果是一台手机一台电脑同时无线测速可以到20W,有时候峰值到24W。可以说无线发射很吃功耗。

我们知道红米AX6000的适配器是12V2A的,24W,我实测我的这个适配器最大稳定输出到2.6A(输出2.7A就过载保护断电了),即30W,应该是够用的。

红米AX6000的12V2A适配器(AD-0241200200CN-1)简单测试,仅供参考(仅代表我个人情况,不一定准确、通用):

【2】硬改512MB闪存

改闪存前建议先看我这篇教程的编程器救砖部分,了解下一些基本知识。

有人用旧的闪存说启动不了,建议买全新的闪存吧!!!

听说NAND FLASH有一个只能写入一次的OTP(One Time Programable)区域,高端机用这个绑定机子,不能换闪存,红米AX6000这种中低端好像没有,可以随意换闪存。

改闪存需要先知道mt798x的U-Boot和ATF(TF-A)支持哪些闪存,这样比较容易。

红米AX6000原闪存是SPI-NAND FLASH,ESMT 1Gb(128MB) F50L1G41LB,3.3V,WSON-8封装。

查看香蕉派Banana Pi论坛的教程[Tutorial] Build, customize and use MediaTek open-source U-Boot and ATF

由教程可知MediaTek SDK的atf编译中,mt798x需要选spim-nand,NAND_TYPE可选最大spim:4k+256,数据阵列4k+256一般就是4Gb(512MB)或者8Gb(1GB)的闪存,8Gb的话是2个die,4Gbx2。

再看uboot源码中的SPI-NAND闪存驱动支持哪些3.3V WSON-8封装闪存,我用的是hanwckf大佬的uboot源码uboot-mtk-20220606/drivers/mtd/nand/spi

接着就是SPI-NAND编程器,选择最便宜的CH341A编程器(买到芯片是CH341B也可以),记住要改3.3V供电,可以看我的这篇教程中的编程器救砖改。

编程器软件选McMCCRU大佬的基于CH341A的SNANDer,可以单独写分区,查看SNANDer支持的SPI-NAND闪存型号flash_support_list

如果没有你需要的,可以下载闪存datasheet向McMCCRU大佬提交需求。

具体哪些是2Gb(256MB)、4Gb(512MB)闪存可以看源码spi_nand_flash.c里面的定义,搜索关键字找:

#define _SPI_NAND_CHIP_SIZE_2GBIT 0x10000000

#define _SPI_NAND_CHIP_SIZE_4GBIT 0x20000000

我做了个对照表,查了部分信息,不一定准,仅供参考:

我选择了KIOXIA的4Gb(512MB)闪存TC58CVG2S0HRAIJ,3.3V,WSON-8封装。原TOSHIBA的4Gb(512MB)闪存TC58CVG2S0HRAIG也可以。

512M KIOXIA-TC58CVG2S0HRAIJ的阵列组织是4k+256,阵列组织是这样的:

每个page包含:

Page size 4096 bytes :Data Storage Area,存储数据的数据区

OOB(Out-Of-Band) size 256 bytes:Spare Area,存储ECC(Error Checking and Correction)校验和标记是否存在坏块的备用区

最后计算整个设备是512MB+32MB,即512MB的数据+32MB的OBB数据,512MB的叫做不含ECC_OOB的编程器固件,我们在openwrt里面备份的mtd0_spi01就是这个,512+32=544MB的叫做含ECC_OOB的编程器固件,这个需要编程器关闭闪存ECC才能读取到。

根据上面香蕉派论坛编译uboot和atf的教程,使用spim-nand的MT798x使用On-die ECC,而不是MTK's HW ECC。使用On-die ECC,我的理解是当开启闪存的内部ECC时,在写入数据时由内部自动生成ECC并记录,不需要其他设备如CPU的参与,我们可以不用管这个ECC。不对还请大佬指正!

这样我们就不需要含ECC_OOB的编程器固件了,直接用我们备份的分区在编程器写入,不用管ECC数据!

为了测试,我拆掉了原机闪存,并使用1.27*1.27mm的排针排母做了底座。当然你可以直接写好数据后焊接上去,因为已经有我踩坑了。有问题也可以飞线到闪存上用编程器重新擦写数据。

闪存的引脚以及如何和编程器连接可以看我这篇教程的编程器救砖部分。

主板焊盘上用贴片排针,买的是1.27*1.27mm的双排弯针,因为够长,可以自己调整长度。不过这个双排弯针的塑料垫片只有1mm,太低了,需要2.5mm比较合适,我又买了1.27*1.27mm双排卧式贴片排针,只用它塑料垫片。

闪存WSON-8转接板和编程器转接板是自己简单画的,白嫖嘉立创打板,转接板上用1.27*1.27mm双排2*4P贴片母座,可以买弯针的,自己凑合适的引脚,引脚长了可以剪。

贴片排针两边我又各插了2根弯针,是为了限位,防止插错,同时拔闪存的时候可以按住两边,压住排针,不至于拔到焊盘。

后面我又加两个1.27*1.27mm 2*4P的拔掉金属弹片的母座塑料,总之,防止拔闪存拖拽到焊盘。

我还看到某宝有WSON-8测试座,但是想想测试座终究测试,触点不够稳定,而且福建旁边产的好的蛮贵的,没买。

我买了个“国产”WSON-8测试座,这个测试座不能焊在WSON-8的焊盘上,而且感觉有些粗糙,不建议买。

买福建旁边产的测试座会好点,不过这种测试座需要加热台从背部焊接,或者热风枪吹背面焊接,有难度。

拆闪存和焊底座的注意点:

1.这个型号闪存底部有一个metal pad,算是比较大的焊盘,吹的时候多在中间打转吹,感觉中间焊锡差不多融化后再辐射吹两边的引脚。原厂高温焊锡加上冬天又没有加热垫,因此我风枪开430度吹了三次才吹下来,我都以为要吹坏了……记住冬天开高点温度,不超过450度吧,加焊油适当吹多10来秒,不要怕~

2.用吸锡带清理焊盘,尽量不要拖拽吸锡带,这样容易弄伤焊盘边上的绝阻焊漆。吸锡带是吸,不是拖。

3.焊底座不要用太多焊锡,可能连锡使得闪存读取失败,不要问我为什知道……如果多了可以用吸锡带吸走或烙铁吸走一些。

拆下闪存后,看到主板上闪存焊盘最大的方形焊盘连的是GND,需要用高温胶带做下绝缘。焊盘大小可以看下图:

改完座子,就可以随意折腾了。

下面需要修改uboot和atf编译的配置文件。我使用的hanwckf大佬的uboot源码仓库,站在大佬的肩膀上~

首先clone大佬源码到本地,安装依赖

git clone https://github.com/hanwckf/bl-mt798x

sudo apt install gcc-aarch64-linux-gnu

export CROSS_COMPILE=aarch64-linux-gnu-复制代码

为了让底层的BL2支持新的512MB闪存,需要在大佬原配置文件config上修改:

不知道为什么需要关闭atf里的NMBM,不然只能启动一次,重启后卡在BL2的NMBM初始化,同时修改spim-nand的类型为spim:4k+256

就是增加下面两行到atf-20220606-637ba581b/configs/mt7986_redmi_ax6000_defconfig

# CONFIG_NMBM is not set

CONFIG_SPIM_NAND_TYPE="spim:4k+256"复制代码

NMBM是MediaTek NAND Memory bad Block Management,MediaTek的闪存坏块管理。

测试如果按大佬的默认config会开启NMBM,uboot中也开启。

进过观察红米AX6000的TTL启动信息,BL2中也开启了NMBM,说明BL2和uboot的NMBM两者不会冲突,我的出问题可能跟闪存写入或者闪存本身有关!!

东芝这个闪存的数据结构有点不同,目前看不懂。

测试后觉得只能关闭atf里的NMBM,这样BL2就不会启动NMBM。

同时增加SPIM_NAND_TYPE="spim:4k+256",因为默认是spim:2k+64,只有spim:4k+256才能启动512MB闪存。

BL2初始化NMBM报错:

NOTICE: BL2: v2.7(release):20221201-dirty

NOTICE: BL2: Built : 20:46:09, Jan 17 2023

NOTICE: WDT: disabled

NOTICE: CPU: MT7986 (2000MHz)

NOTICE: EMI: Using DDR4 settings

NOTICE: EMI: Detected DRAM size: 2048MB

NOTICE: EMI: complex R/W mem test passed

NOTICE: SPI_NAND parses attributes from parameter page.

NOTICE: SPI_NAND Detected ID 0x98

NOTICE: Page size 4096, Block size 262144, size 536870912

NOTICE: Initializing NMBM ...

NOTICE: Signature found at block 2047 [0x1ffc0000]

ERROR: NMBM configuration mismatch

ERROR: BL2: Failed to load image id 3 (-5)复制代码

uboot的config中设置NMBM最大blocks为64,修改默认mtdparts的ubi为490MB即501760k(ubi)

就是添加下面第一行,修改下面第二行内容到uboot-mtk-20220606/configs/mt7986_redmi_ax6000_defconfig

CONFIG_NMBM_MAX_BLOCKS=64

CONFIG_MTDPARTS_DEFAULT="nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),501760k(ubi)"复制代码

uboot编译默认使用最少1/16闪存的空间给NMBM做坏块管理,不过文件里面说对于大闪存1/16有点多,512MB/16=32MB。

另外一个限制NMBM坏块管理空间的配置是CONFIG_NMBM_MAX_BLOCKS,我设置为64,即64*64pages=64*64*4096bytes=16MB。

当NMBM最大块数的大小小于1/16闪存空间时,用最大块数的大小作为NMBM坏块管理空间,这里即16MB。

同时修改默认mtdparts的ubi大小为490MB即501760k(ubi)。

因为前面BL2、Nvram、Bdata、Factory、FIP、crash和crash_log这7个分区刚好占6MB。

512-6-16=490MB=501760k

修改后启动时TTL查看nmbm信息:

MT7986> nmbm nmbm0 info

nmbm0:

Total blocks: 2048

Data blocks: 1984

Management start block: 1984

Info table size: 0x4000

Main info table start block: 1984

Backup info table start block: 1987

Signature block: 2047

Mapping blocks top address: 2041

Mapping blocks limit address: 1988复制代码可以看到坏块管理开始block是1984,总block是2048,2048-1984=64个block,就是我设置的NMBM最大blocks为64。

我看到编译后的uboot的config有一条CONFIG_MTK_BROM_HEADER_INFO="media=snand;nandinfo=2k+64",不知道对uboot有没有影响,我找到文件也改了

找到文件uboot-mtk-20220606/arch/arm/mach-mediatek/Kconfig

将config MTK_BROM_HEADER_INFO中的原来的nandinfo=2k+64改为nandinfo=4k+256,不知道有用没有……

经对比修改前后编译出来的文件,只有编译日期不同,所以这个修改是不需要的……

default "media=snand;nandinfo=4k+256" if TARGET_MT7981 || TARGET_MT7986 || TARGET_MT7988复制代码修改好后可以编译了

cd bl-mt798x

SOC=mt7986 BOARD=redmi_ax6000 ./build.sh复制代码

如果编译出现报缺少dts、dtb文件错误,就安装device-tree-compiler:

sudo apt-get install device-tree-compiler复制代码出现fvp-base-gicv3-psci.pre.dts:128.20-133.5: Warning (simple_bus_reg)或者Unable to find python You must have python installed in order错误,就安装python-is-python3:

sudo apt-get install python-is-python3复制代码

编译成功会显示build done,最后文件输出在这里atf-20220606-637ba581b/build/mt7986/release

复制bl2.img和fip.bin,这两个文件对应就是BL2和FIP分区的文件。

我使用的固件是237大佬的闭源源码编译的,我fork后修改了ax6000-uboot的DTS(Device Tree Source)

target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7986a-xiaomi-redmi-router-ax6000-uboot.dts

修改DTS,将原来partition中的ubi 110MB的16进制0x6e00000改为490MB的16进制0x1ea00000

/* ubi partition is the result of squashing

* consecutive stock partitions:

* - ubi

* - ubi1

* - overlay

*/

partition@600000 {

label = "ubi";

reg = <0x600000 0x1ea00000>;

};

/* For 512MB NAND, ubi 490MB, last 16 MiB is reserved for NMBM bad block table */复制代码

改完也可以重新编译固件了。

有一点不太明白,原来128MB闪存,DTS中说预留了12MB给NMBM坏块管理,按之前的理解计算128MB/16=8MB,实际也是8MB做坏块管理。

128-110-6-8=4MB,还剩下4MB不知道是如何算到NMBM坏块管理的呢?

刷机文件bl2.img和fip.bin,固件都编译好了,可以开刷了~

首先将bl2.img改名为bl2.bin,并复制你的分区备份文件放到同一个文件夹。

mtd1_BL2.bin mtd2_Nvram.bin mtd3_Bdata.bin mtd4_Factory.bin mtd5_FIP.bin mtd6_crash.bin mtd7_crash_log.bin

crash和crash_log是两个256K的全是0xFF的文件。

然后用WinHex之类的二进制编辑软件打开mtd1_BL2.bin和bl2.bin,先用FF填充mtd1_BL2.bin,然后复制bl2.bin内容写入到mtd1_BL2.bin,最后点保存。

同理操作将fip.bin写入填充后的mtd5_FIP.bin,得到新的mtd1_BL2.bin和mtd5_FIP.bin,直接用WinHex先将7个文件按顺序合并为一个6MB的mtd.bin文件,再写入。

或者使用Bin Merger软件合并。当然分开写入也可以,建议先擦除对应分区再写入。

mtd1_BL2、mtd5_FIP、mtd6_crash、mtd7_crash_log和固件可以到我的仓库下载编译修改好的,下载后可以检查下文件的md5,然后和自己的mtd2_Nvram、mtd3_Bdata、mtd4_Factory文件合并为一个6M的mtd文件就行了。

下载链接:红米AX6000改512MB闪存刷机文件

squashfs-sysupgrade.bin固件已集成kmod-mtd-rw,可以运行下面命令解锁分区的写入,后期可以更新BL2和FIP:

insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1复制代码我的红米AX6000改512MB闪存atf_uboot以及固件云编译https://github.com/lgs2007m/Redmi-AX6000-SPI-NAND-512MB

下面要刷写闪存了,下载SNANDer软件,就是源码仓库中Windows文件夹的SNANDer.exe和驱动zadig-2.3.exe,然后按照install文档运行驱动,插上CH341A编程器,点击安装驱动。

SNANDer.exe放在存放刷机文件的文件夹,然后在文件夹空白地方右键->在终端中打开,或者用CMD打开该文件夹路径。

输入下面命令先擦写整个闪存,再写入6MB的合并mtd.bin

SNANDer -e

SNANDer -v -w mtd.bin -a 0x0 -l 0x600000复制代码

输出是下面这样的,我们会看到会报有坏块,这个不用管。因为大的闪存一般存在坏块,只要前面刷引导的地方没有坏块就行了。

底层引导启动后会有上层的坏块管理程序,如NMBM去重新映射坏块。我这个闪存有5个坏block。

PS:SNANDer这里显示OOB Size: 128B,与上面我说的256不一样,我觉可能是按启动内部ECC的情况吧。

E:\>SNANDer -e

SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.8b2 by McMCC

Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0x98, dev_id = 0xed, dev_id_2 = 0x51

Get Status Register 1: 0x00

Get Status Register 2: 0x12

Using Flash ECC.

Detected SPI NAND Flash: KIOXIA TC58CVG2S0HRAIJ, Flash Size: 512MB, OOB Size: 128B

ERASE:

Set full erase chip!

Erase addr = 0x0000000000000000, len = 0x0000000020000000

spi_nand_erase_block : erase block fail, block = 0xba, status = 0x4

spi_nand_erase_internal : Erase Fail at addr = 0x2e80000, len = 0x20000000, block_idx = 0xba

spi_nand_erase_block : erase block fail, block = 0x40f, status = 0x4

spi_nand_erase_internal : Erase Fail at addr = 0x103c0000, len = 0x20000000, block_idx = 0x40f

spi_nand_erase_block : erase block fail, block = 0x4a7, status = 0x4

spi_nand_erase_internal : Erase Fail at addr = 0x129c0000, len = 0x20000000, block_idx = 0x4a7

spi_nand_erase_block : erase block fail, block = 0x600, status = 0x4

spi_nand_erase_internal : Erase Fail at addr = 0x18000000, len = 0x20000000, block_idx = 0x600

spi_nand_erase_block : erase block fail, block = 0x601, status = 0x4

spi_nand_erase_internal : Erase Fail at addr = 0x18040000, len = 0x20000000, block_idx = 0x601

Erase 100% [536870912] of [536870912] bytes

Elapsed time: 7 seconds

Status: OK

E:\>SNANDer -v -w mtd.bin -a 0x0 -l 0x600000

SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.8b2 by McMCC

Found programmer device: WinChipHead (WCH) - CH341A

Device revision is 3.0.4

spi_nand_probe: mfr_id = 0x98, dev_id = 0xed, dev_id_2 = 0x51

Get Status Register 1: 0x00

Get Status Register 2: 0x12

Using Flash ECC.

Detected SPI NAND Flash: KIOXIA TC58CVG2S0HRAIJ, Flash Size: 512MB, OOB Size: 128B

WRITE:

Write addr = 0x0000000000000000, len = 0x0000000000600000

Written 100% [6291456] of [6291456] bytes

Elapsed time: 22 seconds

Status: OK

VERIFY:

Read addr = 0x0000000000000000, len = 0x0000000000600000

Read 100% [6291456] of [6291456] bytes

Elapsed time: 58 seconds

Status: OK复制代码

刷完后可以装上闪存了,然后上电后5秒内按住RESET,按10秒,就可以进入uboot webui刷写编译好的ubi 490MB的固件了。

系统启动后可以查看分区,是这样的:

root@ImmortalWrt:~# cat /proc/mtd

dev: size erasesize name

mtd0: 20000000 00040000 "spi0.1"

mtd1: 00100000 00040000 "BL2"

mtd2: 00040000 00040000 "Nvram"

mtd3: 00040000 00040000 "Bdata"

mtd4: 00200000 00040000 "Factory"

mtd5: 00200000 00040000 "FIP"

mtd6: 00040000 00040000 "crash"

mtd7: 00040000 00040000 "crash_log"

mtd8: 1ea00000 00040000 "ubi"

root@ImmortalWrt:~# cat /proc/partitions

major minor #blocks name

31 0 524288 mtdblock0

31 1 1024 mtdblock1

31 2 256 mtdblock2

31 3 256 mtdblock3

31 4 2048 mtdblock4

31 5 2048 mtdblock5

31 6 256 mtdblock6

31 7 256 mtdblock7

31 8 501760 mtdblock8

253 0 44144 ubiblock0_1

252 0 1020928 zram0

root@ImmortalWrt:~# ubinfo -a

UBI version: 1

Count of UBI devices: 1

UBI control device major/minor: 10:62

Present UBI devices: ubi0

ubi0

Volumes count: 3

Logical eraseblock size: 253952 bytes, 248.0 KiB

Total amount of logical eraseblocks: 1960 (497745920 bytes, 474.6 MiB)

Amount of available logical eraseblocks: 0 (0 bytes)

Maximum count of volumes 128

Count of bad physical eraseblocks: 0

Count of reserved physical eraseblocks: 39

Current maximum erase counter value: 2

Minimum input/output unit size: 4096 bytes

Character device major/minor: 249:0

Present volumes: 0, 1, 2

Volume ID: 0 (on ubi0)

Type: dynamic

Alignment: 1

Size: 14 LEBs (3555328 bytes, 3.3 MiB)

State: OK

Name: kernel

Character device major/minor: 249:1

-----------------------------------

Volume ID: 1 (on ubi0)

Type: dynamic

Alignment: 1

Size: 178 LEBs (45203456 bytes, 43.1 MiB)

State: OK

Name: rootfs

Character device major/minor: 249:2

-----------------------------------

Volume ID: 2 (on ubi0)

Type: dynamic

Alignment: 1

Size: 1725 LEBs (438067200 bytes, 417.7 MiB)

State: OK

Name: rootfs_data

Character device major/minor: 249:3复制代码

附上128MB闪存的ubinfo -a作对比:

root@ImmortalWrt:~# ubinfo -a

UBI version: 1

Count of UBI devices: 1

UBI control device major/minor: 10:62

Present UBI devices: ubi0

ubi0

Volumes count: 3

Logical eraseblock size: 126976 bytes, 124.0 KiB

Total amount of logical eraseblocks: 880 (111738880 bytes, 106.5 MiB)

Amount of available logical eraseblocks: 0 (0 bytes)

Maximum count of volumes 128

Count of bad physical eraseblocks: 0

Count of reserved physical eraseblocks: 19

Current maximum erase counter value: 2

Minimum input/output unit size: 2048 bytes

Character device major/minor: 249:0

Present volumes: 0, 1, 2

Volume ID: 0 (on ubi0)

Type: dynamic

Alignment: 1

Size: 27 LEBs (3428352 bytes, 3.2 MiB)

State: OK

Name: kernel

Character device major/minor: 249:1

-----------------------------------

Volume ID: 1 (on ubi0)

Type: dynamic

Alignment: 1

Size: 356 LEBs (45203456 bytes, 43.1 MiB)

State: OK

Name: rootfs

Character device major/minor: 249:2

-----------------------------------

Volume ID: 2 (on ubi0)

Type: dynamic

Alignment: 1

Size: 474 LEBs (60186624 bytes, 57.3 MiB)

State: OK

Name: rootfs_data

Character device major/minor: 249:3复制代码

启动时的TTL输出,登录后查看分区信息和软件包剩余空间:

目前改闪存已经运行多天,目前还没有发现问题。

有什么再反馈了。

下面付上

关于TTL:我发现使用改了3.3V的CH341A/B土豪金的TTL连接路由器,只要是128M闪存都可以正常使用,但是用512M闪存的时候只要接上TTL的TX(即路由器的RX),就会卡System halt!不能启动。而我的FT232RL USB转TTL无论是128M还是512M都可以正常使用。

我断电路由器,保持TTL接路由器然后通电CH341A,发现路由器上的RX对地电压1.6V左右,路由器TX对地电压2.3V。我换了FT232RL TTL,设置输出3.3V电平,发现RX对地是1.3V、TX对地都是1.6V左右。我在CH341A/B土豪金TTL的TX发送端上面串联了一个4.7k电阻,此时然后再测路由器RX对地1.2V、TX对地1V,此时512M闪存可以正常启动了。

记录下,给大家避坑。

手机内存改u盘, 电视内存硬改

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

校友(梨)

一直没搞明白硬改闪存后,修改DTS里面UBI的分区大小是怎么确定的?比如楼主改成490M的0x1ea00000?

发表于 2024-2-20 13:13

imwf

春节前找了时间插线飞了USB2蓝色2根线,测试电阻应该没问题,进系统 没任何反应,dmesg没信息,也许需要你说的供电才能工作,拆U太难恢复,不知道磨掉U上层是不是能看到触点。

发表于 2023-2-2 10:04

评分

参与人数 25恩山币 +33

收起

理由

fanhamlet

+ 1

祝您2025年新年快乐、阖家幸福! ...

810130246

+ 1

互联网精神残余

校友(梨)

+ 2

感谢你的分享,无论怎样,你都是最无私的人.

cqhaart

+ 1

几亿网民,我们俩竟然神奇的在恩山相遇了!.

love5955

+ 2

强大的恩山!(以下重复1万次)

davidtall

+ 1

你好,久仰卧龙大名,在下凤雏!.

jinly

+ 1

强大的恩山!(以下重复1万次)

黑色守望

+ 1

你好,久仰卧龙大名,在下凤雏!.

nsdd

+ 1

2333

BiuTone

+ 1

你好,久仰卧龙大名,在下凤雏!

qsamxp

+ 2

你好,久仰卧龙大名,在下凤雏!

小牛试刀

+ 1

加鸡腿!

wizcheu

+ 1

强大的恩山!(以下重复1万次)

383107414

+ 1

NB

松柏

+ 2

强大的恩山!(以下重复1万次)

人生之际

+ 1

虽然用到退役也是空闲1G多内存,但不能没有.

imwf

+ 2

等阳没了搞USB

keke1023

+ 1

支持折腾~

xag

+ 1

强大的恩山!(以下重复1万次)

溜溜

+ 1

感谢你的分享,无论怎样,你都是最无私的人.

xxgg

+ 2

兄弟,你肥皂又掉了…

chana519

+ 1

强大的恩山!(以下重复1万次)

delux2022

+ 1

感谢你的分享,无论怎样,你都是最无私的人.

Devil-tr

+ 2

这个可以了,顺便问一句,出不出魔改好的机.

zenghongtu

+ 2

一看就是觉得高端、大气、上档次!

查看全部评分

分享到:

QQ好友和群

QQ空间

收藏123

支持27

反对0

相关帖子

• 出售硬改512MB运行内存的的WR330

• 小猫咪,3322,虚拟内存U盘降低补丁适合G大386.1.0

• sx05re 2.1最终版64G懒人包 怎么改成32g U盘使用的

• FAST迅捷 FWR200 V2堆锡法换内存 硬改16MB+64MB

• K2硬改32M闪存,128M内存有没有合适的多拔固件推荐呢

• 硬改K2改了256内存32闪存,加了USB。信号比原版好

• 新手硬改WR740 V5内存求解答

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

使用道具

举报

置顶卡

沉默卡

喧嚣卡

顶贴卡

显身卡

周卫国

周卫国

当前离线

积分1492

IP卡

狗仔卡

2#

发表于 2022-11-5 15:57

|

只看该作者

厉害啊,比高通简单很多

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

httpcom126

httpcom126

当前离线

积分1545

IP卡

狗仔卡

3#

发表于 2022-11-5 16:08

|

只看该作者

比高通简单很多啊,厉害

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

weishen123

weishen123

当前离线

积分186

IP卡

狗仔卡

4#

发表于 2022-11-5 16:21

|

只看该作者

动手能力真强,顶一下

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

superzjg

superzjg

当前离线

积分1646

IP卡

狗仔卡

5#

发表于 2022-11-5 16:24

|

只看该作者

不用回复可见的帖子要顶一下

点评

lgs2007m

谢谢,我个人很讨厌回复可见,就那么点东西没有技术含量,就是分享而已

详情

回复

发表于 2022-11-5 16:27

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

lgs2007m

lgs2007m

当前离线

积分4388

IP卡

狗仔卡

6#

楼主|

发表于 2022-11-5 16:27

|

只看该作者

superzjg 发表于 2022-11-5 16:24

不用回复可见的帖子要顶一下

谢谢,我个人很讨厌回复可见,就那么点东西没有技术含量,就是分享而已

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持 0

反对 1

使用道具

举报

显身卡

hapi9

hapi9

当前离线

积分306

IP卡

狗仔卡

7#

发表于 2022-11-5 16:40

|

只看该作者

优秀如你!!

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

WEIWEIWEI110

WEIWEIWEI110

当前离线

积分381

IP卡

狗仔卡

8#

发表于 2022-11-5 16:44

|

只看该作者

先收藏了

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

晨光熹微

晨光熹微

当前离线

积分459

IP卡

狗仔卡

9#

发表于 2022-11-5 16:54

|

只看该作者

动手能力真强

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

sw1999

sw1999

当前离线

积分4788

IP卡

狗仔卡

10#

发表于 2022-11-5 17:03

|

只看该作者

好像也用不上这么多内存,又不能docker,也没有USB

点评

lgs2007m

我知道,看我第二句话

详情

回复

发表于 2022-11-5 17:04

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

lgs2007m

lgs2007m

当前离线

积分4388

IP卡

狗仔卡

11#

楼主|

发表于 2022-11-5 17:04

|

只看该作者

sw1999 发表于 2022-11-5 17:03

好像也用不上这么多内存,又不能docker,也没有USB

我知道,看我第二句话

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

chana519

chana519

当前离线

积分546

IP卡

狗仔卡

12#

发表于 2022-11-5 17:04

|

只看该作者

动手能力不错!~MTK真简单了不少,赞!·

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

1570843543

1570843543

当前离线

积分822

IP卡

狗仔卡

13#

发表于 2022-11-5 17:08

|

只看该作者

不用回复可见的帖子要顶一下

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

xcgf

xcgf

当前离线

积分1374

IP卡

狗仔卡

14#

发表于 2022-11-5 17:20

来自手机

|

只看该作者

可以帮我换内存吗

点评

lgs2007m

换内存需要拆机,没有保修,内存颗粒也不便宜,不值得哦

详情

回复

发表于 2022-11-5 17:22

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡

lgs2007m

lgs2007m

当前离线

积分4388

IP卡

狗仔卡

15#

楼主|

发表于 2022-11-5 17:22

|

只看该作者

xcgf 发表于 2022-11-5 17:20

可以帮我换内存吗

换内存需要拆机,没有保修,内存颗粒也不便宜,不值得哦

点评

qq417014323

大佬啊 一定要用 1Rx16 的嘛

详情

回复

发表于 2022-12-29 17:09

qq417014323

大佬啊 可以用风枪拆嘛 真要上焊台的话是不是整块主板拆下来放上

详情

回复

发表于 2022-11-7 15:49

只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。

回复

支持

反对

使用道具

举报

显身卡


支付指纹在哪里设置?原来开关藏在这里!学会这招,再也不用担心输错密码!
世界杯冠军表历届-中国女足球衣号码:沈梦雨9号,王霜7号&张琳艳19号