SMS和GPRS:使用n_gsm在BeagleBone Black上复用GSM模块
问题描述:
我使用simcom 800H蜂窝模块和我的BeagleBone Black非常类似于流行的simcom 900.我想用simcom模块做两件主要事情SMS和GPRS:使用n_gsm在BeagleBone Black上复用GSM模块
- 使用AT命令配置设置并发送和接收消息
- 使用ppp通过GPRS在BBB上启用互联网访问。
现在明显的问题是我不能同时做两个。我做了网络搜索,发现下列职位
第二连杆一直是特别有用的用户的一个使用了这个repository的代码。
常见的主题是使用n_gsm
模块。我试图使用modprobe n_gsm
加载模块,但失败了。就像用户提到的那样,BBB也不包含n_gsm模块作为默认模块,所以我必须去创建一个新的内核,并将n_gsm作为模块添加。不过,我将n_gsm
作为模块出现问题。下面是我遵循的步骤
- 我跟着this教程,并下载了我的BBB的正确的linux头。
我试图编译模块作为一个Linux LKM(可加载内核模块)如下
我下载了n_gsm.c从here
- 的
n_gsm.c
文件有一些包括在我BBB失踪。所以我下载了它们。 - 我创建了一个makefile。如图所示我的目录有
n_gsm.c
和Makefile
的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
我是能够成功地加载不同模块如图this (内核模块的hello世界)。我也不明白为什么我需要重新编译整个Linux内核来创建LKM。
我觉得我犯了一些明显的错误,因为它看起来我们人们能够 成功地加载此模块。
这是加载模块的正确方法,特别是
n_gsm
。 这个没有太多的文档/教程。有没有更简单的方法来做到这一点,以防万一所有这些不锻炼?我真的很喜欢用于GPRS的AT命令和用于GPRS的PPP(而不是两者的AT命令)。
任何提示和建议将非常有帮助!
EDIT1:我的BBB
- 内核细节 - Linux的beaglebone 3.8.13-bone79
- 发行版 - Debian的7.9(喘息)
编辑2:添加细节关于GSM模块
- This是我使用的GSM中断板。
- 它使用this模块,您可以检出command manual和multiplexing application note。
更新1
- 感谢@Serge,我是能够建立
n_gsm
模块,并添加它,而无需重新编译内核。但是,我仍然无法使GSM模块进入多路复用模式。 -
AT+CMUX=?
,AT+CMUX?
和AT+CMUX=
在sim800H模块上产生错误。 - 这里是去窃听我已经做了
- 与硬件/软件,并没有绕流播放。没有在任何模式下工作。
- 设置TE-TA固定本地利率
AT+IPR
为auto,115200,仍AT+CMUX
生成错误 - 另一SIM900模块测试
AT+CMUX?
和工作。
任何想法为什么它不适用于sim800H?
您在BB上使用的是什么发行版? – Serge
Debian wheezy。我会尽快编辑这篇文章以添加更多关于BBB的细节。 – am3
模块如何连接:通过uart或usb? – Serge