LANドライバ(最新版)のインストール
ぶっちゃけ、素のままLattepanda上でDebianを使ってると、とにかくLANが不安定です(networkingサービスが落ちまくりですwww)。
最低限のこととして、LANドライバを最新化したいと思います。
LANドライバのダウンロード
LattepandaではRealTekのr8152を使用しています。なのでRealTekのホームページからドライバをダウンロードします。
Realtek USB FE / GBE / 2.5G / Gaming Ethernet Family Controller Software
上記のホームページの「Unix (Linux)」からドライバをダウンロードします。
パソコンからダウンロードしたなら、Lattepandaの適当なディレクトリに転送します。
Lattepandaのブラウザからダウンロードしたときは、だいたい「ダウンロード」ディレクトリに保存されます。
コンパイル環境のインストール
ドライバをコンパイルするので、コンパイル環境を整えます。
- ターミナルの起動
GNOMEの場合ですが…画面左上の「アクティビティ」から、左下の「アプリケーションを表示する(点が9つあるアイコン)」をクリックします。
そしたら、下の方の「ユーティリティ」をクリックすると「端末」があるので、それをクリックします。 - 最新化
ひとまず、Debian周りの最新化を行います。sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
- カーネルバージョンを調べる
下記のコマンドを実行してカーネルのバージョンを調べます。以下の様な結果が出るかと思いますuname -r
4.9.0-9-amd64
- アプリのインストール
コンパイルに必要なアプリケーションをインストールします。上記の例に基づくと以下のようなコマンドになります。sudo apt-get install libelf-dev build-essential linux-headers-[uname -rの結果]
sudo apt-get install libelf-dev build-essential linux-headers-4.9.0-9-amd64
下記コマンドで良いみたいです…。sudo apt-get install libelf-dev build-essential linux-headers-`uname -r`
- もし…DebianのDVDを入れろと言ってきたら…
ブラウザを起動して、Debianのサイトからインストールに使用したisoをダウンロードして、それを「/media/cdrom」にマウントします。isoをダウンロードした後に、ダウンロードしたファイルがあるディレクトリで以下のコマンドを実行してください。マウントを外す場合は以下のコマンドです。sudo mount -o loop -t iso9660 debian-9.9.0-amd64-netinst.iso /media/cdrom
sudo umount /media/cdrom
LANドライバのインストール
以下、「ダウンロード」ディレクトリに保存した前提で話を進めます。
(参考サイトそのままの内容ですwww)
- 解凍
ターミナルからダウンロードディレクトリに移動して、以下のコマンドを実行します。cd ~/ダウンロード tar xf 0008-r8152.53-2.09.0.tar.bz2 #ダウンロードしたファイル名に置き換えてください cd r8152-2.09.0 #解凍されたディレクトリ名に置き換えてください
- コンパイルしてみる
以下のコマンドを実行して、コンパイルしてみます。make -j2
- ドライバファイルのバージョンを確認します
以下のコマンドで、ドライバのバージョンを確認してみます。最新のバージョンが表示されればOKです。ちなみに…今動いているドライバのバージョンは、以下のコマンドで見ることができます。sudo modinfo ./r8152.ko
sudo modinfo r8152.ko
- インストール
以下のコマンドで、リアルにインストールします。sudo make install sudo depmod -a
- ベンダーIDとプロダクトIDの取得
以下のコマンドで「ベンダーID」と「プロダクトID」を取得します。こんな風に表示されて…lsusb
RealTekのところを見ると、ベンダーIDが「0bda」でプロダクトIDが「8152」であることがわかります。Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0bda:8152 Realtek Semiconductor Corp. Bus 001 Device 005: ID 0411:02cc BUFFALO INC. (formerly MelCo., Inc.) Bus 001 Device 004: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID) Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- カーネルモジュールルールの追加
以下のコマンドで「rtl_usb.conf」ファイルを新規作成します。ファイルの中に以下を記入します。sudo nano /etc/modprobe.d/rtl_usb.conf
「ctrl+x」から「y」して「Enter」で保存します。alias usb:v0bdap8152d*dc*dsc*dp*ic*isc*ip*in* r8152
- 改めてdepmod
改めて以下のコマンドを実行します。sudo depmod -a
ちなみに…
ドライバの更新をすると、少しは安定します。が、やっぱり不安定です。
フォーラムを見ていると、「macアドレスを偽装しろ」と書かれています[1]。
MACアドレスの偽装を試したい方は、以下を参考にすると良いかもです…
MAC アドレス偽装 - ArchWiki(ArchLinuxのページですが…)
私はそんな強引なのは嫌なので、結局ASIXの「AX88179」チップを積んだUSB-LANアダプタを買いました。
まだ、購入したばかりなので様子見ですが…今のところ安定しています。
参考サイト
How to properly install RTL8153 driver on Linux - PCsuggest