OpenWRT配置及應(yīng)用 (2010-08-11 17:40:54)轉(zhuǎn)載 標(biāo)簽: 雜談 分類: Linux
LED Device(即配置文件中的sysfs)有如下對(duì)應(yīng)關(guān)系:
adsl DSL綠燈
ppp-fail Internet紅燈
power 電源紅燈
stop 電源綠燈
b43-phy0::tx 未知
b43-phy0::rx 未知
b43-phy0::radio Wi-Fi綠燈
1. config 'led'
2. option 'name' 'Internet'
3. option 'trigger' 'netdev'
4. option 'mode' 'link tx rx'
5. option 'dev' 'pppoe-wan'
6. option 'sysfs' 'adsl'
觸發(fā)器
phy0rx
phy0tx
phy0assoc
phy0radio
當(dāng)wifi有數(shù)據(jù)傳輸時(shí),led燈就會(huì)閃爍,反之則不亮,db120測(cè)試成功
LED Name wifi
LED Device ppp-fail
ticked=on
Network Device
Device wlan0
Trigger Mode tx rx
安裝軟件
root@OpenWrt:/tmp/opkg-lists# opkg --help
分區(qū)表
root@OpenWrt:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 8448 8448 0 100% /rom mtdblock2
tmpfs 14868 312 14556 2% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 6784 564 6220 8% /overlay mtdblock3
mini_fo:/overlay 8448 8448 0 100% /
/dev/sda1 40957684 5548156 35409528 14% /mnt/sda1
/dev/sda2 37190472 67124 37123348 0% /mnt/sda2
一個(gè)完整的linxu主要有內(nèi)核和根文件系統(tǒng)組成,dmesg看啟動(dòng)信息,可以從里面看到系統(tǒng)的flash分區(qū)為:
bcm963xx_flash: Partition 0 is CFE offset 0 and length 20000
bcm963xx_flash: Partition 1 is kernel offset 20100 and length dff00
bcm963xx_flash: Partition 2 is rootfs offset 100000 and length ee0000
bcm963xx_flash: Partition 3 is nvram offset fe0000 and length 20000
bcm963xx_flash: Partition 4 is linux offset 20000 and length fc0000
0x000000000000-0x000000020000 : "CFE" mtdblock0
0x000000020100-0x000000100000 : "kernel" mtdblock1
0x000000100000-0x000000fe0000 : "rootfs" mtdblock2
0x000000940000-0x000000fe0000 : "rootfs_data" mtdblock3
0x000000fe0000-0x000001000000 : "nvram" mtdblock4
0x000000020000-0x000000fe0000 : "linux" mtdblock5
0-128k CFE 128k 該分區(qū)為bootloader,刷固件不會(huì)影響該分區(qū)
128-16256k linux 16128k
16256-16384k nvram 128k 刷固件不影響該分區(qū),有選項(xiàng)也可以刷新該分區(qū),主要保存設(shè)置參數(shù)
128-640k kernel 512k 內(nèi)核分區(qū)
640-16256k rootfs 15616k 根文件系統(tǒng)分區(qū)
9472-16256k rootfs_data 6784k /dev/mtdblock3 /overlay
上面所有加起來剛好16M
http://suanli.blogbus.com/logs/18316191.html
Flash,開機(jī)之后CPU從Flash開始執(zhí)行。里面保存了bootloader,kernel,nvram的數(shù)據(jù)。因?yàn)閛penwrt的 kernel也是寫到Flash里面去的,為了防止寫錯(cuò)了數(shù)據(jù)啟動(dòng)不起來,還是先備份一下Flash的數(shù)據(jù)。
用ssh登錄,然后用下面的命令導(dǎo)出Flash內(nèi)的內(nèi)容。
dd if=/dev/mtd/0 of=/tmp/cfe.bin
256+0 records in
256+0 records out
dd if=/dev/mtd/4 of=/tmp/nvram.bin
256+0 records in
256+0 records out
Linux下通過MTD驅(qū)動(dòng)來驅(qū)動(dòng)Flash,MTD提供分區(qū)的概念,F(xiàn)lash劃分了6個(gè)分區(qū):
-------------------------------------------------------------
___________________Linux_____________
CFE | kernel | rootfs | nvram |
-------------------------------------------------------------
其中rootfs_data是rootfs分區(qū)的一部分。
NVRAM是Non-Volatile RAM,在OpenWrt里面是用了Flash Rom的最后128KB區(qū)塊,用于存儲(chǔ)一些配置參數(shù)。
JTAG:假如路由器的flash里面什么都沒有,就是說一個(gè)全新硬盤,就好像里面的flash壞了,我換了一塊新的?,F(xiàn)在要弄好它,怎么辦呢?現(xiàn)在情況你買了臺(tái)電腦,全新的,硬盤里面空白,主板里面也空白,沒有bios,不能自檢。當(dāng)然我們要做的就是把bios(cfe)弄好,然后裝系統(tǒng)了。要刷cfe,就得靠這個(gè)jtag線了,這個(gè)其實(shí)就是一個(gè)并口線,裝好驅(qū)動(dòng)后可以用軟件把cfe刷到flash最前面的256k的空間里面,這樣我們的路由器就能進(jìn)行最簡單的引導(dǎo)了。jtag線一般就刷cfe一個(gè)功能,理論上它什么都可以刷,但是由于其鼻涕蟲的速度,沒有人會(huì)用的。(可惜DB120-B1在板上沒有引出JTAG接口).
TTL線就是一個(gè)串口線,它給我們提供一個(gè)控制臺(tái)(命令行),讓我們看到系統(tǒng)的自檢,引導(dǎo),就跟系統(tǒng)啟動(dòng)后telnet連過去感覺一樣,只不過ttl不管系統(tǒng)正不正常都可以看到消息,而telnet要系統(tǒng)正常才可以用。一般我們用超級(jí)終端對(duì)其連接。具體操作自己google或恩山上面搜索。
tftp究竟有什么用。(刷磚頭必備技能)
當(dāng)有時(shí)候刷固件錯(cuò)誤的時(shí)候(就是不能啟動(dòng),cfe正常)用它來刷固件?;旧?0%的磚頭都可以用他進(jìn)行修復(fù),這里簡單介紹下使用
tftp框上ip填 192.168.1.1,file就填你要刷的固件,下面開始刷
絕多數(shù)cfe里面地址都是192.168.1.1,路由器上電前先ping 192.168.1.1 -t
.....
來自 192.168.1.6 的回復(fù): 無法訪問目標(biāo)主機(jī)。
來自 192.168.1.1 的回復(fù): 字節(jié)=32 時(shí)間=146ms TTL=100
請(qǐng)求超時(shí)。
........
看上面的情況,在那剛能ping通那1秒電點(diǎn)升級(jí)就可以了。
注意:用tftp刷固件,要保證固件版本和路由器要配對(duì),否則無論如何也刷不進(jìn)去的,其次,建議用mini版本的固件,比較容易刷,如果路由器是自己玩成磚頭的,話,95%都通過tftp來挽救。
附件為tftp軟件
ddwrt相對(duì)功能比較多;tomato比dd穩(wěn)定,有duel wan的固件,qos比dd要強(qiáng)大;openwrt是一個(gè)最基礎(chǔ)的linux系統(tǒng),裝好后非常小,決大多數(shù)的軟件要自己裝
NTFS掛載
最好使用EXT3格式,使用NTFS分區(qū)的話在BT里會(huì)占用大量CPU
ntfs-3g -o nls=utf8 /dev/sdb1 /mnt/sdb1
BCM4712芯片OpenWrt掛載USB硬盤
http://www.slyar.com/blog/bcm4712-openwrt-usb.html
EXT3掛載
1、設(shè)置官方源(Openwrt中文好像沒有這個(gè)程序)并更新
opkg update
2、安裝USB驅(qū)動(dòng),這里是BCM4712芯片的,其他芯片自己查
opkg install kmod-usb-ohci
opkg install kmod-usb-storage
3、安裝EXT3文件系統(tǒng)
opkg install kmod-fs-ext3
4、安裝文件系統(tǒng)格式化及檢查工具
opkg install e2fsprogs
5、插上USB硬盤,如果正確識(shí)別
root@OpenWrt:/dev# dmesg | grep sda
sd 0:0:0:0: [sda] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)命令就可以查看到U盤信息
6 分區(qū),格式化(分區(qū)我只在windows系統(tǒng)里分好區(qū),linux分區(qū)好像fdisk沒這功能,這個(gè)問題待解決)
mkfs.ext3 /dev/sda
7 在WEB界面里設(shè)置文件夾權(quán)限和掛載,當(dāng)然也可以修改fstab和使用chmod命令,這個(gè)文件也可以注意一下/etc/init.d/usb
8 df檢查一下
使用交換分區(qū)
可以專門格式化一個(gè)SWAP分區(qū),也可以在NTFS分區(qū)上拷貝一個(gè)swapfile,然后掛載設(shè)置/mnt/sda1/swapfile
Samba應(yīng)用
在網(wǎng)上鄰居共享上傳很慢
修改/etc/hotplug.d/block/10-mount第27行
mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
改成
mount -t vfat -o iocharset=utf8,rw,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
這樣上傳的速度就可以增加到2~4m之間
ftp這個(gè)用戶名在openwrt的系統(tǒng)中沒有寫權(quán)限,所以在linux的分區(qū)就不行,在ntfs分區(qū)可以,用root用戶登錄 samba,或者用root登陸ftp也行。想要用“ftp”這個(gè)用戶名在linux分區(qū)進(jìn)行寫操作的話,需要到命令行模式執(zhí)行 chmod 7777 /mnt/sda1
FTP應(yīng)用
如果不能刪除,考慮文件夾權(quán)限問題
QoS
分四個(gè)級(jí)別
Priority 優(yōu)先級(jí)最高,manrk=01
Express 其次,mark=02
Normal 正常,mark=03
Bulk 可支持延時(shí)傳輸或者丟棄較多的數(shù)據(jù),mark=04
默認(rèn)規(guī)則
low edonkey 全部協(xié)議和端口
low bt 全部協(xié)議和端口
priority 22,53端口
normal TCP 20,21,25,80,110,443,993,995
express 5190端口
openwrt l7過濾qos配置
http://www.openwrt.org.cn/bbs/viewthread.php?tid=685&extra=page%3D1%26amp%3Bfilter%3Ddigest
防火墻
開啟SYN-flood防御
丟棄無效報(bào)文
接受 輸入數(shù)據(jù) 輸出數(shù)據(jù) 轉(zhuǎn)發(fā)數(shù)據(jù)
在WAN開啟NAT及MSS參數(shù)調(diào)整
默認(rèn)開啟本地udp68,tcp2601端口
另開啟bt的tcp51413端口
Ushare應(yīng)用
Openwrt 系統(tǒng)功能強(qiáng)大,主要優(yōu)勢(shì)在于其開放性和可擴(kuò)展性,Openwrt 安裝ushare后,可將路由器變身為一個(gè)功能強(qiáng)大的家庭upnp流媒體服務(wù)器!
打開網(wǎng)上鄰居,會(huì)顯示發(fā)現(xiàn)upnp服務(wù)器一個(gè):openwrt, ,點(diǎn)擊,會(huì)打開web管理頁面:
http://192.168.3.1:49152/web/ushare.html
PC上安裝WM12、PowerDVD8或Geexbox等支持upnp的軟件,就能直接在軟件upnp中打開路由器共享的目錄進(jìn)行播放了!支持 RMVB、AVI、MKV、TS等各種文件格式!
20100523更新:windows下推薦使用XBMC媒體中心軟件,應(yīng)該是 windows下支持upnp media最好的播放器了!
下載地址:
http://u.115.com/file/f0f61dd50e
http://xbmc.qupan.com/
配置使用:
http://bbs.htpc1.com/thread-53664-1-1.html
http://bbs.i9.com.cn/viewthread.php?tid=1229
Ushare upnp 媒體服務(wù)器應(yīng)用教程
http://www.openwrt.org.cn/bbs/viewthread.php?tid=75
脫機(jī)BT transmission
http://192.168.1.1:9091
也可以在使用Transmission Remote軟件進(jìn)行管理,如果下載太慢檢查QoS
如果開了防火墻,需要打開默認(rèn)51413端口,這端口可以在WEB里改
圖解脫機(jī)BT(transmission-daemon)教程
http://www.openwrt.org.cn/bbs/viewthread.php?tid=51&extra=page%3D1
脫機(jī)電驢
http://192.168.1.1:4711
也可以使用aMule Remote GUI進(jìn)行管理
脫機(jī)電驢教程
http://www.openwrt.org.cn/bbs/viewthread.php?tid=49
脫機(jī)mldonkey
/dev/sda1 76858212 2899144 70054876 4% /root
遠(yuǎn)程管理GUI(sancho)
登錄http://路由器IP:4080,打開mldonkey的web管理頁面
用Putty telnet 4000端口,打開Implicit CR in every LF選項(xiàng)即可正常顯示
結(jié)束killall mlnet.byte.static.
啟動(dòng)mldonkey: /mnt/sda1/root/mldonkey/mlnet.byte.static >>/dev/null
主要文件配置:
/mnt/sda1/root/.mldonkey/donkey.ini
/mnt/sda1/root/.mldonkey/download.ini
定時(shí)限速
日 一 二 三 四 五 六
0 1 2 3 4 5 6
1 8 1 17 1 17 1 17 1 17 1 17 1 17
+ - + - + - + - + - + - + -
+不限速
-限速
經(jīng)實(shí)際測(cè)試mldonkey時(shí)間為GMT時(shí)間,即第一段為周一至周五開始限速時(shí)間8+8+1=17點(diǎn)開始,周六日開始限速時(shí)間1+8+1=10點(diǎn)開始,每天開始加速時(shí)間為16+8+1=1點(diǎn)開始,不知道為什么最后要加1個(gè)小時(shí)
calendar = [
([
1;
2;
3;
4;
5;], [
8;], "bw_toggle" );
([
0;
6;], [
1;], "bw_toggle" );
([
0;
1;
2;
3;
4;
5;
6;], [
16;], "bw_toggle" );]
RG100A-AA脫機(jī)mldonkey下載設(shè)置,峰值620KB/s,有圖有真相
http://www.openwrt.org.cn/bbs/viewthread.php?tid=830
解決mldonkey下載過慢的辦法
http://www.openwrt.org.cn/bbs/viewthread.php?tid=149
無線客戶端
開啟WiFi,設(shè)置與AP一樣的信道,添加接口并設(shè)置為WAN網(wǎng)絡(luò),選客戶端模式,輸入加密方式及密碼即可
然后設(shè)置LAN
設(shè)置WAN,設(shè)置接口為wlan0
最后掃描wifi,如果正確應(yīng)該可以看到ESSID里就是AP的SSID
使用0508版發(fā)現(xiàn)只能用WEP加密方式,TKIP不能使用,有可能是因?yàn)闆]有安裝該軟件
后來使用backfire又變成好像只能使用TKIP,這個(gè)要注意
圖解rg100a 0508 二級(jí)無線客戶端設(shè)置,你可以無線BT了,哈
http://www.openwrt.org.cn/bbs/viewthread.php?tid=503&rpid=3451&ordertype=0&page=1#pid3451
外接USB8187無線網(wǎng)卡
編輯軟件包列表和安裝對(duì)象,修改為如下:
#src/gz packages http://downloads.openwrt.org/backfire/10.03/brcm63xx/packages
src/gz packages http://www.openwrt.org.cn/downlo ... 3/brcm63xx/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
然后點(diǎn)擊提交。同時(shí)回到系統(tǒng)--》軟件包,點(diǎn)擊 “更新軟件包清單”, 安裝 kmod-rtl8187,或者在Putty里
opkg update
opkg install kmod-rtl8187
kmod-rtl8187 、kmod-eeprom-93cx6 是openwrt中文論壇提供的,用官方的會(huì)死機(jī)
安裝驅(qū)動(dòng)后要重啟路由器,然后接USB網(wǎng)卡設(shè)置網(wǎng)絡(luò)
用vi命令編輯/etc/config/network設(shè)置網(wǎng)絡(luò)
vi /etc/config/network
wan1設(shè)置
config 'interface' 'wan1'
option 'ifname' 'wlan1' '因?yàn)閮?nèi)置無線網(wǎng)卡為wlan0
option 'defaultroute' '0'
option 'peerdns' '0'
option 'proto' 'static'
option 'ipaddr' '192.168.10.2'
option 'netmask' '255.255.255.0'
option 'gateway' '192.168.10.1'
option 'dns' '192.168.10.1'
用vi命令編輯/etc/config/wireless設(shè)置無線網(wǎng)絡(luò)
vi /etc/config/wireless
config 'wifi-device' 'radio1' '//radio1 第二個(gè)無線網(wǎng)卡
option 'type' 'mac80211'
option 'macaddr' '00:E0:4C:8F:36:F4' '//這里是USB無線網(wǎng)卡的MAC地址,一定要改,用ifconfig wlan1命令查看,經(jīng)實(shí)測(cè)這里必須通過vi改,WEB界面根本沒有這個(gè)選項(xiàng)
option 'hwmode' '11g'
option 'disabled' '0'
option 'txpower' '20' '無線發(fā)射功率 20db=100mw
option 'channel' '8' '無線頻道
config 'wifi-iface'
option 'device' 'radio1'
option 'network' 'wan1'
option 'mode' 'sta' '客戶端模式
option 'encryption' 'none' '未加密
option 'ssid' 'sutuo-ap' 'AP的 ssid
把路由自帶的無線網(wǎng)卡在AP發(fā)射,就能實(shí)現(xiàn)萬能中繼
openwrt 驅(qū)動(dòng) RTL8187大功率網(wǎng)卡做客戶端連接AP實(shí)現(xiàn)中繼
http://www.openwrt.org.cn/bbs/viewthread.php?tid=852
掛載攝像頭
openwrt掛載ZC0301PL-USB攝像頭教程
http://www.openwrt.org.cn/bbs/viewthread.php?tid=30
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。