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の設定ファイルを書き換える
2019/7/10に更新したLazuriteInstallerでは自動設定するように修正をしました。
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.の作業をやり直してください。