OrangePi-PCを使ってみる

デバイスドライバーを変更する

こちらでUSB-Wifiのセットアップを紹介していますが、 ArmbianではRT3070(148f:3070 Ralink Technology)のUSBドングルを認識しません。
dmesgに以下のエラーが表示されます。


そこで、母艦でrt2800usbドライバーソースを更新し、母艦でインストールイメージの再作成を行うことで、
Wifiが動作するようになりましたので紹介します。

インストールイメージの再作成については前回紹介しています。
最初に「FORCE_CHECKOUT="yes"」で一度だけインストールイメージの作成を行います。
「FORCE_CHECKOUT="yes"」を実行すると、インストールイメージの作成に必要な各種ツール、
ヘッダーファイルなどを自動的にダウンロードします。

rt2600usbドライバーの変更手順についてはこちらのページで紹介されています。
https://www.geekamole.com/2013/rt2800usb-fix-for-ralinkmediatek-3070-gentoo-linux/

上記のページに従って以下の2つのファイルを修正します。
$HOME/sources/linux-sun8i/sun8i/drivers/net/wireless/rt2x00/rt2800lib.c
$HOME/sources/linux-sun8i/sun8i/drivers/net/wireless/rt2x00/rt2800.h

rt2800lib.cの修正は、「RF5370」と書かれている行の下に「RF3070」を片っ端から追加していくだけです。

ソースファイルの修正が終わったら「FORCE_CHECKOUT="no"」でインストールイメージの再作成を行い、
出来上がったイメージでOrangePi-PCを起動します。
dmesgからエラーが消えました。


wifiモジュールを認識しています。。


次にRT3070用のFirmwareをインストールします。

sudo apt-get install firmware-ralink

これをインストールしないと、再起動後に以下のメッセージが表示されます。


最後に「/etc/network/interfaces」を修正して再起動すればWifiが使えるようになります。
また、「/etc/modules-load.d/modules.conf」に8198esや8192cuが登録されているときはこれをコメン トアウトします。




今回はArmbianのカーネルに含まれているドライバーの変更ですが、
カーネルに含まれていないドライバーを追加する方法はまだ分かりません。

次回
はハードウェアPWMを使って、サーボモータを動かしてみます。