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%左右
參考資料



16 則留言:

  1. 你好,我是將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>
    <!--

    能請你給我一些建議嗎?

    回覆刪除
  2. wifi確定有接上CHT Wi-Fi嗎?
    或者多等待幾次試試看

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

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

    回覆刪除
  4. 有的
    可以看看log檔內容記錄了什麼

    回覆刪除
  5. 先謝謝這位作者拉~

    先說幾點:
    1.curl有時會抓不到認證網頁 而這交差測試後可能是cht的問題 換另外一個熱點吧

    2.itaiwan同樣適用 把網址改成wlangw.hinet.net/v2_0/itaiwan_auth/auth_page.php 即可 其它自己調整測試

    3.更懶惰一點的話 可以去google"wispr command line" 下載build install 之後 直接打 wispr username@hinet.net password 即可

    回覆刪除
    回覆
    1. 請問可以教學如何安裝wisper嗎@@? 感恩

      刪除
    2. 你好,我的住所有接收到免費的wifi,我本來是想在上班的時候用來看我家的小寶貝(貓喵),可是每2個小時就需要重新連接,請問有跟你類似的分法使router能夠自動接線? 它是每兩小時左右就需要再按一次「確定」的按鍵的。

      刪除
  6. jikker您好
    現在這個版本的自動登入程式..還可以用嗎?聽說CHT WiFi的登入方式有改

    回覆刪除
  7. 不確定...我改用4G分享器了...XD

    回覆刪除
  8. 我在修改的時候遇到很大的問題,方便跟您私下聯絡嗎???
    最主要是因為我看不懂步驟8-13,請問這些步驟是在usb裡面做嗎?
    我的電腦是WIN10,LINUX是用PE版的,請問檔案如何放入USB呢??
    我對LINUX不是很孰悉,請大大協助,謝謝

    回覆刪除
    回覆
    1. 隔了半年才看到這則留言
      把隨身碟格式化成FAT32格式
      在Windows底下把檔案放入USB就可以了
      不用特別找linux來操作

      刪除
  9. 作者已經移除這則留言。

    回覆刪除
  10. USERNAME=phXXXXXX
    username=$USERNAME%40hotspot
    dd-wrt 要用2017版 以後版本會抓不到CHT Wi-Fi(HiNet)

    回覆刪除
  11. 安裝curl_7.38.0-1_ar71xx.ipk
    curl提不出來
    jikker大可以教下嗎
    想換新點路由卡在curl不會安裝提取

    回覆刪除
    回覆
    1. 從舊機器直接copy檔案過去執行看看?
      或是使用 opkg install curl_7.38.0-1_ar71xx.ipk 這個指令裝看看

      刪除
    2. DD-WRT沒有opkg ,裝opkg又裝不上><....就卡住了,謝謝你分享script ,目前RT-N18U還可用

      刪除