【討論】Tomato Firmware 中文化for Buffalo&Linksys



贊助商連結


頁 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

bx2aa
2008-03-27, 05:01 PM
ip_conntrack_max 值 由 WEB 設定時 128-10240 都會同步修改.
超過 10240 便不動作了.

變成 要手動 修改 ip_conntrack_max. 爽度不夠.:)

我找到了 爽!!

p = nvram_safe_get("ct_max");
i = atoi(p);
if ((i >= 128) && (i <= 10240)) {
f_write_string("/proc/sys/net/ipv4/ip_conntrack_max", p, 0, 0);
}

TOMATO MOD 1.17 正體中文化 韌體 (65535 連線數)2008-03-27 發佈
ls -R /tomato > file-list.txt
cat file-list.txt | grep /tomato | sed -e "s/\(^\/tomato.*\):$/\1\//g" > list.txt

for a in $('cat' list.txt); do for b in $('ls' $a); do echo $a$b;cat $a$b | grep 10240; done; done > 10240.txt
要抓什麼把 grep 10240 改一下就能抓了.

把這一行存為 search.sh
chmod +xxx search.sh
如下:
for a in $('cat' list.txt); do for b in $('ls' $a); do echo $a$b;cat $a$b | grep $1; done; done > $2.txt

使用方法:
root@mail /#./search.sh 10240 list-1024

得到 list-1024.txt

從 /tomato/release/src 開始往下, 全部有關 10240 的檔案(挑出有關,其餘略去)
/tomato/release/src/router/www/advanced-ctnf.asp
/tomato/release/src/router/www/tools-ping.asp
/tomato/release/src/router/iptables/ip6tables-restore.c
/tomato/release/src/router/iptables/iptables-restore.c
/tomato/release/src/router/iptables/iptables-xml.c
/tomato/release/src/router/httpd/bwm.c
/tomato/release/src/router/httpd/ctnf.c
/tomato/release/src/router/httpd/tomato.c
/tomato/release/src/router/rc/firewall_br.c
/tomato/release/src/router/rc/misc.c
/tomato/release/src/router/openssl/apps/der_chop
/tomato/release/src/router/openssl/apps/der_chop.bak
/tomato/release/src/router/openssl/apps/der_chop.in
/tomato/release/src/router/openssl/apps/s_client.c
/tomato/release/src/router/openssl/test/times
/tomato/release/src/router/openssl/crypto/bio/bss_log.c
/tomato/release/src/router/busybox/editors/vi.c
/tomato/release/src/router/busybox/e2fsprogs/util.c
/tomato/release/src/router/dropbear/libtommath/demo/timing.c
/tomato/release/src/linux/linux/drivers/media/radio/radio-cadet.c
/tomato/release/src/linux/linux/drivers/media/radio/radio-terratec.c
/tomato/release/src/linux/linux/drivers/net/tokenring/ibmtr.c
/tomato/release/src/linux/linux/drivers/sound/tuning.h
/tomato/release/src/linux/linux/drivers/sound/emu10k1/8010.h
/tomato/release/src/linux/linux/drivers/atm/idt77252_tables.h
/tomato/release/src/linux/linux/drivers/atm/iphase.h
/tomato/release/src/linux/linux/drivers/atm/zatm.h
/tomato/release/src/linux/linux/drivers/char/moxa.c
/tomato/release/src/linux/linux/drivers/char/drm-4.0/r128_cce.c
/tomato/release/src/linux/linux/drivers/char/drm/r128_cce.c
/tomato/release/src/linux/linux/drivers/char/ftape/Config.in
/tomato/release/src/linux/linux/drivers/char/ftape/compressor/lzrw3.c
/tomato/release/src/linux/linux/fs/reiserfs/lbalance.c

贊助商連結


bv2lk
2008-03-27, 07:06 PM
也就是說,老大,我下載了你的65535的版本刷新后是需要手工將其設置為65535還是10240就可以了?

03-27 的版本 65535 以下 ,你想設多少 就設多少 ip_conntrack_max 會同步調整 .

bv2lk
2008-03-27, 07:20 PM
ls -R /tomato > file-list.txt
cat file-list.txt | grep /tomato | sed -e "s/\(^\/tomato.*\):$/\1\//g" > list.txt

for a in $('cat' list.txt); do for b in $('ls' $a); do echo $a$b;cat $a$b | grep 10240; done; done > 10240.txt
要抓什麼把 grep 10240 改一下就能抓了.

把這一行存為 search.sh
chmod +xxx search.sh
如下:
for a in $('cat' list.txt); do for b in $('ls' $a); do echo $a$b;cat $a$b | grep $1; done; done > $2.txt

使用方法:
root@mail /#./search.sh 10240 list-1024

得到 list-1024.txt


今天清晨弄好, 單機開 BT 12 小時 後記憶體 剩 10M 左右.(剛開機 剩20M)
http://lh4.google.com/bv22lk/R-uBG4-NrqI/AAAAAAAAApY/w5nqiLdFPgY/s800/freeram.png

需要 其它最佳化的設定 或是 擴充 DRAM.

LINUX 的記憶體管理 和 WINDOWS 的概念一樣嗎?

bx2aa
2008-03-27, 09:26 PM
今天清晨弄好, 單機開 BT 12 小時 後記憶體 剩 10M 左右.(剛開機 剩20M)
http://lh4.google.com/bv22lk/R-uBG4-NrqI/AAAAAAAAApY/w5nqiLdFPgY/s800/freeram.png

需要 其它最佳化的設定 或是 擴充 DRAM.

LINUX 的記憶體管理 和 WINDOWS 的概念一樣嗎?
都是用虛擬記憶體的方式
真實的 RAM 不夠用就借 SWAP 來用.

Session 預設的大小和開完機後剩餘的記憶體有沒有關係?

puwen
2008-03-28, 08:17 PM
都是用虛擬記憶體的方式
真實的 RAM 不夠用就借 SWAP 來用.

Session 預設的大小和開完機後剩餘的記憶體有沒有關係?

個人推測
Embedded Linux(Tomato) 應該是沒有開 swap 吧.
因為系統中有實體硬碟可以拿來當 swap partition/file

所以實際使用的 session 越多,
可用(剩餘)的記憶體就會越少
當少到某種程式
系統就會 crash

Tomato:
# cat /proc/meminfo |grep -i swap
Swap: 0 0 0
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB

My system:
# cat /proc/meminfo | grep -i swap
SwapCached: 0 kB
SwapTotal: 4008208 kB
SwapFree: 4008208 kB

bv2lk
2008-03-28, 08:47 PM
@ puwen
http://lh4.google.com/bv22lk/R-uBG4-NrqI/AAAAAAAAApY/w5nqiLdFPgY/s800/freeram.png
圖片中的 day thu Mar
可以中文化嗎?

puwen
2008-03-28, 09:33 PM
@ puwen
http://lh4.google.com/bv22lk/R-uBG4-NrqI/AAAAAAAAApY/w5nqiLdFPgY/s800/freeram.png
圖片中的 day thu Mar
可以中文化嗎?

中文化的關鍵, 應該在
/tomato/release/src/router/httpd/misc.c
void asp_time(int argc, char **argv)
{
time_t t;
char s[64];

t = time(NULL);
if (t < Y2K) {
web_puts("Not Available");
}
else {
strftime(s, sizeof(s), "%a, %d %b %Y %H:%M:%S %z", localtime(&t));
web_puts(s);
}
}

要如何中文化?
正在找尋文件中

puwen
2008-03-28, 11:24 PM
測試一:
使用 setlocale()
#include <locale.h>

在取得時間之前
先設定時間的格式
setlocale(LC_TIME, "zh_TW.UTF8");
====================
uclibc 只支援 C or POSIX,
失敗:cry:

puwen
2008-03-29, 12:03 AM
測試二:
Hard-coding

void asp_time(int argc, char **argv)
{
time_t t;
struct tm *p;
char *wday[]={"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

time(&t);
p=localtime(&t);

if (t < Y2K )
{
web_puts("無法取得時間");
}
else
{
web_printf("%d 年 ", 1900+p->tm_year);
web_printf("%d 月 ", (p->tm_mon)+1);
web_printf("%d 日 ", p->tm_mday);
web_printf("%s ", wday[p->tm_wday]);
web_printf("%d:%d:%d", p->tm_hour, p->tm_min, p->tm_sec);
}
}

=========================
看起來好像沒問題,
請有更新的人回報一下狀況吧

bv2lk
2008-03-29, 12:18 AM
http://lh4.google.com/bv22lk/R-0ZOY-NrrI/AAAAAAAAAqA/zgR9r-Li8Ug/s800/sysct.png

可以喔