2012年10月10日 星期三

[設備] TP-LINK TL-WR703N

號稱市面上最小的含有 USB Host 的 Wi-Fi AP,也相當省電,低於 1W[參考來源]

主要處理器是 Atheros AR9331,內含:
  • AR7240 CPU @400MHz
  • Wi-Fi 802.11b/g/n
  • Fast Ethernet (有 5 port,但 WR703N 只用一個)
  • USB 2.0
外加 4MB Flash 及 32MB RAM

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 及 art:
  • 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」讀出。
加大 SPI Flash (例如改用 8MB SPI Flash)
  • firmware 修改:
    1. OpenWrt 的 tools/firmware-utils/src/mktplinkfw.c
      •  TL-WR703Nv1 的 fw_max_len 改成 0x7c0000
    2.  target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr703n.c
      • rootfs 的 .size 改成 0x6d0000
      • art 的 .offset 改成 0x7f0000
      • firmware 的 .size 改成 0x7d0000
    3. 編譯,結果在 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。
  • 參考
參考資料:

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...