2017年7月18日 星期二

家用AP 改刷 DD-WRT 自動登入 CHT Wi-Fi

硬體配備

  1. 有USB port 又可刷 DD-WRT 的 AP 一台
  2. 一支USB 隨身碟(不用太大 128MB以下即可)
  3. 我測試過的機器 TP-LINK TL-WDR3600, TP-LINK TL-WDR1043ND V2
  4. 有些機器官網上找不到韌體的,可以試試看 ftp://ftp.dd-wrt.com/betas/
修改步驟
  1. 先把AP 刷成 DD-WRT
  2. 把隨身碟格式成EXT4格式,然後插上AP
  3. Web管理介面,選 伺服器 > USB
  4. 在Mount this Partition to /opt 填上UUID(該頁下方找的到),讓系統自動幫忙掛載USB
  5. 另外在伺服器頁面把ssh管理打開,就可以用ssh連線,沒開的話也是可以用telnet連線
  6. ssh 或 telnet 連線的話,帳號都是root,密碼跟admin的一樣
  7. 儲存後,關閉AP電源再打開,不然你會卡關30分鐘(不會自動掛載到opt),哭哭
  8. 我之前改過一台安裝crul的時候一直錯誤,頭髮都白了好幾根,最後不知道怎麼安裝的就成功了,改第二台的時候為了不要再有白頭髮,就直接把第一台的curl copy過來用就好了XD,所以直接下載 curl 的執行檔 放入 /opt/usr/bin
  9. 到 github 下載我寫好的script https://github.com/jikker/dd-wrt-auto-login-CHT-Wi-Fi
  10. 把程式 放入 /opt/script/
  11. 修改 login-cht-wifi.sh 裡面的帳號密碼
  12. 新增資料夾 /opt/log/
  13. 新增 cht-wifi.log, cron.log 兩個檔案
  14. 在基本設定頁面 ip取得方式設 dhcp,最下面的ntp server填 time.google.com
  15. WiFi設定頁面 ath0 介面 設為 clinet 模式可以選 NG mixed 比較快
  16. SSID 填 CHT Wi-Fi(HiNet)
  17. SSID 填 CHT Wi-Fi(HiNet)
  18. SSID 填 CHT Wi-Fi(HiNet)
  19. 該有的空格跟大小寫都要有 一個字都不能填錯 !!!
  20. 該有的空格跟大小寫都要有 一個字都不能填錯 !!!
  21. 該有的空格跟大小寫都要有 一個字都不能填錯 !!!
  22. 很重要所以講三次! 
  23. 很重要所以講三次!
  24. 很重要所以講三次!
  25. 好一點的機種會有 virtual 介面可以新增,意思就是在增加一個wifi訊號,可以用無線連到這個基地台,不然只能走有線了
  26. 無線安全的部份 ath0 選關閉,有新增virtual介面的話就看你的需求了
  27. 到系統管理 > 指令 把 sh /opt/script/start.sh >> /opt/log/cron.log 填入框框內,按下 儲存啟動指令 表示機器一啟動會執行該指令
  28. 重新開機
  29. 如果一切設定正常,開機後機器就會自動連上 CHT Wi-Fi 了
RT-N18U設定方法
  1. 最近又用RT-N18U改了一台,有點小地方不一樣,記錄一下
  2. wifi模式不能選clinet要用repeater,不然無法新增另外一個wifi
  3. 使用copy進去的curl居然顯示permission denied,權限都開到777了也是一樣,後來使用原始檔重新安裝,發現1043ND用的curl只有73KB,RT-N18U的居然有135KB,換過去就ok了

設定圖片如下





































常見問題
  • 怎麼監看程式運作是否正常?
    • /opt/log/cron.log 會有log
  • 為什麼設定完全沒錯,還是無法連接?
    • 中華的機器有時候會怪怪的,看web介面,機器狀態,無線環境 ath0 的介面接收速率是否等於0,如果是的話就重開吧或者等5分鐘,因為接收速率等於0,curl會無法解析dns,就無法正常連線,程式碼有寫入5分鐘沒上線就自動重開的功能
  • 網路會穩定嗎?
    • 根據我的實際使用經驗,在距離約20-30公尺的狀態下沒有很穩,10-20公尺算穩定,但速度不會太快,約3~5Mbps而已,免錢的就湊合著用囉
    • 無線狀態介面可以觀察 ath0 的信號強度20-30公尺大概在60-70%左右
參考資料



5 則留言:

Tino 提到...
作者已經移除這則留言。
Tino 提到...

你好,我是將acript放在jffs,對路徑略作修改後,無法連線。
直接執行 ./start_not_reboot.sh 測試,出現以下畫面

Mon Oct 23 13:59:15 UTC 2017 You need login CHT Wi-Fi PWLAN.
<html>
<head>
</head>
<body>
<!--

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Mon Oct 23 14:00:18 UTC 2017 You need login CHT Wi-Fi PWLAN.
<html>
<head>
</head>
<body>
<!--

能請你給我一些建議嗎?

jikker 提到...

wifi確定有接上CHT Wi-Fi嗎?
或者多等待幾次試試看

Tino 提到...

我可以確定是有接上CHT Wifi,因為我的電腦透過ap連線會出現cht wifi的登入畫面。

我的登入帳號是中華電信的手機號碼,請問這有符合你的script中的帳號型式嗎?

jikker 提到...

有的
可以看看log檔內容記錄了什麼