dd-wrt 設定手記
弄了整整兩天,終於將家裏的 router 設定好了。
為方便日後可能要重設,我把步驟記下來了。
首先是需要找到乎合自己 rom:
這裏的清單列出了不同版本的功能,我跟據自己的需要選了 v24-sp2 big。
安裝好之後發現了一個問題,就是無法做 port forwarding 了!
這弄了網上找了一整天發現了這則解答,至於原理是什麼我自己也看得一頭霧水。嘛總之問題解決了就好了。
以下是需要複製的代碼:
usb 設定:
因為 E4200 的內存只有 64MB,刷掉系統的 16MB 就只剩 48M 了,ipkg update 亦會因內存不足而直接報錯。
亦由於 E4200 的usb接口共有一個,usb 外存跟打印機至少需要兩個,於是我試將 usb 擴充器插到 router 上:
這樣我就多了三個接口用了!
首先我將 usb 外存格式化為 ext3。接上之後,syslog 會出現以下輸出:
這樣 usb 就成功連接上了。
另一個問題是執行 mount 之後,usb 並沒有實際 mount 都指定位置。
又找了一會發現 ext3 需要手動 insmod
但 mount -t ext3 還是不行,檢查 syslog 卻得出如下輸出:
然後又找到了這則文章,結果 ext3 好像需要這 3 個 mod:
mount 成功就會有如下輸出:
這是 startup-script,跟隨說明下面的方法進行修改:
#1. 這些是 ext3 需要的模組。
#2. mount usb to /mnt, then map relative directory /mnt/jffs to /jffs
#3. 啟動列印服務,需要先執行 ipkg install 取得 p910nd 的 package.
#4. 設定基本環境變數。關於 "IPKG_CONF_DIR=/jffs/etc" (這是重新定向 ipkg 的設定檔),ipkg install 之前得先執行 ipkg update,但 ipkg update 的地址已經失效了,得手動修正。不能直接在 /etc/ 的目錄下更改。
由於整個系統的檔案都是唯讀 ( ROM ) 的,而router的容量就只在64MB(扣除系統之後就所剩無幾了)。啟用 jffs 之後,得做一個 startup-script,立即將 jffs 重新定向至 usb,然後系統就會自動載入 /jffs/etc/init.d/ 目錄下的所有 package。
列印機設定:
接上 usb 之後,先確保 syslog 裏面有以下幾句:
這是說 router 已經偵測到這個裝置,並知道這是一部打印機了。
之後就是安裝 p910nd:
跟隨說明裏的設定,服務成功架起來了,但就是無法打印。
最後發現打印機沒碳粉,鬱悶了。
為方便日後可能要重設,我把步驟記下來了。
首先是需要找到乎合自己 rom:
這裏的清單列出了不同版本的功能,我跟據自己的需要選了 v24-sp2 big。
安裝好之後發現了一個問題,就是無法做 port forwarding 了!
這弄了網上找了一整天發現了這則解答,至於原理是什麼我自己也看得一頭霧水。嘛總之問題解決了就好了。
以下是需要複製的代碼:
insmod ipt_mark
insmod xt_mark
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE因為 E4200 的內存只有 64MB,刷掉系統的 16MB 就只剩 48M 了,ipkg update 亦會因內存不足而直接報錯。
亦由於 E4200 的usb接口共有一個,usb 外存跟打印機至少需要兩個,於是我試將 usb 擴充器插到 router 上:
Aug 13 20:11:23 192.168.1.1 kernel: hub 2-1:1.0: USB hub found
Aug 13 20:11:23 192.168.1.1 kernel: hub 2-1:1.0: 4 ports detected首先我將 usb 外存格式化為 ext3。接上之後,syslog 會出現以下輸出:
Aug 13 20:07:24 192.168.1.1 kernel: usb 1-1: new high speed USB device using ehci_hcd and address 2
Aug 13 20:07:24 192.168.1.1 kernel: usb 1-1: configuration #1 chosen from 1 choice另一個問題是執行 mount 之後,usb 並沒有實際 mount 都指定位置。
又找了一會發現 ext3 需要手動 insmod
但 mount -t ext3 還是不行,檢查 syslog 卻得出如下輸出:
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_force_commit
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_dirty_data
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_force_commit_nested
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol mb_cache_create
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_init_dev
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_dirty_metadata
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_forget
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_wipe
Aug 13 21:21:42 192.168.1.1 kernel: ext3: Unknown symbol journal_blocks_per_page
...insmod mbcache
insmod jbd
insmod ext3Aug 13 21:38:36 192.168.1.1 kernel: kjournald starting. Commit interval 5 seconds
Aug 13 21:38:37 192.168.1.1 kernel: EXT3 FS on sda1, internal journal
Aug 13 21:38:37 192.168.1.1 kernel: EXT3-fs: mounted filesystem with ordered data mode.#!/bin/sh
# 1. install necessary mod for mounting ext3
insmod mbcache
insmod jbd
insmod ext3
# 2. Mount partition 1 as /mnt folder - then wait for the drive to mount
mount -t ext3 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
sleep 5
mount /mnt/jffs /jffs
# 3. Printer driver
# Laser
/jffs/usr/sbin/p910nd -b -f /dev/usb/lp0 0
# 4. set path so optware binaries are automatically found as new commands
echo "export PATH=$PATH:/opt/bin:/opt/sbin" > /tmp/root/.profile
echo "export IPKG_CONF_DIR=/jffs/etc" >> /tmp/root/.profile
export PATH=$PATH:/opt/bin:/opt/sbin
#2. mount usb to /mnt, then map relative directory /mnt/jffs to /jffs
#3. 啟動列印服務,需要先執行 ipkg install 取得 p910nd 的 package.
#4. 設定基本環境變數。關於 "IPKG_CONF_DIR=/jffs/etc" (這是重新定向 ipkg 的設定檔),ipkg install 之前得先執行 ipkg update,但 ipkg update 的地址已經失效了,得手動修正。不能直接在 /etc/ 的目錄下更改。
由於整個系統的檔案都是唯讀 ( ROM ) 的,而router的容量就只在64MB(扣除系統之後就所剩無幾了)。啟用 jffs 之後,得做一個 startup-script,立即將 jffs 重新定向至 usb,然後系統就會自動載入 /jffs/etc/init.d/ 目錄下的所有 package。
列印機設定:
接上 usb 之後,先確保 syslog 裏面有以下幾句:
Aug 28 08:58:55 192.168.1.1 kernel: usb 1-1.2: new full speed USB device using ehci_hcd and address 5
Aug 28 08:58:55 192.168.1.1 kernel: usb 1-1.2: configuration #1 chosen from 1 choice
Aug 28 08:58:55 192.168.1.1 kernel: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04E8 pid 0x3301之後就是安裝 p910nd:
ipkg install p910nd最後發現打印機沒碳粉,鬱悶了。
Wed Aug 28 2013 02:07:52 GMT+0000 (Coordinated Universal Time)
Last modified: Wed Nov 09 2016 02:34:14 GMT+0000 (Coordinated Universal Time)
Comments
No comments here.
Do you even comment?
website:
Not a valid website
Invalid email format
Please enter your email
*Name:
Please enter a name
Submit
抱歉,Google Recaptcha 服務被牆掉了,所以不能回覆了