折腾一下OpenWrt-Lenovo-newifi-y1s-R22.1.1-mt7620a-USB
一、由于Y1s的FLASH闪存只有16MB,编译固件得慎重选择插件不然固件就超过16MB了导致编译失败。为此想到了更换这台老机器的FLASH闪存,于是在阿里宝宝上买了MX25L25645GM2I-10G(SOP8/8脚)32MB闪存和MX25L51245GMI-10G(SOP16/16脚)64MB闪存实测两颗闪存在Breed Web下都能识别正常容量,只是颗粒型号和卖家给出的型号不一致。
MT7620A参数详情(最大支持4B addr SPI Flash 512Mbit也就是64MB)只是目前4B addr SPI Flash路由器上的Reset(复位)无法使路由器恢复初始状态(这个不影响使用,网上倒是有类似的解决方案不过我没有找到对应的文件进行修改):
MX25L25645GM2I-10G(SOP8/8脚)32MB闪存:
MX25L51245GMI-10G(SOP16/16脚)64MB闪存:
SPI FLASH芯片SOP8与SOP16联接(更换FLASH闪存记得在Breed Web下备份之前颗粒的eeprom和截图你的Breed Web下MAC地址修改界面,不然更换FLASH后重刷固件可能导致不能上网):
二、修改OpenWrt源码编译支持64MB FLASH的固件,打开你Git的OpenWrt源码目录lede/target/linux/ramips/dts找到mt7620a_lenovo_newifi-y1.dtsi
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x3fb0000>;
打开lede/target/linux/ramips找到mt7620.mk
修改: define Device/lenovo_newifi-y1s
SOC := mt7620a
IMAGE_SIZE := 64225k
DEVICE_VENDOR := Lenovo
DEVICE_MODEL := Y1S
DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci
SUPPORTED_DEVICES += y1s
endef
TARGET_DEVICES += lenovo_newifi-y1s
这样保存后重新编译的固件就支持64MB FLASH了。
三、关于OpenWrt作为旁路网关(旁路由)的连接和接口设置。
我的是联通光猫拨号连接Redmi AX6做主路由自动获取IP上网,先设置Lenovo-newifi-y1s,我这里不需要Y1s的无线所以直接是先把无线全部移除了,然后干掉了WAM和WAN0这两个接口,因为固件编译支持IPv6首先我们先添加新接口(保存&应用):
修改新添加的接口(保存&应用):
然后打开LAN编辑如下(保存&应用):
以上步骤是Lenovo-newifi-y1s网线直连电脑进行操作的,LAN接口保存后等5分钟左右直接拔掉网线和电源,然后将Lenovo-newifi-y1s的1000M口(LAN1或者LAN2)接口用网线连接主路由LAN口插腚开机等待几分钟即可通过设置的你的OpenWrt后台地址IP进行后台访问了。
由于我的是Redmi AX6做主路由,在设置打到美帝后局域网内设备可以访问谷沟无法访问国内网络所有还需要添加一条防火墙规则:
iptables -t nat -I POSTROUTING -j MASQUERADE(网上说不是所有设备都需要添加,视情况而定。)
四、固件编译插件列表:
使用Lede大佬最新源码编译(支持IPv6解锁USB自动挂载):
分享一个我的dl库备份:
默认登陆IP 192.168.1.1 密码 password
提取码:LY1S