|
本帖最后由 keke1023 于 2019-4-7 17:24 编辑
这两天闲着没事,闲鱼上60包邮收了一个迅雷路由器,卖家给刷好梅林寄了过来,这里说一下收到后的折腾以及刷机过程
刷机我没有动手,但是也查了相关的教程,就是要先刷一个旧版梅林开ssh,然后再刷入改版cfe,最后重启在救援模式里刷新的梅林,然后新的梅林会出现开机不会自动启用wifi的bug,原文教程是通过添加一个wan-start脚本来实现的
然后我拿到后在测试中发现一些问题:
1.启动时间很长,操作很卡,top指令看了一下,开机后几分钟内有一个mtdblock3进程持续占用至少40-50%的cpu,即便启动完成后,cpu负载也保持在18%左右
2.软重启后wan口有时无法连上,wan-start脚本也无法运行了,除非拔电源硬重启,这点不是每次都能复现,可能跟改设置有关,我也懒的反复测试了
那么我就搜索了一下相关的资料,很少有人提到mtdblock3的读写进程问题,但是最终还是查到了类似情况,解决方法也很简单——在无线设置里关闭WPS,没想到啊。。亲测有效,再次开机启动时间缩短到2-3分钟,而且mtdblock3进程也占用很低且只出现一下,启动后所有进程只有2%左右的cpu负载,任何操作也都恢复正常速度,不再出一条日志卡几秒
另一个问题就是脚本,查到了另一种开机自启动的方法,手动在/jffs/scripts/文件夹下touch生成一个services-start文件,然后chmod 777 /jffs/scripts/services-start赋予它执行权限,最后把
#!/bin/sh
sleep 10
nvram set wl0_radio=1
nvram set wl1_radio=1
nvram commit
service restart_wireless
写入到services-start文件里即可,总之这样不论wan口状态,开机后wifi总是有的
附上一个各种不同脚本启动时间的说明:
- ** User scripts **
- These are shell scripts that you can create, and which will be run when
- certain events occur. Those scripts must be saved in /jffs/scripts/ ,
- so, JFFS must be enabled, as well as the option to use custom
- scripts and configs. This can be configured under Administration -> System.
- Available scripts:
- * ddns-start: Script called at the end of a DDNS update process.
- This script is also called when setting the DDNS type
- to "Custom". The script gets passed the WAN IP as
- an argument.
- When handling a "Custom" DDNS, this script is also
- responsible for reporting the success or failure
- of the update process. See the Custom DDNS section
- below for more information.
- * dhcpc-event: Called whenever a DHCP event occurs on the WAN
- interface. The type of event (bound, release, etc...)
- is passed as an argument.
- * firewall-start: Firewall is started (filter rules have been applied)
- The WAN interface will be passed as argument (for
- example. "eth0")
- * init-start: Right after jffs is mounted, before any of the services
- get started
- * nat-start: nat rules (i.e. port forwards and such) have been applied
- (nat table)
- * openvirtual**-event: Called whenever an Openvirtual** server gets
- started/stopped, or an Openvirtual** client connects to a
- remote server. Uses the same syntax/parameters as
- the "up" and "down" scripts in Openvirtual**.
- * post-mount: Just after a partition is mounted
- * pre-mount: Just before a partition is mounted. Be careful with
- this script. This is run in a blocking call and will
- block the mounting of the partition for which it is
- invoked till its execution is complete. This is done so
- that it can be used for things like running e2fsck on the
- partition before mounting. This script is also passed the
- device path being mounted as an argument which can be
- used in the script using $1.
- * qos-start: Called after both the iptables rules and tc configuration
- are completed for QoS. This script will be passed an
- argument, which will be "init" (when QoS is being
- initialized and it has setup the tc classes) or
- "rules" (when the iptables rules are being setup).
- * services-start: Initial service start at boot
- * services-stop: Services are stopped at shutdown/reboot
- * unmount: Just before unmounting a partition. This is a blocking
- script, so be careful with it. The mount point is passed
- as an argument to the script.
- * wan-start: WAN interface just came up (includes if it went down and
- back up). The WAN unit number will be passed as argument
- (0 = primary WAN)
- Don't forget to set them as executable:
- chmod a+rx /jffs/scripts/*
- And like any Linux script, they need to start with a shebang:
- #!/bin/sh
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|