OpenMoko 的 gsmd:Linux 手機的 GSM Modem 通訊程式

jollen 發表於 February 24, 2007 10:38 PM

Linux 手機是 Embedded Linux 的重要應用項目之一,要能具備「手機」的功能,最基本的規格之一當然就是要支援 GSM(Global System for Mobile Communications)標準,也就是我們稱之為 2G 的行動電話標準。

GSM 系統使用一種稱之為 GSM modem 的裝置(也就是我們耳熟能詳的「數據機」)來做電話的「外撥(dial out)」與「接聽(answer)」功能。因此,Linux 手機要能打電話與接聽電話,必須將 target device 外接 GSM modem,並透過 GSM modem 的指令集(AT command)來對 GSM modem 下撥號或接聽指令。

GSM modem 與 target device 是以 UART(RS-232)介面連接,因此需要一個與 GSM modem 溝通的 RS-232 通訊程式。在此次 OpenMoko 所釋出的原始碼裡頭,就包含了一個 GSM modem 的通訊管理程式,稱為 gsmd(GSM daemon);此外,gsmd 也包含一個 libgsmd 的 API 程式庫供開發者使用。

OpenMoko 也提供一個 ' libgsmd-tool' 的展示範例,此程式可執行 Power On/Off、answer incoming call、dial out 與 hangup call(掛斷)的基本功能。同時,'libgsmd-tool' 也提供 AT 指令集模式(atcmd mode),讓我們可以「直接」對 GSM modem 下達 GSM 07.07 標準的指令集。

gsmd 的使用說明,已出現在 OpenMoko 的 wiki 裡了,可參考 [OpenMoko's Wiki] 有關 [Gsmd] 的部份。

延伸閱讀

讀者留言 (2)

  • akibo 於 February 26, 2007 20:00:

    OpenMoko have lots of work need to do. Currently they only implement three unsolicited event. But there are not only three unsolicited event need to handle on TI Calypso chip.

    They should get help from TI asap. Otherwise, I do not think they can MP this year.

  • jollen 於 April 10, 2007 15:57:

    的確,希望他們繼續努力下去,期待真正開放源碼的 Linux phone ;-)

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。