PCZONE 討論區 - 觀看單一文章 - [徵求]{台中}T07AW 韌體T07L022.00_2.12--研究破解
觀看單一文章
FYI
會員
潛水自修, 僅供參考
以下不適合初學者觀賞, 請勿輕易嘗試

如果您的T07AW 或AR4031B/C 是租用的, 那麼您就別再白費神了, 以免引起不必要的事端, 如果您想要買Wireless ADSL Modem, 建議您設法從國外購買Linksys, US Robotics, Netgear 或國內的Comtrend CT-536+, 或者寧可將資金投注於Buffalo LinkStation, 因為T07AW 是為了國內的特殊環境而產生, 成本要低, 所以功能無法和零售機種相比, 倒是Y拍可找到一台Linksys WAG54G (實際上是WAG354G-EU Annex A Hardware Version 1, 韌體在此), 有16MB RAM/4MB Flash, 雖然CPU (TI AR7)只有150MHz, 但是仍然值得改機玩家考慮

TR069 與中國 CPE 遠程管理標準
TR069 協議定義於 TCP/IP 協議之上,與物理傳輸層和數據鏈路層無關,只要終端有 IP 協議棧就可以支持. 中國 CPE 遠程管理標準定義了兩種模式,一種是 snmp over PVC, 客戶端和局端利用特定的 PVC, VPI=0, VCI=16 進行遠管通訊,這就要求客戶端 一定要對 ATM 協議進行支持,不支持 ATM 的 終端無法實現,如 vdsl modem; 另一種是 snmp over EOC, EOC 是 ADSL 物理層幀格式的一種 overhead 通道,這種方式要求終端一定是 adsl 終端,不能支持 vdsl, hdsl 等等.在這一點上,TR069 可以涵蓋整個 DSL 領域,而中國 CPE 遠程管理標準基本上是針對市場上最龐大的 ADSL 終端
樓上(#2)所顯示的是由tftp -p -t c -f backupsettings.cfg 192.168.1.100 或Console Port 登入所擷取的結果, 內建的bftpd/tftpd/tftp 均無法用來備份韌體, 因此只能尋找其他方法, 您可能會需要用到 "com2tcp" 的技巧, 請參考【下載】Free Serial Port Monitor - PCZONE 討論區

SkayaWiki:BroadCom96345
Attached please find the modified "octify.py" which fixed an EOF (0x1A) bug for Windows platform.

DMT (DSL modem Tool)
DMT v8.07 - Windows2000/XP - Windows 95 /98/ME

Speed haven 500V/W500V, Siemens SL2-141-I/SLI-5300-I/CL-110-I, Speedtouch 716g,
Belkin 7633, T-sine 1054 DSL, BT Voyager 2091/2100/2110, Linksys WAG54GS,
USRobotics 9107/9108, Netgear DG834GT/DG834NB/DG834PNB, Hitachi AH4222,
BCM 6338/6348/6358 adslctl tool)
用於本地時, 請選annex A
參考資料:
  1. 【教學】[原創]Alcatel T07AW 完全破解攻略 - 不用 Console 連接線就可以開啟 Wireless 功能! - PCZONE 討論區
    引用:
    作者: hungwen 觀看文章
    (3) 以 ps 與 atmctl 指令來觀察 T07AW.
    atmctl operate vcc --show
  2. 【教學】[原創] TECOM AR4031B、Wagaly Talk 連接線之組成 - PCZONE 討論區
補充: (2007-04-18)
這個octify.py 版本可直接用於2.08_N, 由網路登入, 下個版本將會支援由序列埠登入, 也就不需要 "com2tcp"

補充: (2007-05-04)
新增octifys.py 支援序列埠, 速度比octify.py 快四倍, 約可達1KB/s, 懷疑原因可能是Console 的優先權較高, 兩個程式都增加了基本的錯誤判斷, 如果您有Console Cable 的話, 基本上序列埠要比網路好用, 除了飛快之外, 也可以免去重複登入Telnet 的麻煩, 不妨使用com0com 建立兩對虛擬序列埠, 再以hub4com 並聯實體序列埠, 如此就可以同時由序列埠上傳(octifys.py), 並由超級終端機下指令, 而不需斷線(釋放序列埠), 另一個方法是上傳經由序列埠或Telnet(兩者不可同時登入), 下指令由SSH 而不登出, 似乎也行

此外小弟懷疑BCM6345 的ToolChain 可能有別於BCM6348, 因此相關程式都有必要重新編譯, 工程不小, 改由JTAG 下手或許還必較容易, 以下連結可以找到採用BCM6348 的數據機, 要注意的是T07AW 的快閃記憶體只有2MB, 記憶體只有8MB, 使得這台機器缺乏讓人想要改造它的誘因, 除非能找出GPIO 的接腳...

BroadcomBCM63xxPort - OpenWrt
BCM6348 - LinuxMIPS
BCM6348 Chips inside Belkin F5D7633 Wireless Routers and Inventel (DV-4210 based) Wanadoo Liveboxes
Inventel DV3210-WS
BT's other Voyager routers and modems. Voyager 2091, 220V, unlocking, firmware hacking and more.
Hacking the Belkin F5D7230-4 Version 1444 router
JTAG Cable - OpenWrt
HairyDairyMaid_WRT54G_Debrick_Utility
DD-WRT Forum :: View topic - Tjtagv2 - EJTAG De-Brick tool
ar7 » JTAG
CICLaMaB
The "Very Poor Man" JTAG...
JJTAG
Building a JTAG Interface - Kurobox Central
各種JTAG Pinout 定義
USRobotics GPL Code Central (USR9108)
Overclocking the WRT54G/GS v4, WRT54GL v1, WRT54GL v1.1
Firmware Modification Kit
Bitsum Technologies Wiki - WRT54G5 CFE
JTAG牛刀小試--unbrick my WHR2-G54
一步一步玩轉jtag
NSLU2-Linux - HowTo / RecoverFromABadFlashUsingJTAG
T07AW 硬體
BCM6348KPB V0.7 240MHz
BCM4318KFBG
BCM5325EKQM
MX 29LV160CBTC-90G, 2MB
ICSI IC42S16400-7T, 8MB

EJTAG (J201)
Pin1 nTRST, 負邏輯, 必須以100 歐姆電阻連接Vcc, 否則無法由EJTAG 進入CFE Debug Mode
Pin3 TDI
Pin5 TDO
Pin7 TMS
Pin9 TCK
Pin11 nSRST, 負邏輯
Pin2/4/6/8/10 GND
Pin14 Vcc - 3V, 少R231

AR4031B CPU BCM6345
AR4031C CPU BCM6338
依照網友的反應, T07AW 可開啟的Session 數可能只有4096, 一旦開啟NAT 則很容易熱當, 所以最好於BCM6348 增加散熱片, 邊長3~4cm, 高度1cm, 將數據機直立可以幫助散熱且節省空間, 另外在MC7812CT(max:1A) 旁的C87 焊接一個排針, 可提供+12V(正極靠外側)以便安裝風扇(滾珠軸承)於上殼通風孔, 但需非常小心, 若風扇遇到阻力, 則會消耗更多電流, 是否影響MC7812CT 則不得而知, 請務必加裝一個防護網, 另一個供應電源的方法是外接串聯型穩壓電路(圖5-20a), T07AW 的變壓器輸出是AC16.5V/800mA, 只需經過橋式整流及穩壓就可以供應+12V 風扇, 如此一來就不容易影響T07AW

LPT1: ECP 或EPP, I/O 0x378
語法:
C:\T07AW>wrt54g.exe -probeonly

====================================
WRT54G/GS EJTAG Debrick Utility v4.8
====================================

Probing bus ... Done

Instruction Length set to 5

CPU Chip ID: 00000110001101001000000101111111 (0634817F)
*** Found a Broadcom BCM6348 Rev 1 CPU chip ***

    - EJTAG IMPCODE ....... : 00000000100000000000100100000100 (00800904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor did NOT enter Debug Mode!> ... Done
Clearing Watchdog ... Done

Probing Flash at (Flash Window: 0x1fc00000) ... Done

Flash Vendor ID: 00000000000000000000000011000010 (000000C2)
Flash Device ID: 00000000000000000010001001001001 (00002249)
*** Found a MX29LV161B 1Mx16 BotB      (2MB) Flash Chip ***

    - Flash Chip Window Start .... : 1fc00000
    - Flash Chip Window Length ... : 00200000
    - Selected Area Start ........ : 00000000
    - Selected Area Length ....... : 00000000

 *** REQUESTED OPERATION IS COMPLETE ***
T07AW 只有2MB Flash, 而WRT54G 有4MB Flash, 所以Flash 格式不同, wrt54g v4.8 預設CFE=256KB, 實際上T07AW 的CFE 只有64KB(tiny), 導致FS_KERNEL 起始位置不同, 所以建議只用wrt54g.exe 備份韌體, 再以CFE 指令刷新韌體, CFE 會檢查韌體格式, 可降低刷新的風險
CFE 0x1fc00000 L:0x10000 cfe6348.bin, Checksum@0x1fc006a8~0x1fc006ab
FS_KERNEL 0x1fc10000 L:0x1e0000 bcm963xx_fs_kernel = Tag(256 bytes) + Root filesystem image (fs.bin, squashfs) + Kernel (vmlinux.lz?)
NVRAM 0x1fdf0000 L:0x10000 backupsettings.cfg@0x1fdfa000

wrt54g.exe -backup:wholeflash /silent
wrt54g.exe -backup:custom /silent /window:0x1fc00000 /start:0x1fc00000 /length:0x10000
wrt54g.exe -backup:custom /silent /window:0x1fc00000 /start:0x1fc10000 /length:0x1e0000
wrt54g.exe -backup:nvram /silent
"bcm963xx_fs_kernel(FS_KERNEL)" 格式請參考 SkayaWiki:FirmwareFormatBT Voyager 220V Firmware Format, 若改編自其他GPL 程式碼, 則需注意 "PAGE_CACHE_SIZE", 通常等於 "4096", 這可能和記憶體有關

若無必要, 請勿更新CFE, 更新CFE 之前務必紀錄eth0 之原始MAC(儲存於CFE), T07AW 只使用一個MAC
執行 "wrt54g.exe -backup:wholeflash /silent", 參數 "/silent" 可提高執行速度, 平均下載64KB 不到20 秒
由於JTAG 傳輸速度遠低於網路, 故如果CFE 並未損壞, 則只需設定好TFTP Server 位於192.168.1.100, 再進入CFE 下指令 "f" 更新 "bcm963xx_fs_kernel" 即可
"Default host flash file name : bcm963xx_fs_kernel", 顧名思義也就是 "fs & kernel", 沒有 "boot loader (cfe6348.bin?)", 而 "kernel" 是否就是 "Default host run file name : vmlinux"? vmlinux.lz?

以下參考OpenWrt / Bricked DG834GT, CFE still accessible and TFTP flash possible, 4MB Flash
Kernel command line: root=/dev/mtdblock0 ro
Creating 4 MTD partitions on "Physically mapped flash":
0x00010100-0x00299100 : "fs"
mtd: partition "fs" doesn't start on an erase block boundary -- force read-only
0x00010000-0x003f0000 : "tag+fs+kernel"
0x00000000-0x00010000 : "bootloader"
0x003f0000-0x00400000 : "nvram"
OpenWrtDocs/Installing/TFTP - OpenWrt
tftp -i 192.168.1.1 PUT bcm963xx_fs_kernel
NVRAM 共64KB, 但backupsettings.cfg 只佔據24KB (Psi size in KB : 24), 起始於0x1fdfa000, 實際使用不到4KB, 沒有檢核碼, 但是以一個WORD 0000 結束, 故還有許多空間可作其他用途, 若遺失root 密碼, 則只需刷新NVRAM 即可, 內容可參考二樓, 修改紅字部份則可以開啟無線網路, 只有啟用無線網路才會在主選單出現 "Wireless" 選項
cat /etc/default.cfg
語法:
chtnadsl <sysPassword value="Y2h0bmFkc2w="/>
chtcadsl <sysPassword value="Y2h0Y2Fkc2w="/>
chtsadsl <sysPassword value="Y2h0c2Fkc2w="/>
http://192.168.1.1/scsrvcntr.cmd?action=save&ftp=0&http=2&icmp=2&snmp=0&ssh=0&telnet=2&tftp=2
tftp -i 192.168.1.1 PUT backupsettings.cfg
HairyDairyMaid_WRT54G_Debrick_Utility v4.8 有個不大不小的問題, 也就是並未考慮MIPS32 CPU 採用的是 "Big-endian" 或 "Little-endian", 原先僅設計用來支援BCM47xx (Little-endian), 後來加入BCM63xx (Big-endian), 結果導致備份T07AW 的每個DWORD 都顛倒, 也就無法以CFE 刷新(指令w/f), 請以附件rvs-dword.py 轉換備份檔案, 但請注意, 如果以wrt54g.exe 刷新, 則無須轉換(將錯就錯), 以免導致嚴重錯誤
CFE> f [[hostip:]filename], 檔案為bcm963xx_fs_kernel
CFE> w [hostip:]whole_image_file_name, 檔案2097172 bytes? 必須檢查原始碼才知道多出20 bytes 的格式是否version information(36000000), the file's length and a CRC?)
Alcatel T07AW 由 Console 解除 SNMP Agent 並啟用 Wireless:
請參考 Alcatel T07AW 之 Wireless 功能開啟程序 (hungwen@PCZone)
  1. 連接USB 傳輸線之前, 請先下載並安裝驅動程式, 如果內建晶片是PL-2303X, 則請下載 "PL-2303 USB to Serial Bridge (H, HX, X) Installshield Driver Setup Program", 如果內建晶片是ARK3116, 則請下載 "ARK3116.rar" 或 "ARK3116.rar"
  2. 拔除電話線, 等設定完畢再接上
  3. Modem 關機, 以傳輸線連接Modem 和PC, 開啟 "開始->所有程式->附屬應用程式->通訊->超級終端機"
  4. 命名新的連線為 "115200n81", COM3 (請由裝置管理員的連接埠找到對應的 "Prolific USB-to-Serial Comm Port" 或 "ArkMicro USB to Serial Port"), 115200 bps, 8 資料位元, 無同位檢查, 1 停止位元, 無流量控制
  5. 檔案->內容->設定->倒退鍵傳送->Del->確定->檔案->存檔
  6. Modem 開機, 等候一分鐘直到畫面停止不動
  7. 按Enter, 分別輸入 "cht" & 北中南區密碼 (chtnadsl/chtcadsl/chtsadsl)
  8. 輸入14, Wireless
  9. 輸入1, Basic
  10. 輸入7, Enable/Disable Wireless
  11. 輸入1, Enable
  12. 其餘選Exit, 退回主選單
  13. 輸入12, Save & Reboot
  14. 輸入1, Yes (自動重開機)
  15. 網卡設定固定IP: 192.168.1.100, 遮罩: 255.255.255.0
  16. 以瀏覽器開啟 http://192.168.1.1, 帳號密碼都是小寫 "user", 請勿讓瀏覽器記憶帳號密碼
  17. 請設定 "Wireless Basic" 和 "Wireless Security", 務必設定WPA/WPA2, 並按 Apply
  18. 請回到超級終端機, 重新以 cht 帳號密碼登入
  19. 輸入9, Management
  20. 輸入2, SNMP Agent
  21. 輸入1, Configuration
  22. 輸入2, Disable
  23. 其餘按Enter 回到選單
  24. 其餘選Exit, 退回主選單
  25. 輸入12, Save & Reboot
  26. 輸入1, Yes (自動重開機)
  27. T07AW v2.18 (含) 以後版本, 若以 cht 帳號密碼登入 http://192.168.1.1, 並修改任一個 "無線設定 (Wireless)", 都會於 "下次開機" 時重新啟用 "SNMP", 導致 Hinet 會於整點關閉無線功能, 那就必須重複前面的步驟, 所以若需要修改無線設定, 請改以 user 帳號密碼登入
注意事項:
  1. 如果 RxD 訊號未連接, 則電壓會浮動, 故開啟通訊程式 (通訊埠) 之前, 請先以傳輸線連接好數據機和電腦, 以免接收到亂碼
  2. 電線與連接器之間的交接處比較脆弱, 請避免扭曲和拉扯電線, 並請避免接觸水
  3. Alcatel T07A/W mini-DIN 連接器和杜邦連接器於內部並聯, 請勿同時使用
  4. 杜邦連接器有方向性, 接錯可能會造成不可預期的損壞, 出貨預設連接TECOM AR4031B/C 或Alcatel T07AW, 如欲連接其他機種, 請先確定腳位和準位, 理論上可用於3~3.3V 之LVTTL 準位, 不可連接ZyXEL P-872H (RJ11), 因為準位完全不同, 極可能會造成傳輸線故障
  5. mini-DIN 連接器只能連接Alcatel T07A/W, 早期的Alcatel 機種也使用 mini-DIN 連接器, 但是腳位不同(TXD/RXD 顛倒), 如要連接其他機種, 請調整杜邦連接器的端子
傳輸線本身的訊號腳位 (線最多只有一條):
: GND
: TXD
: RXD
準位: 3.15 ± 0.1V
連接裝置時, 資料訊號必須交錯(Crossover), 也就是傳輸線的 TXD 串接裝置的 RXD
面對 TECOM AR4031B/C 數據機, 腳位由左至右分別是:
GND, RXD, TXD, VCC
傳輸線排列: (GND, TXD, RXD, NC)
面對 ZyXEL P-872HW 數據機, 腳位由左至右分別是:
VCC, TXD, RXD, NC, GND
傳輸線排列: ○● (NC, RXD, TXD, NC, GND)
38400bps, 8 資料位元, 無同位檢查, 1 停止位元, 無流量控制
模擬 ANSI 終端機
倒退鍵傳送 Ctrl+H
帳號 cht, 北中南區密碼分別是 chtnvdsl/chtcvdsl/chtsvdsl
ZyXEL P-872HA 和P-870H-51 腳位待查, 可能等同於ZyXEL P-872HW
Baud Rate 可能是115200bps

面對 ZyXEL P-872H 數據機, RJ11 腳位由左至右分別是:
GND, RXD, TXD, DTR
RS-232 準位: ±6V (僅供參考, 不可連接本傳輸線)
面對 D-Link DSL-5540C 數據機, 6-pin 腳位由左至右分別是:
TXD, RXD, GND (待查)
NC, NC, NC
面對 La Fonera 1.0 無線AP (FON2100), J2 腳位由左至右分別是:
NC, NC, NC, NC, VCC
NC, RXD, TXD, NC, GND

傳輸線排列: ○○○○○
     : ○● (NC, TXD, RXD, NC, GND)
9600bps, 8 資料位元, 無同位檢查, 1 停止位元, 無流量控制
若改刷DD-WRT v24-sp1, 則載入linux.bin 之後, 需改成115200bps, 才不會出現亂碼, 建議直接修改RedBoot baudrate
面對 La Fonera 1.1 無線AP (FON2200), 4-pin (JP1) 腳位由前往後分別是:
VCC, TXD, RXD, GND
傳輸線排列: (NC, RXD, TXD, GND)
面對 La Fonera+ & La Fonera2 無線AP (FON2201 & FON2202), 4-pin (JP1) 腳位由前往後分別是:
GND, RXD, TXD, VCC
傳輸線排列: (GND, TXD, RXD, NC)
其他驅動程式:
ArkMicro ARK3116.rarArkMicro ARK3116.rar
Silicon Laboratories CP210x USB to UART Bridge Controller Drivers (Download CP2101 driver from Windows Update - MCU User Forum) usb_data_cable_VID_10AB_PID_10C5.rar
上傳的圖檔
檔案類型: jpg T4.JPG (33.7 KB, 82 次觀看)
檔案類型: jpg T07AW2.jpg (46.1 KB, 87 次觀看)
檔案類型: jpg putty.jpg (60.9 KB, 74 次觀看)
上傳的附加檔案
檔案類型: zip octify.zip (3.6 KB, 105 次觀看)
檔案類型: zip rvs-dword.zip (822 Byte, 78 次觀看)

此篇文章於 2009-01-06 03:31 PM 被 FYI 編輯。.
回覆