【问题标题】:SMS and GPRS: Multiplexing GSM module on BeagleBone Black using n_gsmSMS 和 GPRS:在 BeagleBone Black 上使用 n_gsm 复用 GSM 模块
【发布时间】:2016-06-08 11:11:21
【问题描述】:

我正在使用 simcom 800H 蜂窝模块和我的 BeagleBone Black,它与流行的 simcom 900 非常相似。我想用 simcom 模块做两件主要事情

  • 使用 AT 命令配置设置和收发消息
  • 使用 ppp 通过 GPRS 在 BBB 上启用 Internet 访问。

现在明显的问题是我不能同时做这两件事。我做了一个网络搜索,发现了以下帖子

  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. 我从here下载了n_gsm.c

  4. n_gsm.c 文件有一些包含在我的 BBB 中缺失的内容。所以我下载了它们。
  5. 我创建了一个生成文件。我的目录有 n_gsm.cMakefile

生成文件

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(内核模块的你好世界)所示。我也不明白为什么要重新编译整个linux内核来创建LKM。

  • 我觉得我犯了一些明显的错误,因为看起来我们人类能够做到 成功加载此模块。

  • 这是加载模块的正确方法,特别是n_gsm这方面的文档/教程不多

  • 有没有更简单的方法来进行这种多路复用,以防所有这些都不起作用?我真的很喜欢用于 SMS 的 AT 命令和用于 GPRS 的 PPP 的想法(而不是两者的 AT 命令)。

任何提示和建议都会非常有帮助!

Edit1:关于我的 BBB 的详细信息

  1. 内核 - Linux beaglebone 3.8.13-bone79
  2. 发行版 - Debian 7.9 (wheezy)

编辑 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 设置为自动,115200 和 AT+CMUX 仍然会生成错误
    3. 在另一个 sim900 模块上测试了 AT+CMUX? 并且有效。

知道为什么它不适用于 sim800H 吗?

【问题讨论】:

  • 你的 BB 使用什么发行版?
  • Debian 喘不过气来。我将尽快编辑该帖子以添加有关 BBB 的更多详细信息。
  • 模块如何连接:通过uart还是usb?
  • 通过 uart。 AT 命令和 PPP 单独工作。
  • 我明白了。那么除了解决您尝试编译的源代码的问题之外,我没有任何建议。对不起。

标签: gsm at-command beagleboneblack gprs ppp


【解决方案1】:

问题中的 make 问题已通过从beaglebone's kernel source repository 下载正在使用的内核版本的 n_gsm.c 解决。

【讨论】:

  • 我能够加载模块和东西。但是,让 gsm 模块在 mux 模式下工作是一个问题(请参阅更新 1)。有什么指点吗?
  • 很遗憾,我没有这样的模块,所以无法重现场景,抱歉。
猜你喜欢
  • 1970-01-01
  • 2013-04-11
  • 2013-11-18
  • 2016-06-23
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多