主要處理器是 Atheros AR9331,內含:
- AR7240 CPU @400MHz
- Wi-Fi 802.11b/g/n
- Fast Ethernet (有 5 port,但 WR703N 只用一個)
- USB 2.0
AR9331 也用在 TL-MR3020 (多開關及一些燈號)、TL-WR741ND (使用 5 port Ethernet)
由於 OpenWrt 有支援,常拿來改成其它應用。
拆解:[參考]。應該拿小一字起子,往有卡榫的地方插下去。我插在卡榫旁邊不太好拆,需要一些暴力,造成一些損傷。
接 UART 出來
- 拆開後,正面下方的 TP_IN 及 TP_OUT 分別是 UART 的 Rx 及 Tx,如果接 FT232R 或其它轉 USB 的晶片或連接線,只需要再找一個 GND 接點。有人把 Ethernet 或 USB 的鐵殼當 GND,其實不是。除了背面的 TPGND 外,可以找的很多地方去接 GND。
- baud rate 是 115200。
- u-boot 是 bootloader,損壞的話,將無法開機,也無法做任何更新動作,只能解焊 SPI Flash 透過燒錄器寫入好的 u-boot,才能讓 TL-WR703N 重新運作。有了 u-boot 之後,就可以更新其它任何部份。
- art 是放無線校準後的資料,損壞的話,可以開機,但會影響到無線功能無法使用。這裡提到,如果沒經過校準,Wi-Fi 訊號可能會較差;也就是複製別台同樣型號及處理器的 art,未必適用。
- 參考這裡,在 UART console 下用 Linux 的 cp 指令讀出 u-boot 及 art 分割,透過網頁存到 PC。應該也可以使用指令「dd if=/dev/mtd0 of=/tmp/boot.backup」跟「dd if=/dev/$(grep '"art"' /proc/mtd |cut -c 1-4) of=/tmp/art.backup」讀出。
- firmware 修改:
- OpenWrt 的 tools/firmware-utils/src/mktplinkfw.c
- TL-WR703Nv1 的 fw_max_len 改成 0x7c0000
- target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr703n.c
- rootfs 的 .size 改成 0x6d0000
- art 的 .offset 改成 0x7f0000
- firmware 的 .size 改成 0x7d0000
- 編譯,結果在 bin/ar71xx/openwrt-ar71xx-tl-wr703n-v1-squashfs-*.bin
- 最終 8MB SPI Flash 的內容應該是:
- u-boot 複製自原本的 flash,放到 8MB flash
- art 複製自原本的 flash,放到到最後分割,也就是位址 0x7f0000 開始的地方
- firmware 需要改成支援 8MB Flash 後重新編譯產生,放到位址 0x20000 開始的地方
- 解焊舊 SPI Flash,焊上新 8MB SPI Flash。
- 參考
- https://forum.openwrt.org/viewtopic.php?pid=146315#p146315 (Flash/RAM Modification,使用 MR3420,很詳細)
- https://forum.openwrt.org/viewtopic.php?pid=179169#p179169 (新舊 Flash 並接,不用另外燒錄器寫新的 Flash)
- 使用 EZP2010 燒錄器
- http://wiki.openwrt.org/toh/tp-link/tl-wr703n (相當詳盡,包括 AR9331 pinout 等)
- http://www.osslab.com.tw/Hardware/Open_Embedded_System/MIPS/Atheros/WR-703N (有許多應用連結)
- 音效卡(可做air player)
- Wemcam (可做 ip cam)
- Printer
- Arduino Wi-Fi shield
- Wi-Fi robot:arduino 驅動+web cam +web gui,ser2net,mjpg-streamer,UVC摄像头驱动
- 小车网页控制:透過 luci web
- AR933x (WR703N) USB Device Driver (作為 USB gadget,需修改硬體、patch OpenWrt)

沒有留言:
張貼留言