×

Raspberry PiにLazuriteをインストールする

2019-05-31

今回は、2019年4月8日に公開されたRasbianでLazuriteをセットアップする方法をまとめました。
今回の記事は、Raspberry PiでLazuriteを使用できるようする全3回のドキュメントの3回目の記事になります。
■デスクトップ環境
1. Raspberry Pi環境の立ち上げ
2.Raspberry Piの初期設定(今回の記事)
3.Lazurite用ソフトウエアのインストール(今回の記事)
■LITE版
4. Raspbian Strech LiteにLazuriteをインストール

今回の作業をする前に、上記 1., 2.の作業は行ってください。

Lazuriteのインストーラをダウンロードする。

cd ~
git clone git://github.com/LAPIS-Lazurite/LazuriteInstaller

のコマンドを実行して、Lazuriteのインストーラをダウンロードしてください。

使用するIOの設定ファイルを書き換える

Raspberry Piのメニュの設定から「Raspberry Piの設定」を選択

「インタフェース」のタブをクリックし、SPIとI2Cを有効にする

 

setup.shの実行を行う。

以下のコマンドを実行してください。

cd LazuriteInstaller
./setup.sh

このスクリプトは、以下の作業を行っています。

  • Raspberry Piのカーネルファイルをダウンロードして、Lazuriteの無線用ドライバをコンパイルする環境を構築する
  • IOの設定ファイル(DTBファイル)をビルドして、起動時に読み込まれるようにする

完了したら再起動を行ってください。

 

install.shの実行を行う

再起動したら以下のコマンドを実行してください。

cd LazuriteInstaller
./install.sh

(おまけ)トラブルシューティング

lazdriver.koが正しくできていない場合

2つのケースが考えられます。

① raspberry piのカーネルバージョンが古い

この場合は、カーネルファイルのビルド時に “timer_setup …”といったメッセージが表示されます。

この場合は、次のパッチコマンドでソースコードを旧バージョンに戻してからビルドしてください。

#フォルダの移動
cd ~/driver/LazDriver
# パッチを当てて旧バージョンに戻す
patch -u hwif/hal-lzpi.c < hal-lzpi.patch;
# ローダブルカーネルモジュールのビルド
make

② sudo apt-get upgradeをしたあとに再起動しなかった

その時はこのようなワーニングメッセージが出ます。


pi@raspberrypi:~/driver/LazDriver $ make
echo drv-lazurite.c subghz_api.c aes/aes.c mach.c arib_lazurite.c macl.c phy/phy_ml7396.c hwif/hal-lzpi.c hwif/random-lzpi.c hwif/spi-lzpi.c hwif/i2c-lzpi.c 
drv-lazurite.c subghz_api.c aes/aes.c mach.c arib_lazurite.c macl.c phy/phy_ml7396.c hwif/hal-lzpi.c hwif/random-lzpi.c hwif/spi-lzpi.c hwif/i2c-lzpi.c
make -C /lib/modules/4.19.42-v7+/build SUBDIRS=/home/pi/driver/LazDriver modules
make[1]: *** /lib/modules/4.19.42-v7+/build: そのようなファイルやディレクトリはありません. 中止.
Makefile:32: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2


その場合は、linuxのカーネルバージョンに対応したソースコードが”/lib/modules”に無いのが原因です。

pi@raspberrypi:~/driver/LazDriver $ cd /lib/modules/
pi@raspberrypi:/lib/modules $ ls
4.19.42+ 4.19.42-v7+
pi@raspberrypi:/lib/modules $ uname -r
4.19.42-v7+
pi@raspberrypi:/lib/modules $ 

その場合は、以下のように対処してください。


#カーネルバージョンに対応したソースコードのフォルダを作成
pi@raspberrypi:/lib/modules $ sudo mkdir 4.19.42-v7+
pi@raspberrypi:/lib/modules $ cd 4.19.42-v7+

#sorceとbuildのシンボリックリンクを作成 
pi@raspberrypi:/lib/modules/4.19.42-v7+ $ sudo ln -s /home/pi/linux source
pi@raspberrypi:/lib/modules/4.19.42-v7+ $ sudo ln -s /home/pi/linux build

#sorceとbuildのシンボリックリンクの確認
pi@raspberrypi:/lib/modules/4.19.42-v7+ $ ls -l
合計 0
lrwxrwxrwx 1 root root 14 5月 30 20:10 build -> /home/pi/linux
lrwxrwxrwx 1 root root 14 5月 30 20:10 source -> /home/pi/linux

#lazdriverのビルド
pi@raspberrypi:/lib/modules/4.19.42-v7+ $ cd ~/driver/LazDriver
pi@raspberrypi:/lib/modules/4.19.42-v7+ $ make

ビルドはできたがログメッセージがグチャグチャになっている場合

2.の作業を忘れた、3. の作業に失敗した、といった可能性があります。

あらためて、2.と3.の作業をやり直してください。