[改造計畫][求助] 關於CHT最新ATUR-R型號 TECOM 4013B改造



贊助商連結


頁 : 1 [2]

purk
2004-06-26, 06:02 AM
http://www.yamasita.jp/linkstation/HackKit/index.html
http://elig.linux.org.hk/modules/mylinks/viewcat.php?cid=43 http://elig.linux.org.hk/modules/mylinks/viewcat.php?op=&cid=33
Intel也挺支持Open source的,以前做有關Strongarm的開發時可以在Intel的網頁找到不少資料, 而且居然有Linux的flash programmer(jtag)! 比起其他只提供Windows開發工具的廠商好多了.

接觸過一個Intel的員工(marketing有關),跟他談過些Linux支持的問題,他們也覺得Linux的支持很重要,但他們不打算自己做. (跟其他廠一樣). 就好像IXP4XX (WRV54G用的那粒) 系列一樣,要Linux solution的話找snapgear會比Intel更好.

贊助商連結


purk
2004-06-26, 06:03 AM
轉貼 當COMMAND指令缺少 有可能可以增加的辦法


command少是正常的,基於成本問題,一般都不會有太多額外的空間,能省則省.

我沒有WRT54G在手,所以不太肯定,有錯請告知.

你可以試試打mount , 看有那些partition, 一般上儲存kernel及startup code的partition都是read-only的. filesystem 則是cramfs之類,因為可以提供壓縮功能. 但為了存入user setting , 應該有一塊可以rw的空間.

busybox是依據自己的執行檔案名稱來決定功能 , 如果你打" ls -lh /usr/bin/wget" , 你可以發現wget其實是一個symbolic link的file , 鏈結到busybox那. 柤同道理 , 沒有的command你可以嘗試替busybox建立一個新的symbolic link(在rw的partition). 但不一定會成功的,原全視乎當初做build busybox的那個developer有沒有把那個功能刪去.

凡是要動那塊ro的partition的事情 , 基全上都要重新rebuild一個image才有可能實現. 請參考stephen提供的link :)

purk
2004-06-26, 07:53 AM
# set
PS2=>
PS1=#
IFS=

USER=root
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin
HOME=/
TERM=vt102

purk
2004-06-28, 01:58 AM
最初由 purk 發表


2.主要存放OS的地方 FLASHRAM__大小2MB http://mail.apol.com.tw/~if2/m1.jpg

FLASH RAM的資料找到了 是旺宏生產的
http://www.mxic.com.tw/QuickPlace/hq/PageLibrary48256D9D002BA613.nsf/h_Index/BE6A2D571F64BBAA48256DCD0038B84B/?OpenDocument
技術資料

http://www.mxic.com.tw/QuickPlace/hq/PageLibrary48256D9D002BA613.nsf/h_E800A46B2447112B48256DC60024E4CF/56BD253CAA807A8148256E5900348EAF/$File/MX29LV160BT-BB-1.1.pdf/?OpenElement

他有4MB的http://www.mxic.com.tw/QuickPlace/hq/PageLibrary48256D9D002BA613.nsf/h_E800A46B2447112B48256DC60024E4CF/47FA11CDC577B34C48256DCD002C312B/$File/MX29LV320AT-B-1.1.pdf/?OpenElement跟8MBhttp://www.mxic.com.tw/QuickPlace/hq/PageLibrary48256D9D002BA613.nsf/h_E800A46B2447112B48256DC60024E4CF/3ECB2BBB34FEE83948256E7E00336D92/$File/MX29LV640BT-BB-0.4.pdf/?OpenElement的



以下是 替換FLASH RAM的 教學
http://www.move.com.cn/info/end.asp?newsid=20010202150740316&catcode=0608060802

http://www.palmislife.com/~larrydiy/trgpro_4mb_flash_rom.htm

neighbor
2004-06-28, 03:07 AM
可否貼網址就好...

看的眼花撩亂了...

purk
2004-07-04, 01:24 AM
我是個學生 不是啥 商業人士 工程師

研究只是好玩 如果 在不行 我可以能 去弄個3-4台 寄到國外去 請國外的研

究看看

THX

purk
2005-04-25, 02:42 AM
一年了 進度緩慢

purk
2005-12-21, 10:29 PM
以下為4031b幾個原始網頁檔案內容

main.html的

<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<title>DSL Router</title>
<script language="javascript">
<!-- hide

function op(){}
function showAdslStatistics() {
var options;
options = 'menubar=no,resizable=yes,scrollbars=yes,titlebar=yes,toolbar=no,wi
dth=550,height=950';

window.open('statsadsl.html', 'BCM96345AdslStatistics', options);
}
function showAtmStatistics() {
var options;
options = 'menubar=no,resizable=yes,scrollbars=yes,titlebar=yes,toolbar=no,wi
dth=800,height=500';

window.open('statsatm.cmd', 'BCM96345AtmStatistics', options);
}
function showWanStatistics() {
var options;
options = 'menubar=no,resizable=yes,scrollbars=yes,titlebar=yes,toolbar=no,wi
dth=600,height=400';

window.open('statswan.cmd', 'BCM96345WanStatistics', options);
}

var empty = '<%ejGetOther(memInfo, isDataEmpty)%>';

document.writeln("<frameset rows='70,*,14' border='0' frameborder='0' framespaci
ng='0'>");
//document.writeln(" <frame src='logo.html' name='logofrm' frameborder='no' bo
rder='0' scrolling='no' target='_self' marginwidth='0' marginheight='0' noresize
>");
document.writeln(" <frameset cols='800,*' border='0' frameborder='0' framespac
ing='0'>");
document.writeln(" <frame src='logo.html' name='logofrm' frameborder='no'
border='0' scrolling='no' target='_self' marginwidth='0' marginheight='0' noresi
ze>");
document.writeln(" <frame src='logobkg.html' name='logobkgfrm' frameborder
='no' border='0' scrolling='no' target='_self' marginwidth='0' marginheight='0'
noresize>");
document.writeln(" </frameset>");
document.writeln(" <frameset cols='158,*' frameborder='0' border='0'>");
document.writeln(" <frame src='menu.html' name='listfrm' frameborder='no' b
order='0' scrolling='no' target='_self' marginwidth='0' marginheight='16' noresi
ze>");

if ( empty == '1' )
msg = " <frame src='vpivci.html' ";
else
msg = " <frame src='info.html' ";
msg += "name='basefrm' frameborder='no' border='0' scrolling='auto' target='_sel
f' marginwidth='0' marginheight='16' noresize>";
document.writeln(msg);

document.writeln(" </frameset>");
document.writeln(" <frame src='footer.html' name='footerfrm' frameborder='no'
border='0' scrolling='no' target='_self' marginwidth='0' marginheight='0' noresi
ze>");
document.writeln("</frameset>");

// done hiding -->
</script>
</head>
</html>


然後是logo.html的內容
<html>
<head>
<title></title>
<link rel="stylesheet" href='stylemain.css' type='text/css'>
<link rel="stylesheet" href='colors.css' type='text/css'>
<meta http-equiv="Pragma" content="no-cache">
<base target="_self">
</head>
<body class="logoBody" topmargin="0" leftmargin="0">
<IMG height="68" src="logo_corp.gif" width="800">
</body>
</html>

<html>
<head>
<link rel="stylesheet" href='stylemain.css' type='text/css'>
<link rel="stylesheet" href='colors.css' type='text/css'>
<meta http-equiv="Pragma" content="no-cache">
</head>
<body class="logoBody" topmargin="0" leftmargin="0">
<IMG src="logobkg.gif" height="68" width="2400">
</body>
</html>

以下是menu.html的
<html>
<head>
<html><head>
<meta http-equiv='Pragma' content='no-cache'>
<link rel=stylesheet href='stylemain.css' type='text/css'>
<link rel=stylesheet href='colors.css' type='text/css'>
<script language='javascript' src='menuTree.js'></script>
<script language='javascript' src='menuTitle.js'></script>
<script language='javascript' src='menuBcm.js'></script>
<title></title>
<base target="_self">
</head>
<body class='mainMenuBody'>
<script language='javascript'>
<!-- hide
var user = '<%ejGet(curUserName)%>';
var std = '<%ejGetOther(sysInfo, adslStd)%>';
var proto = '<%ejGetOther(sysInfo, noBrPrtcl)%>';
var firewall = '<%ejGetOther(sysInfo, enblFirewall)%>';
var nat = '<%ejGetOther(sysInfo, enblNat)%>';
var ipExt = '<%ejGetOther(sysInfo, pppIpExtension)%>';
var wireless = '<%ejGetWl(wlInterface)%>';
var voice = '<%ejGetVoice(voiceProtocol)%>';

createBcmMenu(std, user, proto, firewall, nat, ipExt, wireless, voice);
initializeDocument();
// done hiding -->
</script>
<noscript>You must enable JavaScript in your browser.</noscript>
</body>
</html>

purk
2005-12-21, 10:55 PM
vpivci.html的內容

<html>
<head>
<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
<link rel="stylesheet" href='stylemain.css' type='text/css'>
<link rel="stylesheet" href='colors.css' type='text/css'>
<script language="javascript">
<!-- hide
var auto = '<%ejGet(enblAutoScan)%>';
var vpi = '<%ejGet(atmVpi)%>';
var vci = '<%ejGet(atmVci)%>';
var mem = '<%ejGetOther(memInfo, checkAutoScanMemory)%>';

function hideInfo(hide) {
var status = 'visible';
if ( hide == 1 )
status = 'hidden';
if (document.getElementById) // DOM3 = IE5, NS6
document.getElementById('vccInfo').style.visibility = status;
else {
if (document.layers) { // Netscape 4
with ( document.forms[0] ) {
if ( hide == 1 ) {
atmVpi.value = '';
atmVci.value = '';
} else {
atmVpi.value = vpi;
atmVci.value = vci;
}
}
} else // IE 4
document.all.vccInfo.style.visibility = status;
}
}

function cbClick(cb) {
if ( cb.checked == true )
hideInfo(1);
else
hideInfo(0);
}

function frmLoad() {
with ( document.forms[0] ) {
atmVpi.value = vpi;
atmVci.value = vci;
if ( auto == '1' ) {
enblAutoScan.checked = true;
hideInfo(1);
} else {
enblAutoScan.checked = false;
hideInfo(0);
}
}
}

function btnNext() {
var loc = '';

with ( document.forms[0] ) {
if ( enblAutoScan.checked == true ) {
// if there is not enough memory to perform auto scan
// or run out of PVCs then display error message.
if ( mem != '0' ) {
loc = 'autoscanerr.cgi?';
loc += 'enblAutoScan=1';
} else {
loc = 'autoscan.cgi?';
loc += 'enblAutoScan=1';
loc += '&atmVpi=' + vpi;
loc += '&atmVci=' + vci;
}
} else {
if ( isNaN(parseInt(atmVpi.value)) == true ) {
msg = 'VPI "' + atmVpi.value + '" is invalid.';
alert(msg);
return;
}
if ( isNaN(parseInt(atmVci.value)) == true ) {
msg = 'VCI "' + atmVci.value + '" is invalid.';
alert(msg);
return;
}
vpi = parseInt(atmVpi.value);
if ( vpi < 0 || vpi > 255 ) {
msg = 'VPI "' + atmVpi.value + '" is out of range [0-255].';
alert(msg);
return;
}
vci = parseInt(atmVci.value);
if ( vci < 32 || vci > 65535 ) {
msg = 'VCI "' + atmVci.value + '" is out of range [32-65535].';
alert(msg);
return;
}
// if system is run out of PVCs then display error message
if ( mem == '1' ) {
loc = 'quicksetuperr.cgi?';
loc += 'enblAutoScan=0';
} else {
loc = 'ntwkprtcl.cgi?';
loc += 'enblAutoScan=0';
loc += '&atmVpi=' + atmVpi.value;
loc += '&atmVci=' + atmVci.value;
}
}
}

loc += '&quickSetup=1&serviceId=0';

var code = 'location.assign("' + loc + '")';

eval(code);
}

// done hiding -->
</script>
</head>
<body onLoad='frmLoad()'>
<blockquote>
<form>
<b>Quick Setup</b><br>
<br>
This Quick Setup will guide you through the steps necessary to confi
gure your
DSL Router.
<br>
<br>
<b>ATM PVC Configuration</b><br>
<br>
Select the check box below to enable DSL Auto-connect process.
<br>
<br>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td width='30' height="30"><input type='checkbox' name='enblAu
toScan' onClick='cbClick(this)'></td>
<td>DSL Auto-connect</td>
</tr>
</table>
<br>
<br>
<div id='vccInfo'>
The Virtual Path Identifier (VPI) and Virtual Channel Identifier
(VCI) are
needed for setting up the ATM PVC. Do not change VPI and VCI numb
ers
unless your ISP instructs you otherwise.
<br>
<br>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td>VPI: [0-255]</td>
<td><input type='text' name='atmVpi' size='4'></td>
</tr>
<tr>
<td>VCI: [32-65535]</td>
<td><input type='text' name='atmVci' size='4'></td>
</tr>
</table>
</div>
<br>
<br>
<center>
<input type='button' onClick='btnNext()' value='Next'>
</center>
</form>
</blockquote>
</body>
</html>

info.html的內容
<html>
<head>
<link rel="stylesheet" href='stylemain.css' type='text/css'>
<link rel="stylesheet" href='colors.css' type='text/css'>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="refresh" content="20">
<script language="javascript">
<!-- hide

function frmLoad() {
var update = '<%ejFncCmd(stsadslupdate)%>';
}

// done hiding -->
</script>
</head>
<body onLoad='frmLoad()'>
<blockquote>
<form>
<b>Device Info<br>
<br>
</b>This information reflects the current status of your DSL connect
ion.<br>
<br>
<table border="1" cellpadding="1" cellspacing="0">
<tr>
<td colspan="2" class='hd'>LAN IP Address:</td>
<td><%ejGetOther(sysInfo, lanAddr)%></td>
</tr>
<tr>
<td colspan="2" class='hd'>Default Gateway:</td>
<td><%ejGetOther(sysInfo, dfltGw)%></td>
</tr>
<tr>
<td colspan="2" class='hd'>Primary DNS Server:</td>
<td><%ejGetOther(sysInfo, dns)%></td>
</tr>
<tr>
<td colspan="2" class='hd'>Secondary DNS Server:</td>
<td><%ejGetOther(sysInfo, dns2)%></td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td class='hd'>ADSL</td>
<td class='hd'>Downstream</td>
<td class='hd'>Upstream</td>
</tr>
<tr>
<td class='hd'>Rate (Kbps):</td>
<td><%ejGetOther(lineRate, 1)%>&nbsp;</td>
<td><%ejGetOther(lineRate, 0)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>SNR Margin (dB):</td>
<td><%ejGetOther(stsadslget, 1, 0)%>&nbsp;</td>
<td><%ejGetOther(stsadslget, 8, 0)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Attenuation (dB):</td>
<td><%ejGetOther(stsadslget, 1, 1)%>&nbsp;</td>
<td><%ejGetOther(stsadslget, 8, 1)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Output Power (dBm):</td>
<td><%ejGetOther(stsadslget, 1, 3)%>&nbsp;</td>
<td><%ejGetOther(stsadslget, 8, 3)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>HEC Errors:</td>
<td><%ejGetOther(stsadslget, 7, 0)%>&nbsp;</td>
<td><%ejGetOther(stsadslget, 7, 4)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Mode:</td>
<td colspan="2"><%ejGetOther(stsadslget, 5, 1)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Type:</td>
<script language="javascript">
<!-- hide
{
var mode = '<%ejGetOther(stsadslget, 5, 1)%>';
if (mode != '&nbsp' && (mode == 'ADSL2' || mode == 'ADSL2+'))
document.writeln("<td colspan='2'>&nbsp;</td>");
else
document.writeln("<td colspan='2'><%ejGetOther(stsadslget, 5, 0)%>&nbsp;</
td>");
}
// done hiding -->
</script>
</tr>
<tr>
<td class='hd'>Total ES:</td>
<td colspan="2"><%ejGetOther(stsadslget, 9, 0)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Total SES:</td>
<td colspan="2"><%ejGetOther(stsadslget, 9, 1)%>&nbsp;</td>
</tr>
<tr>
<td class='hd'>Total UAS:</td>
<td colspan="2"><%ejGetOther(stsadslget, 9, 2)%>&nbsp;</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td class='hd'>Software Version:</td>
<td colspan="2"><%ejGet(sysVersion)%></td>
</tr>
</table>
</form>
</blockquote>
</body>
</html>

backupsettings.html的內容
<html>
<head>
<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
<link rel="stylesheet" href='stylemain.css' type='text/css'>
<link rel="stylesheet" href='colors.css' type='text/css'>
<script language="javascript">
<!-- hide

function backupClick() {
var loc = 'backupsettings.cfg';

var code = 'location.assign("' + loc + '")';
eval(code);
}
// done hiding -->
</script>
</head>
<body>
<blockquote>
<form>
<b>Tools -- Backup Settings</b><br>
<br>
Backup DSL router settings. You may save your router settings to a f
ile on your PC.<br>
<br>
<br>
<p align="center"><input type='button' value='Backup Settings' onCli
ck='backupClick()'></p>
</form>
</blockquote>
</body>
</html>