上個星期臨時被叫去處理一個號稱很緊急的事情
我們產品使用的 3G 模組在連續(隨機發生)的對它 power off, on 之後,會發生模組對上層的 AT command
不再有任何回應 除非我們再一次的 power off, on
原本處理的工程師解決的方式就是在上層 framework 加入 retry 的機制 (不好...)
事實上就算有 retry 機制,客戶還是需要自己去手動 power off, on
先就硬體設計上來看 module 有 reset pin 可以控制,但這邊設計的時候並沒有拉到 app processor 端
在軟體上面的 power 機制更是離譜,原先負責的人並沒有看過 spec 而是完全由硬體的人告知,該如何控制
當初負責 debug 的人,完全搞錯方向,把重點放在 framework 層
所以第一件事就是先根據 spec 上面的 power off, on timing sequence 去控制 pin
另外也請硬體工程師幫忙拉線方便可以透過示波器觀察訊號
接著就跑簡單的 script 連續的對 module 做開關機的動作,觀察 3G 模組行為
兩個大問題:
有可能發生 power off 變成 on, power on 變成 off 的反向行為,很不可思議,原廠 FAE 也不相信
直到我將圖形寄給他,他回報給大陸後,才承認大陸工程師說的確有這個問題,解決方式是 timing 要改
另一個問題是 AT command 會 "No respond" 的 timeout issue 則是請對方 FAE 去翻他家的 release note
果然新版的 firmware 有 highlight 該問題...
沒有留言:
張貼留言