|
本帖最后由 7440909 于 2012-12-5 21:06 编辑
个人在使用刷上OpenWrt的过程中遇到两个问题,现将这两个问题及原因列出来,希望对大家有帮助。
此为在我这台机子上遇到的问题,其他机子不一定这样。但还是将其列出来,希望对各位有帮助。
1.安装好了挂载U盘的所有软件包,可是识别不了U盘,插上U盘时U盘的灯也不亮
可能原因:
路由使用的是外接电源而不是直接插在插座上,可能导致供电不足而无法识别U盘,将路由直接插220V~电源上问题解决。
2.TTL线已经准确无误连好,但是上电后minicom 和 SecureCRT窗口中都不出现本该出现的启动日志信息。
可能原因:
路由使用的是220V~,改用外接电源后问题解决。具体原因不知。(10月1日问题解决:如果又想挂U盘又想通过TTL看启动信息,同时插上220V和外接电源就好,我是抱着拼一拼的想法在插着220V电源的情况下插上外接电源的,结果TTL输出信息了,路由也没被烧坏。)
3. 使用USB扩展(即在U盘上运行系统)后DNS出现问题,电脑不能上网,用OpenWrt的网络诊断出现“bad address”的问题。
参考这篇文章http://xmxblog.sinaapp.com/2011/10/29/openwrt-bad-address%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/
和这篇:http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=7182&extra=
我的解决办法是像这样:
然后ssh(或者telnet,或者TTL)运行命令- # cd /etc
- # rm resolv.conf
- # ln -s /etc/ppp/resolv.conf
复制代码 这样就行了。
4.关于Transmission,需要这样就行了:- killall transmission-daemon
- vi /root/.config/transmission-daemon/settings.json
- vi /etc/config/transmission
复制代码 参考:https://www.right.com.cn/forum/thread-76588-1-1.html
5.关于samba
对我来说,这是最困难的部分了,4M空间集成不了samba,于是只能扩展到U盘上安装,但是安装好之后再Windows下却不能访问,折腾了好几天,终于可以了。参考http://hi.baidu.com/luquwin/item/8fb991a884a224a829ce9dcb
执行顺序不要变吧,可能是顺序问题,我也怀疑过DNS问题。但是最终却好了,就按这样的顺序来。- /etc/init.d/samba enable
- /etc/init.d/samba start
- smbpasswd -a root
- /etc/init.d/samba start
复制代码 在Windows下测试播放插在USB口的U盘的1080P视频,如果采用有线连接方式,PotPlayer播放很流畅,但是如果采用无线连接,PotPlayer就会非常卡了,简直就是一帧一帧的跳过,因为720N的无线发射速度虽然标的是150Mbps,但是实际往外传输时最大只能达到10Mbps 。有一个办法,即使使用无线连接方式也能使1080P很流畅的播放。
那就是使用WindowsMediaPlayer。
6.U盘运行一段时间后挂载在overlay的分区下出现许多以字符为文件名的大小为0字节的文件,起先以为是U盘太旧了坏了,换了新的还是这样,想了各种办法问题还是没解决,也没有前车之鉴。后来我想可能是CPU负载太高,或者是CPU温度太高导致处理紊乱,亦或是有其他电磁干扰.于是我去掉那些一般用不着的功能,给CPU加装了金属片(参考电脑CPU那种做法,还涂了电脑CPU用的那种导热硅脂[不用担心硅脂涂到CPU 针脚上,不导电的])散热(别乱动硬件,我的貌似不正常了,不知道是不是加装散热把哪儿弄短路了),结果一天多,Transmission一直开着,也没有乱码出现,问题好像是解决了。[这根本不是解决,而是因为路由没有重启过,也就好像没有问题,等重启又会是kernel panic 或者 路由负载奇高基本在3.5以上]真正解决问题在这儿]
7.负载很高的问题
问题描述:当由路由上那个Micro USB从电脑的USB口供电时,路由运行完全稳定,就是不能挂载U盘(具体原因上面已解释)。但是当路由直接
插在插座上时,问题出现了,要么就是在overlay下面出现很多乱码文件,这时候路由还能上网,但是负载奇高,就如问题6所描述的那样;要么就是kernel panic ,再也启动不起来。
关于问题6和问题7的解决办法在这儿:https://www.right.com.cn/forum/thread-104707-1-1.html
最终的固件(OpenWrt Attitude Adjustment r33603)在这儿:https://www.right.com.cn/forum/thread-104393-1-1.html
8.关于设置软件开机自启动问题
很多人讲设置软件开机自启动都是在rc.local下,我觉得设置开机自启动还是正规的从/etc/init.d/来吧。
从/etc/init.d/设置启动可能有点问题,自己写的代码完全是仿照其他脚本来写的,比如我写的aria2的开机启动脚本是这样的(10月24日发现Bug,要使脚本正常运行,去掉 --listen-port="51413" --show-files=true)- #!/bin/sh /etc/rc.common
- # Copyright (C) 2008-2012 OpenWrt.org
- source /etc/profile
- START=100
- start() {
- sleep 60
- service_start /usr/bin/aria2c --event-poll=select --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --dir=/mnt/MountPoint/Aria2/ --continue=true --split=10 --file-allocation=prealloc --max-overall-upload-limit=200K --max-concurrent-downloads=2 --max-connection-per-server=5 --min-split-size=10M --enable-dht=true --dht-listen-port="51413" --listen-port="51413" --show-files=true
- }
- stop() {
- service_stop /usr/bin/aria2c
- }
- restart() {
- stop
- sleep 10
- start
- }
复制代码 START值为优先级值,本意是取100,值较大,优先级较低,可是这样却无法达到开机启动的目的,直到看了这篇文章
http://blog.csdn.net/cxh342968816/article/details/6423134(为方便查看,我把重要内容截图)
然后才明白,在rc.d目录下的执行顺序是按文件名称的排列来执行的,数字100显然是很大的,但是按字符来看,100显然会排在9以前,
发现这个后,显然就知道错在哪儿了,就是在START=100那儿,然后我把代码改为- #!/bin/sh /etc/rc.common
- # Copyright (C) 2008-2012 OpenWrt.org
- source /etc/profile
- START=99
- start() {
- sleep 60
- service_start /usr/bin/aria2c --event-poll=select --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --dir=/mnt/MountPoint/Aria2/ --continue=true --split=10 --file-allocation=prealloc --max-overall-upload-limit=200K --max-concurrent-downloads=2 --max-connection-per-server=5 --min-split-size=10M --enable-dht=true --dht-listen-port="51413"
- }
- stop() {
- service_stop /usr/bin/aria2c
- }
- restart() {
- stop
- sleep 10
- start
- }
复制代码 重启之后,aria2成功随系统启动。
因此,建议设置START 值时最好设为99
9. aMule的开机自启动问题,终于解决,感谢OpenWrt中文论坛tiger9637,帖子地址:http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=10918
我的代码如下,enable之后终于可以开机自启动了。- #!/bin/sh /etc/rc.common
- # Copyright (C) 2008-2012 OpenWrt.org
- START=99
- STOP=5
- start() {
- sleep 120
- #关于start-stop-daemon 的用法,请在OpenWrt命令行中输入start-stop-daemon 查看
- start-stop-daemon -c root -q -x /usr/bin/amuled -S -- -c /root/.aMule -f
- }
- stop() {
- start-stop-daemon -c root -q -x /usr/bin/amuled -K
- }
- restart() {
- stop
- sleep 30
- start
- }
复制代码 10.刷机
用mtd -r write 命令刷机时,不要挂着U盘刷,不要连着无线刷,不要在刷的过程中再向路由发送其他数据。
以上是在我这台720N上遇到的情况及解决办法,希望有用。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|