OpenWrt笔记.docx
- 文档编号:8923245
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:22.55KB
OpenWrt笔记.docx
《OpenWrt笔记.docx》由会员分享,可在线阅读,更多相关《OpenWrt笔记.docx(12页珍藏版)》请在冰豆网上搜索。
OpenWrt笔记
OpenWrt笔记
目录
∙1 简介
∙2 参考文献
∙3 OpenWrt介绍
o3.1 NVRAM操作
∙4 准备工作
∙5 关于Belkin7231-4P
∙6 内核配置与编译
∙7 安装
o7.1 清空nvram
o7.2 安装firmware
o7.3 TFTP方式安装
o7.4 MTD方式安装
o7.5 对改装的路由恢复64MB内存设置
o7.6 7231-4P的WEB安装OpenWrt-kamikaze-8.09.1
∙8 后期配置
o8.1 配置MAC地址,未确定版本
o8.2 设置路由的内网IP地址
o8.3 无线网络配置
o8.4 PPPoE上网配置
o8.5 简单的无线中继配置
o8.6 修改路由器交换端口
∙9 软件与模块安装
o9.1 安装USB设备
∙10 故障解决
∙11 我的归纳
1 简介
我希望给自己的无线路由改造一下用OpenWrt,并且开放svn服务器,还有其他很多玩法。
所以同时看一些网上的帖子吧。
这里主要选择OpenWrt的新版本kamikaze,对于whiterusssian版本只记录地址,不做详细阅读了。
2 参考文献
tsendtime的博客:
:
1.[r]DD-WRT初次接触:
2.[r]OpenWrt-1.安装手记:
3.[u]OpenWrtFAQ-入门级别的中文帮助:
4.[r]OpenWrtNVRAM集合:
5.[r]OpenWrt-2.投入工作:
我们都很疯的博客:
1.[r]OpenWrt固件介绍:
2.[r]路由器升级版本选择(DD-WRT/TOMATO/...):
3.[i]贝尔金7231-4P64M版介绍:
(还有关于JTAG的内容)
4.[r]OpenWrt固件配置简介:
ning的个人空间:
1.[u]主页:
包含一些OpenWrt编译的笔记,不过设备不同
2.[r]非常方便的OpenWrt的嵌入式Linux开发环境:
一些没什么内容的介绍
3.[r]OpenWrt嵌入式Linux开发环境:
关于WRT的历史
4.[i]一个小型的无线路由器Linux系统OpenWRT:
(还有很多关于nvram设置的提示)
5.[u]OpenMoko移植OpenWrt:
http:
//wiki.openmoko.org/wiki/OpenWrt/zh_cn
6.[u]OpenWrt经验小结:
http:
//blog.liuyi.info/openwrt(主要讲WRT54G有关的)
7.[u]什么是OpenWrt:
(简介)
8.[r]OpenWrt/kamikaze/8.09.1/brcm-2.4/7231-4P路由器安装笔记:
9.[r]备份CFE和NVRAM的命令:
10.[u]刷OpenWrt教程:
(包含一些有用的外部链接)
11.[r]OpenWrtRemoteAdmin:
3 OpenWrt介绍
NVRAM是Non-VolatileRAM,在OpenWrt里面是用了FlashRom的最后64KB区块,用于存储一些配置参数。
3.1 NVRAM操作
显示所有参数:
#nvramshow
#nvramshow|grepwl0_
设置:
#nvramset=
#nvramsetlan_ipaddr=192.168.1.2
#nvramcommit
#reboot
删除一些参数:
#nvranunset
提交修改:
#nvramcommit
4 准备工作
判断硬件支持主要是看CPU型号。
查看http:
//oldwiki.openwrt.org/TableOfHardware.html。
把我自己的无线路由拆开看了,可以确定的配置如下:
设备
参数
型号
F5D7231-4P
CPU
Broadcom4712200MHz
闪存
4MB
内存
64MB
交换机芯片
ADM6996L
版本
不确定
按照硬件支持列表中来看,只剩下两种可能,一种是Support,一种是Untest。
应该没问题的。
下载合适的版本:
http:
//downloads.openwrt.org/kamikaze/8.09.1/其中brcm-2.4是linux-2.4的版本,比较稳定,brcm47xx是linux-2.6的版本,比较新。
从附带软件包数量来看,brcom-2.4接近1500个,brcm47xx接近1600个。
不过我需要的subversion是都有的。
据谣传说2.6的好像有问题。
下载的镜像有多种版本:
brcm是指CPU方面的通用版本,jffs2是指文件系统可写,但是较大,squashfs是只读文件系统,但是压缩后很小。
.trx版本是通用的,.bin为了提供设备支持而做的。
首先尝试.trx版本。
备份原有的CFE:
ddif=/dev/mtd/0of=/tmp/cfe.bin
ddif=/dev/mtd/3of=/tmp/nvram.bin
5 关于Belkin7231-4P
先查看一下无线网卡的版本:
#nvramshow|grepcorerev
wl_corerev=
wl0_corerev=7
各个版本号对应的驱动版本:
1.wl0_corerev=4:
一定使用VINT版
2.wl0_corerev>=5<=7:
使用VINT和NEWD均可,推荐VINT
3.wl0_corerev>=8:
使用VINT和NEWD均可
4.wl0_corerev>9:
一定使用NEWD
如果结果不唯一,就先刷一个试试。
我的是7。
市面上买到的一部分时7230-4改的。
一款刷不坏的路由。
建议不要碰CFE,因为坏了需要JTAG才能修复。
6 内核配置与编译
7 安装
直接下载的brcom没有bin版本,只有trx版,一个作者尝试该文件名直接刷,刷成砖头了,重新做nvram以后居然可用了。
7.1 清空nvram
如果变砖头了需要清空nvram,有三种方法:
1.30/30/30方法:
最保险的方式。
推荐。
2.网页法
3.命令行法,也许就是mtd方式
30/30/30方法,首先确保dd-wrt里面开了reset功能,然后:
1.接通路由器,按住复位30秒
2.不要松开,断开电源,按住30秒
3.不要松开,重新接通,按住30秒
7.2 安装firmware
安装方式有3种:
1.Web升级,最方便,但是有一定的风险会刷成砖头
2.TFTP方式,比较靠谱,不过时机不太好把握
3.telnet/ssh方式
7.3 TFTP方式安装
确保开启了BootWait了。
1.使用网线连接到路由器,给本机网卡设置一个静态IP地址,不要跟路由的冲突了,但是在同一个C段,如192.168.1.9或192.168.2.9。
2.将firmware存放到根目录,注意,这种方式要用.bin的firmware。
3.打开第一个命令行窗口,执行ping192.168.1.1-t,回车开始执行
4.打开第二个命令行窗口,输入tftp-i192.168.1.1putdd.bin,预备而暂时不执行
5.断开路由器电源,马上接通电源
6.看到ping通后,立刻对tftp命令按下回车,基本上没问题
7.4 MTD方式安装
1.下载固件:
2.wgethttp:
//downloads.openwrt.org/kamikaze/...../openwrt-brcom-2.4-squashfs.trx
3.使用mtd刷新进去:
4.mtd-rwriteopenwrt-brcm-2.4-squashfs.trxlinux
7.5 对改装的路由恢复64MB内存设置
1.telnet登录:
telnet192.168.1.1
2.用户名root,密码admin
3.输入如下命令,一共5行:
4.nvramsetsdram_init=0x0008
5.nvramsetsdram_config=0x0033
6.nvramsetsdram_ncdl=0x0000
7.nvrancommit
8.reboot
9.不要断电,等待路由重启完成
恢复32MB内存的命令:
nvramsetsdram_init=0x0008#另一说0x000a
nvransetsdram_ncdl=0x0000
nvrancommit
reboot
7.6 7231-4P的WEB安装OpenWrt-kamikaze-8.09.1
下载http:
//downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/openwrt-brcm-2.4-squashfs.trx,扩展名改为.bin,然后在DD-WRT或TOMATO中WEB升级到OpenWrt。
8 后期配置
8.1 配置MAC地址,未确定版本
nvramsetil0macaddr=00:
11:
50:
xx:
xx:
xx
nvramsetet0macaddr=00:
11:
50:
xx:
xx:
xx
nvramsetet1macaddr=00:
11:
50:
xx:
xx:
xx
nvramsetwan_hwaddr=xx:
xx:
xx:
xx:
xx:
xx
nvramsetlan_hwaddr=xx:
xx:
xx:
xx:
xx:
xx
nvramsetwl0_hwaddr=xx:
xx:
xx:
xx:
xx:
xx
nvramcommit
reboot
8.2 设置路由的内网IP地址
nvramsetlan_ipaddr=192.168.1.9
nvramcommit
reboot
8.3 无线网络配置
修改文件/etc/config/wireless,寻找configwifi-iface,如下修改:
optionssidXXXXXX#定义SSID
optionmodeap#AP的工作模式
optionencryptionnone#不加密
optionencryptionwep#WEP加密
optionkey1
optionkey1XXXXXXX#密钥,wep64为10个16进制数字,wep128为26个16进制数字
optionencryptionpsk#WPA-PSK加密
optionkeyXXXXXX#WPA密钥
optionhidden1#启用SSID隐藏,0为广播
还要将上面的如下行给注释掉,否无线不会启动:
#optiondisable1
配置好以后运行:
/etc/init.d/networkrestart
8.4 PPPoE上网配置
自动获取IP的PPPoE,修改/etc/config/network,寻找configinterfacewan,如下修改:
optionifname"eth0.1"
optionprotopppoe
optionusername
optionpassword
optionmacaddrxx:
xx:
xx:
xx:
xx:
xx#MAC地址克隆
配置好以后运行:
/etc/init.d/networkrestart
检查状况,在ifconfig中看到ppp0就好了。
DHCP配置:
optionifname"eth0.1"
optionprotodhcp
optionhostname
8.5 简单的无线中继配置
修改/etc/config/wireless,添加如下配置:
configwifi-iface
optiondevicewl0
optionmodesta
optionssid#需要中继的AP的SSID
optionencryption#加密方式
然后把/etc/config/network中的宽带配置修改为:
configinterfacewan
optionifname"wl0"
optionprotodhcp
8.6 修改路由器交换端口
kamikaze默认交换端口与7231-4P的不同,修改/etc/config/network文件,找到configswitcheth0一节的valn0和vlan1设置:
optionvlan0"01235*"
optionvlan1"45"
9 软件与模块安装
9.1 安装USB设备
安装驱动,针对7231-4P:
opkgupdate
opkginstallkmod-usb-ohci
opkginstallkmod-usb-storage
安装文件系统模块:
opkginstallkmod-fs-ext3
opkginstalle2fsprogs
接入U盘,可以用dmesg看到/dev/scsi/host0/bus0/target0/lun0之类的信息,并可以认出型号。
格式化U盘:
mke2fs-j/dev/scsi/host0/bus0/target0/lun0/part1
挂载:
mkdir/opt
mount-text3/dev/scsi/host0/bus0/target0/lun0/part1/opt
开机自动挂载U盘,建立/etc/init.d/optware文件。
这种太复杂,略过。
可以通过设置/etc/fstab来自动挂载,先启用fstab:
#ucisetfstab.@mount[0].enabled=1
#ucisetfstab.@mount[0].fstype=ext3
#ucisetfstab.@mount[0].device=/dev/mmcblk0p1
#ucisetfstab.@mount[0].target=/mnt/mmc
#ucisetfstab.@mount[0].options=rw,sync,noatime
#ucicommitfstab
#/etc/init.d/fstabrestart
经测试来看不管用。
修改/etc/preinit也不管用。
修改/etc/config/fstab也不管用。
10 故障解决
11 我的归纳
刷firmware时可以用web界面升级,扩展名必须由.trx改成.bin。
刷完以后就可以直接进telnet来进行配置了。
主要顺序如下:
1.修改交换机端口
2.修改路由器的IP地址以及内网网段
3.修改无线AP的配置
4.修改PPPoE的配置
5.重启路由器
这时应该就可以上网了,默认情况下对内网的DHCP是打开的,这个不用担心。
这时可以进入WEB管理界面看看,注意立即修改自己的管理密码。
修改管理密码以后telnet就无法使用了,但是可以使用ssh了。
通过nvram修改支持64MB内存。
我尝试在debianetch上格式化优盘来用,不过接到路由上提示错误。
于是尝试安装OpenWrt里面附带的磁盘管理工具e2fsprogs,附加安装了另外3个软件包libblkid、libext2fs、libuuid。
如果以后控件不够用了可以再删除掉。
安装完kmod-usb-ohci、kmod-usb-storage、kmod-fs-ext3这3个模块以后/jffs分区已经使用600KB了,剩余1.1MB。
修改使得软件安装到U盘,修改/etc/opkg.conf
destusb/mnt/usb
optionforce_space
#optionoverlay_root/jffs#?
安装时使用:
mount/dev/scsi/host0/...../part1/mnt/usb
opkgupdate
opkg-dusbinstallxxxxx
看来/etc/profile还是可用的,所以我将挂载U盘、设置bin和lib路径的工作都放到这里了。
很好用。
不过这个文件主要用于登录时修改东西的,所以不登录就不会执行。
修改后我添加到/etc/profile的部分:
exportPATH=$PATH:
/mnt/usb/bin:
/mnt/usb/usr/bin
exportLD_LIBRARY_PATH:
/mnt/usb/lib:
/mnt/usb/usr/lib
mount/dev/scsi/host0/bus0/target0/lun0/part1/mnt/usb
sleep1
svnserve-d-r/mnt/usb/svnroot--listen-host=0.0.0.0--listen-port=3690
添加动态域名3322的支持:
先建立文件/etc/config/ddns,这样就可以用uci体系进行配置了:
config3322
optionuserusername:
password
optionserverwww.3322.org
optionnamemyname.3322.org
建立文件/etc/hotplug.d/iface/30-update3322,并且可执行,内容如下:
#cat/etc/hotplug.d/iface/30-update3322
NAME=wget
CONFIG=ddns
COMMAND=/usr/bin/$NAME
["$ACTION"="ifup"-a"$INTERFACE"="wan"]&&{
[-x$COMMAND]&&[-r/etc/config/$CONFIG]&&{
./etc/functions.sh
config_loadddns
${COMMAND}-q-O-\
"http:
//`config_getcfg1user`@`config_getcfg1server`/dyndns/update?
system=dyndns&hostname=`config_getcfg1name`"2>&1|logger-t$NAME
}&
}
这个脚本方式失败,但是后来发现opkg源里面有ez-ipupdate,也就是3322使用的IP更新客户端。
自动挂载U盘的问题在于启动服务时的顺序,可以看到如下/etc/rc.d/S20fstab是在/etc/rc.d/S39usb之后的,所以usb尚未开始使用就执行fstab当然不会挂载成功。
只要建立新的符号链接即可,注意只要放在usb之后即可,不要与已有的冲突:
cd/etc/rc.d
ln-s../init.d/fstabS42fstab
这时修改/etc/config/fstab中的U盘挂载就有效了。
安装ez-ipupdate以后,手动更新IP地址:
ez-ipupdate-swww.3322.org-uzerologos:
zlogos
如上也是不能用的,因为ez-ipupdate最近宣布不支持3322(qdns)了。
更新自身IP可以使用3322.org的URL参数来完成,格式如下:
URL=http:
//
system=dyndns&hostname=
然后调用wget命令来完成:
wget-q-O-$URL
可以将如上命令写入一个脚本,然后建立脚本/etc/hotplug.d/qdns_update.sh该脚本用于动态管理网络接口的改变,内容如下:
sh/root/qdns_update.sh>>/mnt/usb/qdns_update.log2>&1
这样即可,重启也无妨了。
对于在U盘上安装的软件,启动服务时注意设置好$PATH和$LD_LIBRARY_PATH,可以考虑在/etc/init.d目录下的启动脚本中,各个函数前加上如下语句:
source/etc/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenWrt 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)