找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 8899|回复: 24

wndr4700 flash “扩容”

[复制链接]
发表于 2018-9-23 17:39 | 显示全部楼层 |阅读模式
本帖最后由 iamfool 于 2018-9-23 17:45 编辑

最近收了台二手的wndr4700.性能啥的都很满意,就是发现flash空间太小,能装软件的空间只有20M多一点,连samba4都装不下,偏偏windows10 1709之后放弃了smbv1,samba3.6的netbios共享名无法被发现,很不爽。
wndr4700的flash是128m的,为啥只有20多M能用来装软件呢,这不科学。
看了看proc/mtd

dev:    size   erasesize  name
mtd0: 08000000 00020000 "NAND 128MiB 3,3V 8-bit"
mtd1: 00180000 00020000 "uboot"
mtd2: 00020000 00020000 "device-tree"
mtd3: 001e0000 00020000 "kernel"
mtd4: 01660000 00020000 "rootfs"
mtd5: 00080000 00020000 "config"
mtd6: 00080000 00020000 "pot"
mtd7: 00300000 00020000 "traffic_meter"
mtd8: 001c0000 00020000 "language"
mtd9: 06020000 00020000 "ecos"
mtd10: 00040000 00020000 "wifi_data"
mtd11: 01860000 00020000 "firmware"


其中mtd4也就是rootfs只有22M。
把MTD内容全部dump出来用winhex去分析,发现config里面应该是upnp或者qos的数据,language估计是netgear原厂固件的翻译,这两个openwrt是不会用的,pop、traffic_meter、ecos三个分区都是FF,估计只有wifi_data是有用的,刚好这个分区在最后面,其他的分区完全可以全都去掉让openwrt掌管
自己修改了分区表编译了openwrt的固件,内置了aria2、samba4等软件后还有80多M的空间,念头通达了。



固件见这个链接 https://pan.baidu.com/s/1XW72nnyzq7MQ854LrmOE9Q
此固件在官方snapshot的基础上添加了luci界面,添加usb3.0的firmware,打开了ubifs的压缩功能
由于调整了分区表,并开启压缩功能,直接升级可能会有问题。所以放上img格式。用tftp方式刷最保险
刷之前最好做好mtd内容的备份,虽然可能一辈子都用不上了。
另外放上dtb文件,openwrt官方固件基础上mtd2刷这个文件应该就可以打开所有flash空间,刷了之后必须恢复出厂设置一次才能用上。
(就测试过一次,不能用别找我,此外刷dtb是不会导致变砖的,不能启动就tftp,请放心折腾)










本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-9-23 19:46 | 显示全部楼层
这样的话如果以后要刷回原厂会有障碍的吧,不好想想玩op的应该也不会刷回原厂

点评

其实没有任何障碍,tftp方式刷就可以了  详情 回复 发表于 2018-9-23 20:18
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-23 20:18 | 显示全部楼层
本帖最后由 iamfool 于 2018-9-23 20:32 编辑
琳琅 发表于 2018-9-23 19:46
这样的话如果以后要刷回原厂会有障碍的吧,不好想想玩op的应该也不会刷回原厂

其实没有任何障碍,tftp方式刷就可以了,原厂IMG包里估计所有东西都有。说实话原厂固件一秒都没用过,到手直接刷op
就算没有,config分区的内容应该可以在原厂界面里再次定义的,language内容的话应该没关系的,大不了看英语。ecos估计是应急os,固件出错时用的,但netgear根本就没开发出来,
何况还有MTD内容备份呢,mtd命令刷回去就好了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-30 14:39 | 显示全部楼层
刷了,装了frp,samba4,aria2和可道云以后还有80m的空间。

点评

你的USB接口能用吗??  详情 回复 发表于 2020-11-22 17:43
能用就好,不过升级的时候刷官方版本会恢复原来的大小,而且由于flash压缩问题,原有配置会乱码打不开,所以大版本升级的时候我争取放出固件包,另外其实可以自己修改dts文件编译固件,不要动uboot分区就啥事没有  详情 回复 发表于 2018-9-30 22:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-30 22:05 | 显示全部楼层
xxxxxxxx 发表于 2018-9-30 14:39
刷了,装了frp,samba4,aria2和可道云以后还有80m的空间。

能用就好,不过升级的时候刷官方版本会恢复原来的大小,而且由于flash压缩问题,原有配置会乱码打不开,所以大版本升级的时候我争取放出固件包,另外其实可以自己修改dts文件编译固件,不要动uboot分区就啥事没有
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-2 15:46 来自手机 | 显示全部楼层
楼主,我有个ea4500也有这样的需求。。请问该如何操作呢?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-5 09:11 | 显示全部楼层
楼主可以把修改分区表的方法分享下不?我也想自己编译

点评

修改对应目标系统的dts文件  详情 回复 发表于 2018-10-5 21:35
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-10-5 21:35 | 显示全部楼层
小标 发表于 2018-10-5 09:11
楼主可以把修改分区表的方法分享下不?我也想自己编译

修改对应目标系统的dts文件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-13 00:17 | 显示全部楼层
mtd2 被锁,刷不了,请问能怎么解决,因lz的固件是snap的,很多软件依赖比较麻烦。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-13 01:18 | 显示全部楼层
18.06 刷了dts文件启动不了,只能tftp恢复

点评

我测试过18.06直接刷DTB文件是可以启动的,分析了一下估计是要刷了DTB重启前要恢复一下出厂设置。因为我是刷完1806后直接就刷dtb,所以没有碰到不能重启的问题。  详情 回复 发表于 2018-10-14 22:29
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-13 23:01 | 显示全部楼层
算了,等不了回复了,自己解了lz的dtb,换成编译的dts文件,文件位置/home/wuxeon/lean/r8/lede/target/linux/apm821xx/dts

要自己编译的人修改以下分区定义,编译完可用分区就直接是126M

根据这种分区定义,LZ是把kernel之后的分区全部作废掉,不影响,也没人去用原厂固件的了。
partition0,0@0 {
                                label = "NAND 128MiB 3,3V 8-bit";
                                reg = <0x00000000 0x08000000>;
                                read-only;
                        };

                        partition0,1@0 {
                                label = "uboot";
                                reg = <0x00000000 0x00180000>;
                                read-only;
                        };

                        partition0,2@180000 {
                                label = "device-tree";
                                reg = <0x00180000 0x00020000>;
                        };

                        partition0,3@180000 {
                                label = "kernel";
                                reg = <0x00180000 0x00380000>;
                                /*
                                 * device-tree is @ 0x00180000 - 0x001fffff
                                 * kernel starts from 0x200000.
                                 * this is coded into netgear's u-boot.
                                 *
                                 * this partition will also contain a
                                 * fake/empty rootfs at the end to fool
                                 * Netgear's uboot rootfs integrety checks.
                                 */
                        };

                        partition0,4@500000 {
                                label = "ubi";
                                reg = <0x00500000 0x07ac0000>;
                        };

                        partition0,5@7fc0000 {
                                label = "config";
                                reg = <0x019e0000 0x00040000>;
                                read-only;
                        };

                        partition0,6@7fc0000 {
                                label = "pot";
                                reg = <0x01a60000 0x00040000>;
                                read-only;
                        };

                        partition0,7@7fc0000 {
                                label = "traffic_meter";
                                reg = <0x01ae0000 0x00040000>;
                                read-only;
                        };

                        partition0,8@7fc0000 {
                                label = "language";
                                reg = <0x01de0000 0x00040000>;
                                read-only;
                        };

                        partition0,9@7fc0000 {
                                label = "ecos";
                                reg = <0x01fa0000 0x00040000>;
                                read-only;
                        };

                        partition0,10@7fc0000 {
                                label = "wifi_data";
                                reg = <0x07fc0000 0x00040000>;
                                read-only;
                        };

                        partition0,11@180000 {
                                label = "firmware";
                                reg = <0x00180000 0x07e80000>;
                                read-only;

点评

我发现你这个dts文件和我改的dts好像不一样啊,难道我放错文件上来了?我明明记得eos,language等分区的开始地址都是设成了0x07fc0000,另外大小都是0  详情 回复 发表于 2018-10-14 22:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-10-14 22:29 | 显示全部楼层
wuxeon 发表于 2018-10-13 01:18
18.06 刷了dts文件启动不了,只能tftp恢复

我测试过18.06直接刷DTB文件是可以启动的,分析了一下估计是要刷了DTB重启前要恢复一下出厂设置。因为我是刷完1806后直接就刷dtb,所以没有碰到不能重启的问题。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-10-14 22:32 | 显示全部楼层
wuxeon 发表于 2018-10-13 23:01
算了,等不了回复了,自己解了lz的dtb,换成编译的dts文件,文件位置/home/wuxeon/lean/r8/lede/target/lin ...

我发现你这个dts文件和我改的dts好像不一样啊,难道我放错文件上来了?我明明记得eos,language等分区的开始地址都是设成了0x07fc0000,另外大小都是0

点评

不大清楚,那么直接配置为0也可以的,使用正常了现在。  详情 回复 发表于 2018-10-16 10:48
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-16 10:48 | 显示全部楼层
iamfool 发表于 2018-10-14 22:32
我发现你这个dts文件和我改的dts好像不一样啊,难道我放错文件上来了?我明明记得eos,language等分区的 ...

不大清楚,那么直接配置为0也可以的,使用正常了现在。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-10-16 22:33 | 显示全部楼层
改正一下吧,是这样,上面那个是之前还没改好的,发错了


                        partition0,4@500000 {
                                label = "ubi";
                                reg = <0x00500000 0x07ac0000>;
                        };

                        partition0,5@7fc0000 {
                                label = "config";
                                reg = <0x07fc0000 0x00000000>;
                                read-only;
                        };

                        partition0,6@7fc0000 {
                                label = "pot";
                                reg = <0x07fc0000 0x00000000>;
                                read-only;
                        };

                        partition0,7@7fc0000 {
                                label = "traffic_meter";
                                reg = <0x07fc0000 0x00000000>;
                                read-only;
                        };

                        partition0,8@7fc0000 {
                                label = "language";
                                reg = <0x07fc0000 0x00000000>;
                                read-only;
                        };

                        partition0,9@7fc0000 {
                                label = "ecos";
                                reg = <0x07fc0000 0x00000000>;
                                read-only;
                        };

                        partition0,10@7fc0000 {
                                label = "wifi_data";
                                reg = <0x07fc0000 0x00040000>;
                                read-only;
                        };

                        partition0,11@180000 {
                                label = "firmware";
                                reg = <0x00180000 0x07e80000>;
                                read-only;

点评

向高手请教,网件R7500V1怎么扩容,相关资料如下,谢谢! root@R7500:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 15.0M 15.0M 0 100%  详情 回复 发表于 2019-12-8 10:47
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-28 18:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表