2016-06-07 95 views
1

我使用simcom 800H蜂窩模塊和我的BeagleBone Black非常類似於流行的simcom 900.我想用simcom模塊做兩件主要事情SMS和GPRS:使用n_gsm在BeagleBone Black上覆用GSM模塊

  • 使用AT命令配置設置併發送和接收消息
  • 使用ppp通過GPRS在BBB上啓用互聯網訪問。

現在明顯的問題是我不能同時做兩個。我做了網絡搜索,發現下列職位

  1. Using GPRS and GSM Simulatneously
  2. Sending AT commands to SIM900 whilst pppd is active

第二連桿一直是特別有用的用戶的一個使用了這個repository的代碼。

常見的主題是使用n_gsm模塊。我試圖使用modprobe n_gsm加載模塊,但失敗了。就像用戶提到的那樣,BBB也不包含n_gsm模塊作爲默認模塊,所以我必須去創建一個新的內核,並將n_gsm作爲模塊添加。不過,我將n_gsm作爲模塊出現問題。下面是我遵循的步驟

  1. 我跟着this教程,並下載了我的BBB的正確的linux頭。
  2. 我試圖編譯模塊作爲一個Linux LKM(可加載內核模塊)如下

  3. 我下載了n_gsm.c從here

  4. n_gsm.c文件有一些包括在我BBB失蹤。所以我下載了它們。
  5. 我創建了一個makefile。如圖所示我的目錄有n_gsm.cMakefile

的Makefile

obj-m += n_gsm.o 

all: 
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules 

clean: 
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 

這產生了錯誤n_gsm errors

  • 我是能夠成功地加載不同模塊如圖this (內核模塊的hello世界)。我也不明白爲什麼我需要重新編譯整個Linux內核來創建LKM。

  • 我覺得我犯了一些明顯的錯誤,因爲它看起來我們人們能夠 成功地加載此模塊。

  • 這是加載模塊的正確方法,特別是n_gsm這個沒有太多的文檔/教程。

  • 有沒有更簡單的方法來做到這一點,以防萬一所有這些不鍛鍊?我真的很喜歡用於GPRS的AT命令和用於GPRS的PPP(而不是兩者的AT命令)。

任何提示和建議將非常有幫助!

EDIT1:我的BBB

  1. 內核細節 - Linux的beaglebone 3.8.13-bone79
  2. 發行版 - Debian的7.9(喘息)

編輯2:添加細節關於GSM模塊

  1. This是我使用的GSM中斷板。
  2. 它使用this模塊,您可以檢出command manualmultiplexing application note

更新1

  1. 感謝@Serge,我是能夠建立n_gsm模塊,並添加它,而無需重新編譯內核。但是,我仍然無法使GSM模塊進入多路複用模式。
  2. AT+CMUX=?,AT+CMUX?AT+CMUX=在sim800H模塊上產生錯誤。
  3. 這裏是去竊聽我已經做了
    1. 與硬件/軟件,並沒有繞流播放。沒有在任何模式下工作。
    2. 設置TE-TA固定本地利率AT+IPR爲auto,115200,仍AT+CMUX生成錯誤
    3. 另一SIM900模塊測試AT+CMUX?和工作。

任何想法爲什麼它不適用於sim800H?

+0

您在BB上使用的是什麼發行版? – Serge

+0

Debian wheezy。我會盡快編輯這篇文章以添加更多關於BBB的細節。 – am3

+0

模塊如何連接:通過uart或usb? – Serge

回答

1

通過從正在使用的內核版本下載beaglebone's kernel source repository的n_gsm.c解決了問題中的問題。

+0

我能夠加載模塊和東西。但是,讓gsm模塊工作在多路複用模式是一個問題(請參閱更新1)。任何指針? – am3

+0

不幸的是,我沒有這樣的模塊,所以我不能重現這種情況,對不起。 – Serge

相關問題