2

BeagleBone Black で simcom 800H セルラー モジュールを使用しています。これは、人気のある simcom 900 と非常によく似ています。simcom モジュールで 2 つの主なことを行いたいと考えています。

  • AT コマンドを使用して設定を構成し、メッセージを送受信します
  • ppp を使用して、GPRS を介して BBB でインターネット アクセスを有効にします。

明らかな問題は、両方を同時に行うことができないことです。ネットで検索したら以下の記事を見つけました

  1. GPRS と GSM を同時に使用する
  2. pppd がアクティブなときに AT コマンドを SIM900 に送信する

2 番目のリンクは、ユーザーの 1 人がこのリポジトリのコードを使用した場合に特に役立ちます。

共通のテーマは、n_gsmモジュールを使用することです。を使用してモジュールをロードしようとしましたが、modprobe n_gsm失敗しました。ユーザーが言及したように、BBB にもデフォルトで n_gsm モジュールが含まれていないため、n_gsm をモジュールとして追加した新しいカーネルを構築する必要がありました。n_gsmただし、をモジュールとして含めることに問題があります。これが私が従った手順です

  1. このチュートリアルに従い、BBB に適した Linux ヘッダーをダウンロードしました。
  2. 次のように、モジュールを Linux LKM (Loadable kernel module) としてコンパイルしようとしました。

  3. ここから n_gsm.c をダウンロードしました

  4. n_gsm.cファイルには、私の BBB にないインクルードがいくつか含まれていました。だから私はそれらをダウンロードしました。
  5. メイクファイルを作成しました。私のディレクトリに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 エラー

  • これ(カーネル モジュールのハロー ワールド) に示すように、別のモジュールを正常に読み込むことができました。また、LKM を作成するために Linux カーネル全体を再コンパイルする必要がある理由もわかりません。

  • 私たちの人々がこのモジュールを正常にロードできたように見えるので、いくつかの明らかなエラーを犯しているように感じます。

  • これはモジュールをロードする正しい方法ですか、具体的にはn_gsm. これに関するドキュメント/チュートリアルはあまりありません

  • これがうまくいかない場合に備えて、この多重化を行うより簡単な方法はありますか? 私は、SMS 用の AT コマンドと GPRS 用の PPP のアイデアが本当に気に入っています (両方の AT コマンドではなく)。

ヒントや提案は本当に役に立ちます!

Edit1 : 私の BBB に関する詳細

  1. カーネル - Linux ビーグルボーン 3.8.13-bone79
  2. ディストリビューション - Debian 7.9 (wheezy)

編集2:GSMモジュールに関する詳細を追加

  1. これは私が使用している GSM ブレイクアウト ボードです。
  2. このモジュールを使用しており、コマンド マニュアル多重化アプリケーション ノートをチェックアウトできます。

更新 1

  1. @Serge のおかげでn_gsm、カーネルを再コンパイルせずにモジュールをビルドして追加することができました。ただし、GSM モジュールをマルチプレクサ モードにすることはまだできていません。
  2. AT+CMUX=?、sim800Hモジュールでエラーを生成しましたAT+CMUX?AT+CMUX=
  3. これが私が行ったデバッグです
    1. ハードウェア/ソフトウェアで遊んでいて、フローがありません。どのモードでも機能しませんでした。
    2. TE-TA 固定ローカル レートAT+IPRを auto、115200 に設定してもAT+CMUXエラーが発生する
    3. AT+CMUX?別の sim900 モジュールでテストされ、動作します。

sim800H で動作しない理由は何ですか?

4

1 に答える 1

1

問題の make の問題は、使用中のカーネル バージョンの beagleboneのカーネル ソース リポジトリから n_gsm.c をダウンロードすることで解決されました。

于 2016-06-07T03:42:11.377 に答える