2017/07/10

華為 E3372h-607 刷機心得

前言

在身邊開始有人把家用固網換成4G吃到飽的現在,我卻一直不換的原因就是MOD。
這曾陪著我兒子長大的MOD,在幾年來的進步下,卻也有不少我所喜歡的電視台。例如:龍華系列、WakuWaku Japan與其他一些日韓系的電視台。
但,這一切,在7/1的MOD頻道忽然刪減,世界都變了。

老婆怒了…看到一半的韓劇台,沒了…
我也怒了,身為家中唯一支持MOD的用戶,沒想到突然被中華電信呼了這麼大一個巴掌…我愛看的WakuWaku Japan也沒了…
不要跟我說降價,不要跟我說是頻道商的問題,你中華電信都沒收錢,都沒有先通知…
想到每個月在ADSL與MOD上,也要花上千元供奉中華電信,結果今天被x這麼大,心中實在惱怒不已,乾脆把 MOD跟ADSL全退了…弄個4G吃到飽了。
=======================================
刷機過程為個人經驗分享,操作者必須自行承擔風險!
若有疑問,歡迎留言討論!
=======================================

架構轉換:

舊架構:


  • 1台Linux Server
    獨立PPPoE固定IP
  • 1 Wifi 分享器(具備PPPoe能力)
    家中設備透過此Wifi分享器上網

新架構:


  • 利用Server透過 E3372h-607 連上 4G 網路
    網卡1:NAT IP分享給 Wifi 分享器
    網卡2:連回內網
  • Wifi分享器切換為純AP功能


華為(Huawei) E3372h-607

華為在此方面也算是專精了,產品眾多,各種刷機傳說也是五花八門,我的刷機之路,一路上磕磕碰碰了整整二天,也算是刷的模名奇妙。

就我2天來的爬文與測試的結論如下:
  • E3372h-607算是一個剛出來的設備。
  • firmware版本是22.開頭,預設為HiLink模式
  • firmware版本是21.開頭,預設為modem模式/3G網路卡
  • EE3372h預設為HiLink模式
  • EE3372s預設為modem模式

什麼是HiLink模式?

HiLink模式是一種Remote NDIS,簡單的說就是E3327h-607與PC間,自成一個網域。
  • E3327h-607自有一個IP是192.168.8.1
  • PC端會產生一個網路卡,IP是192.168.8.100
  • 二方以一種網路分享的方式來傳送封包
  • 用戶可以透過web browser存取192.168.8.1控制E3327h-607,包含網路設定與sms傳送/接收。

HiLink有什麼不好?

  • 無法完整掌控E3327h-607,凡事要透過控制UI
    例如:想要傳送SMS
  • Server躲在RNDIS後面,無法由Internet上存取
    無法作 Port forwarding,韌體/控制UI即不提供的功能。
  • 在作iptables的NAT時,一對一的把內網轉送到E3327h-607,效果不好。
    會有掉圖、某些網站連不上的狀況(可能是設定上的問題)

運作模式

我的 E3372h-607,Firmware版本是 22.xx,為hilink mode
透過網路上的分享,我找到了以下幾種模式:
  • 模式1:Mass storage(大量存儲裝置)
    沒安裝hilink軟體的狀況下,會被識別為此模式。
    狀況:系統下會產生儲存設備,裡面有E3372h的hilink軟體。
    USB ID:0x12d1 0x1f01
  • 模式2:RNDIS模式(hilink)
    已安裝hilink軟體的狀況下,會被識別為此模式,移除hilink軟體後,會回模式1
    狀況:系統下會產生一個網路卡,ip為192.168.8.100,並喚出192.168.8.1的控制網頁
    USB ID:0x12d1 0x14dc
  • 模式3:Debug模式
    狀況:系統下會產生數個COM port,其中Application Interface 可接受AT command
    USB ID:0x12d1 0x1442
  • 模式4:下載模式
    狀況:系統下會產生數個COM port,可透過balongflash從UI interface下載firmware 的 BIN,LED燈會快速連閃
  • 模式5:Modem模式
    狀況:系統下會產生數個COM port,windows 10下顯示為3G mobile xxxx(未上Linux測試),可使用mobile partner作播號連網/sms收送。
  • 模式6:3G網卡模式
    狀況:系統識別為網路卡,本身即bind公眾IP.
模式3/4時,Windows下產生2個COM port,名為 Application Interface and UI interface
Ubuntu16.04下只產生1個 ttyUSB

=======================================
刷機過程為個人經驗分享,操作者必須自行承擔風險!
若有疑問,歡迎留言討論!
=======================================

刷機流程:

  1. 在RNDIS模式下,透過存取 http://192.168.8.1/html/switchProjectMode.html 將 e3372切換為模式3,此時設備會退出系統重新連線為模式3
    Windows系統會多出2個COM port
    LInux系統會多出1個ttyUSB
    我是使用 此工具 @ google drive切換。
  2. 進入模式3後,以Serial Terminal開啟 COM port(Application Interface),此時可輸入AT指令。
    a. 先輸入AT按下Enter,系統會回應 OK.
    b. 確認 OK後,輸入 AT^GODLOAD按下Enter,系統會回應 OK,吐出4行訊息後,設備會退出系統重新連線為模式4
    Windows系統會多出2個COM port (UI Interface/Application Interface)
    LInux系統會多出1個ttyUSB
  3. 進入模式4後,確認LED燈會快速連閃,進入Command line,至準備好的Firmware處,輸入 balong_flash /p4 XXXXXXXXX.BIN,就會開始燒錄新的BIN
    其中/p4的4,是指UI Interface的COM port號碼。

燒錄用軟體:balong flash

官網上的firmware 

官網firmware
官網上的firmware,有二個版本如下,每個版本內裡面除了文件,還有1個bin檔與同名的.exe

  • HUAWEI-E3372h-607-05013LQS hilink模式
    E3372UPDATE_22.317.01.00.210.BIN
  • HUAWEI-E3372h-607-05013RQP 3G網卡模式
    E3372UPDATE_21.315.01.00.910.BIN

其中,E3372UPDATE_21.315.01.00.910.BIN是3G網卡模式,並沒產生COM port,可以被windows與Ubuntu 16.04直接識別成功。Ubuntu 16.04直接以Network Manager播號即可連網。

我的研究歷程

xubuntu 16.04

在Ubuntu 16.04下,E3372h一被插入就認識為 Mode2:RNDIS,實際檢查了dmesg,發現是先被認識為模式1:Mass storage,才被切換為 Mode2:RNDIS
我判斷為是被usb_modeswitch切換。於是在 /etc/usb_modeswitch.d/下,新增檔案名稱為"12d1:1f01"

DefaultVendor=0x12d1
DefaultProduct=0x1f01

#MessageContent="5553424312345678000000000000061e000000000000000000000000000000"


MessageContent Mask掉,可以讓系統過對e3372的RNDIS切換,讓其進入模式1,Linux下的e3372只有在模式1才能接受 usb_modeswitch到的控制,透過以下指令切換:

#切換為 CDC-ethernet 12d1:14dc
sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M "55534243123456780000000000000a11062000000000000100000000000000"
sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M "55534243123456780000000000000011062000000000000100000000000000"

#切換DEBUG mode 12d1:1442
sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M "55534243123456780000000000000011060000000000000000000000000000"

sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M "55534243123456780000000000000011060000001000000000000000000000"
sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -M "55534243000000000000000000000011060000000000000000000000000000"



Linux下,我並沒有燒錄成功,奇怪的是,在windows下進入模式3/4時,都會有2個COM port,在ubuntu 16.04卻只有1個。

模式3時
此COM會被系統辨示為gsm modem,我也曾試過以wvdial/kppp/Network Manager/ppp寫chat檔,甚至 minicom作播號連線,但是都沒辦法走到最後連線成功。

wvdial在connect後,直接crash或卡死
kppp安裝失敗
Network Manager無法完成連線
ppp在chat時,同樣的chat file,設備時回應時不回應,但是在minicom下一切正常。
minicom可透過AT command跑到connect 150000000,但是不知道如何繼續。
最後放棄。

模式4時
透過balong_flash無法下載,也搞不清楚狀況。

Windows

透過上面所述的工具,將設備切到模式3,使用AT^GODLOAD進入下載模式,可在command line下以balong_flash進行燒錄。
但奇怪的是,燒錄官網上的21.xx韌體後,被windows識別為4G網路卡也顯示正常連線,卻無法存取internet。不知道是不是我裝了Huawei mobile partner的關系。

華為軟體與Firmware

基本上有2種firmware與1個軟體,mobile partner
  • firmware 22.xx,是hilink模式
  • firmware 21.xx,有mobile partner模式與3G網卡模式。
    => mobile partner模式在 windows 10下會產生2個com port,顯示為3G mobile xxxx(好像可以使用AT command操作,忘了)
    => 3G網卡模式會被識別為網路卡(不須要mobile partner)
  • 軟體:mobile partner
    給21.xx的firmware作播號/控制使用
一開始我刷了某個網站的21.xxx版,它產生了2個com port,windows 10下顯示為3G mobile xxxx(未上Linux測試),能被Huawei mobile partner所識別,並作播號,但是我播了幾次並沒有辦法正常連線。

firmware的燒錄方式

  • 透過 firmware裡的exe g
    firmware裡的exe,可以在E3372進入模式3時,偵測到設備,並作下載動作,但是!開始下載時,它會問一個DATALOCK code,此code謠傳須要由設備的某些值與IMEI去作演算,我試了網路上幾個計算網,沒一個可以成功,可能是我的E3372太新,IMEI前3碼為866。最要命的是,你錯一次,它會倒數1次,我不知道數到幾次會發生什麼事…而網路上有人在賣這個解code方式
  • huawei_flasher_1.6
    為了跳過華為該死的datalock,就有人想出提取BIN檔內容的方式來作燒錄。
    具體是怎麼燒,我也不清楚,似乎是要用BIN轉成什麼hmf檔,但是好像華為會為了防止而變更bin檔格式而造成提取失敗(官網的即無法提取)。而該用什麼模式才能讓huawei_flasher識別到設備,我也沒試成功。
  • balong_flash使用模式4下載
    只在windows成功過,linux下的com port只有1個,沒得選,無法成功。

老話一句

刷機是個人行為,能力不足,千萬不要嘗試,搞壞了,變磚了,不喜歡了,我也沒辦法幫你還原,刷成3G網卡模式我也很滿意,沒再去研究怎麼刷回去,有興趣/須求的,就自己去google吧。


25 則留言:


  1. 版主您好

    原本我也是用HUAWEI-E3372h-607來連我的筆電
    但最近遇到一個很大難題也剛好看到你這篇文
    希望你能幫我解決困難
    這支HUAWEI-E3372h-607剛購回時到上個月一切使用正常
    但到11月中時 筆電更新Window10 1709版本後
    (什麼〝秋季創作者更新〞)
    不更新則以 一更新整死人......
    搜尋網路上一堆人一更新這版本後均遇上許多種類災情
    但個人所遇情況有所不同
    極大困擾是..... 更新後讓我這隻HUAWEI-E3372h-607居然無法正常連線
    透過Windows網路診斷得到的答案是 〝區域連線〞沒有有效的IP設定
    遍尋網路上相關文章均得不到解決之道(諸如更新驅動的方法也試過)
    當中以為是這隻E3372h-607掛點升天
    但昨天挖出另一台舊筆電做交叉比對後
    得出顯然不是HUAWEI-E3372h-607的問題

    筆電型號為ASUS X550JX
    開啟Wi-Fi連結手機網路熱點均連線正常
    但自系統更新後
    HUAWEI-E3372h-607
    在這部筆電上該有的連線功能幾乎停擺
    以上問題希望能夠在此獲得解套,謝謝!

    回覆刪除
    回覆
    1. 不好意思,這個問題我就不清楚了。
      因為我主要的應用是接在Linux server上,分享給內網使用。

      刪除
  2. 請問樓主!有機會從3G 網卡模式刷回去 RNDIS模式嗎?

    回覆刪除
    回覆
    1. 應該是有機會,不過我就沒研究了。

      刪除
    2. 可以刷回
      要用原廠的刷機工具,然後使用這個網站計算出刷機密碼
      http://huaweicodecalculator.com/

      在刷的時候仔細觀察燈號,綠色快速閃爍當下直接在程序管理員將刷機軟體關閉,這樣他就會停留在刷機模式
      "請不要在這時候拔掉 會再起不能"
      之後就使用版主的balong_flash重新將檔案推進去就好

      以上動作風險非常大,請小心使用

      刪除
    3. @_@ 光用看的就覺得很危險…

      刪除
    4. 我用算出的刷機密碼 官方的刷機工具也是一直說密碼錯誤

      刪除
    5. 刷機密碼要選對型號,手動輸入E3372h

      刪除
  3. 請問版大,依您文中"balong_flash使用模式4下載只在windows成功過,linux下的com port只有1個,沒得選,無法成功。"的意思,是您在整個研究的結果,最後是將E3372h-607設置到模式4後,在windows系統中使用balong_flash軟體下載Firmware並燒錄成功,是嗎?
    感謝您費心撰寫了這篇,讓我重燃了一絲希望,因為小弟也正為AP無法設置DDNS困擾中。。。

    回覆刪除
    回覆
    1. 經過反覆的推敲比對大大的文章後,終於成功了,非常感謝大大的文章。
      網上研究E3372h-607回no hilink的,只查到大大這篇,非常珍貴...

      刪除
    2. 不過如果是要DDNS,4G好像都是躲在NAT後面,取得的是private IP,應該一樣是無解

      刪除
    3. 我的 3372h hilink mode ddns ip 是正常的 LTE public ip,所以應該不會無法設置的(最內層的 synology 去 google dns 及 synology.me 去自動更新)
      不過 port forwarding 在 h mode 仍然是不 work 的,我用不同設備交叉測試,3372h UI 的 dmz/forwarding 完全不起作用

      刪除
    4. "我的 3372h hilink mode ddns ip 是正常的 LTE public ip"
      你是要說你的4G網路配的是Public IP嗎?那麼,恭喜你。

      刪除
  4. 進入模式4後,確認LED燈會快速連閃,進入Command line,至準備好的Firmware處,輸入 balong_flash /p4 XXXXXXXXX.BIN,就會開始燒錄新的BIN
    其中/p4的4,是指UI Interface的COM port號碼。

    你好,我在最後時失敗了,我有確認指示UI Interface的COM port,不過balong_flash沒有成功,錯誤訊息都是一堆亂碼,無從解讀如下所示:

    ??? ????? ????????: 9 (ONLY_FW)

    ???????? ???????: 2958 ????
    ??? ????????? ?????: 778A8D175E602B7B779D9E05C330B5279B0661BF2EED99A20445B366D6
    3DD697
    ?????? ????????: 21.315.01.00.910
    ?????????: BV7R11HS
    ???? ??????: 2017.02.07 09:12:11
    ?????????: ?????? 1, ??? ????????????: HWEW11.1
    ! ???????????? ?????? ???????? ???????? - [26]^DLOADVER?

    回覆刪除
    回覆
    1. 嗯…我也只有1台,成功也只有1次…

      刪除
    2. 您好,我有成功了,不過不知道如何更新回原本的firmware,請問您有試過嗎?

      刪除
    3. 我按照原本的方法去更新E3372UPDATE_22.317.01.00.210.BIN,但是更新到一半都會跳掉。

      刪除
    4. 沒有,留言中有"徐凌羽"留言可以刷回,有興趣可以試試。
      不過,據其所言,有機會變磚。

      刪除
  5. 我是有找回刷回去的方法了 保證成功
    只是要拆外殼 利用boot pin
    刷一個修改過的安全模式bootloader
    用這個bootloader去讀取運算datalock解鎖碼所需要的資料 再用算號器去運算
    (那個bootloader是有運算解鎖碼的功能 不過以網卡那個貧弱的cpu 可能要放一個禮拜吧才能算出來吧)

    回覆刪除
  6. 哥,是不是可以用有償服務的方式請您協助完成這個刷機,難度實在有點高。

    回覆刪除
    回覆
    1. 抱歉,我沒辦法處理,要請你看看上面留言的朋友有沒有興趣了。
      個人當初在刷的感覺是它的版本也相當的多,事隔如此久,這文還能不能成功都是兩說之事了。

      刪除
  7. 請教板大,在Debian下主機板內建雙網卡(eth0/eth1)與E3372h(eth2)無法同時使用的可能原因?

    回覆刪除
  8. 無法同時使用?或許可以從dmesg找到些訊息。

    回覆刪除
  9. 請問你有知道在webui如何刷成支持USSD?

    回覆刪除
  10. 請問可否提供韌體,官網連結都找不到韌體了!

    回覆刪除