要幫XC60電池重置,一般有三個辦法
因為吃飽太閒,我用了中間人攻擊偷看VIDA如何RESET,現在偷看封包熟練多了,一個小時後就取得封包啦
0x726 [8] 05 31 01 40 26 1E 00 00
手邊有ELM327想做實驗,可以下載ELM327 Terminal照底下命令重置。 不過ELM327經常會實作不完整不能用。也許我可以銷售QQMLAB認證玩具,看能不能賺錢買車做實驗(笑)
- ATSP0 // protocol auto detection
- ATSH726 // Set header = 0x726
- 310140261E // Send packet payload
這個封包是汽車通訊標準介面,UDS,Unified Diagnostic Service,工業標準ISO 14229-1。照著WIKI或著GOOGLE撈資料,很快就能解析他
- 0x726代表CEM,Central Electronic Module,中央電腦模組;VOLVO車的CEM管很多事,包山包海,電池也是業務之一。要重置電池,發命令給CEM合情合理的
- [8]代表封包長度是8byte,嵌在CAN bus的物理層header。VOLVO car的封包長度一律是8,就算裡面有些資料沒用,也會塞0
- 05310140261E0000
05代表8byte裡,5byte有意義,尾巴2byte補0 - 05310140261E0000
Service ID = 0x31,代表Remote Activation of Routine,叫控制器做某件事 - 05310140261E0000
當Service ID是0x31,這裡01代表start;我們要電池歸零,啟動服務符合直覺;如果是02代表結束某個服務;程式設計師的直覺告訴我,取消某個操作的軟體一般很難寫 - 05310140261E0000
40261E是VOLVO制定的,代表重置電池感應器。這裡岔題聊一下UDS框架,框架制定ECU通訊規格,好比郵局制定收件者寫右邊;至於通訊內容就留給廠商自己制定。這樣保證不同廠商之間的相容性,同時也兼顧各家需要的實作
去電池店用X431做電腦歸零,診斷電腦發送此封包,效果和和原廠一樣;去原廠會用VIDA歸零順便掃錯誤碼,有症狀能一起處裡。兩個方法都能換電池,省時省力,也沒有肌肉拉傷的風險(我欠鍛鍊)
當汽車收到上述封包後,會給個回應如下。有興趣可以照著UDS規範解析他
- 72E [8] 05 71 01 40 26 10 00 00
看完整串以後
回覆刪除我還是用手按一按
這樣子開車之前比較有儀式感
按一按可以解決的事,咱們別搞得太複雜
刪除