Just beat IT

情報系学生が技術的なことから昨日の夕飯のことまで

【解決】USB無線LANアダプタのドライバインストールでエラーが発生した話

はじめに

どうも~,GWは実家でのんびりするロピタルです!

本記事では,無線LANアダプタの交換による通信速度の変化について書かせてもらいます.

(無線LANアダプタのドライバインストールに手こずっている人は,参考になるかも!?)

目次

前置き

前回の記事にも書いたんですが,我が家にはUbuntuで動く計算機がファイル共有サーバとして動いております.

f:id:lhopital:20190425024445j:plain
前記事の図

この計算機には無線LANカードが内臓されておらず,USB無線LANアダプタを挿して通信を行っています.(サーバは有線が理想ですが,家でコードがごちゃごちゃするのも嫌なので…)

↓現在使用しているアダプタがこれなんですが…

規格値でも150Mbpsまでしか出ない,ちょっと残念な品物なわけです.

そこで今回は,このアダプタを変更して,通信速度の改善を試みます!

現在の通信速度

毎度のことですが,pingを飛ばしてみます('ω')

ping -l 10000 192.168.11.7 -n 10

192.168.11.7 に ping を送信しています 10000 バイトのデータ:
192.168.11.7 からの応答: バイト数 =10000 時間 =154ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =244ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =149ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =58ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =6ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =208ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =105ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =116ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =230ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =139ms TTL=64

192.168.11.7 の ping 統計:
    パケット数: 送信 = 10、受信 = 10、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 6ms、最大 = 244ms、平均 = 140ms

20000*8 / 0.14 ≒ 1.14 Mbps ってとこですね"(-""-)"

上りとか下りとか考慮しないとすると,1GBのファイルを送るのに2時間程度かかります(笑)

これは由々しき事態でございますわ!

変更

↓新しく導入するアダプタがこちら.

[asin:B07GDB2GY4:detail]

アンテナがあって邪魔感は否めませんが,規格値では600Mbpsと,以前のものの4倍です.

さらに,Linux対応と書かれているので安心して購入できました.

では早速,導入していきます!

ドライバのインストール

ドライバのインストール用DVDが付属しているので簡単な作業ですね!









と,思っていたのですが…

説明書,英語で書かれてる問題

DVD内にドライバインストールの手順が書かれているのですが,全て英語なんです…

純日本人の私にはお手上げです

f:id:lhopital:20190428121012j:plain

まあ,頑張って読んでいくしか無いんですけどね..

ドライバどっちか分からん問題

DVDでは2種類のドライバがインストールできるみたいです.

f:id:lhopital:20190428131909p:plain

RTL8811CU と RTL8812BU ってやつです.

どっちかわからんので,まずはアダプタを接続して,'lsusb'コマンドでデバイスIDを確認.

$ lsusb
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 062a:4101 Creative Labs Wireless Keyboard/Mouse
Bus 001 Device 005: ID 0bda:c811 Realtek Semiconductor Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Device 005 ってやつが今回接続するアダプタなので,IDは0bda:c811ですね.

IDから察するにRTL8811CUで良さそうですね.

(ちなみにこちらのページで一応確認は取りました.)

https://wikidevi.com/wiki/0bda

エラー出る問題1

インストールはDVD内蔵のシェルスクリプトを実行するだけみたいなので,実行.

すると,権限が無いと怒られます...

読み取り専用なのでchmodで権限も変更できないため,とりあえずファイル全体をローカルにコピーします…







が!

ファイルを splice する際にエラー: 入力/出力エラーです

という謎のエラーが出て,コピーに失敗しました…

詳しい方,おられましたら原因をご教授ください"(-""-)"

エラー出る問題2

ローカルにコピーできなかったんですが,一度windowsの計算機にDVDからコピーすると,エラーも出ずに入れられたので,そこからUSBメモリ経由でUbuntu上にシェルスクリプトを入れられました.

これでいける,と思ったんですが…

またまたエラーです.

今度はコンパイルで失敗しており,どうやらカーネルコールの引数で怒られていたので,カーネルのバージョンに対応していない模様

そこでググってみると,現在のカーネル対応のドライバをGitで発見.神様のようなお方だ!

github.com

最終的なドライバインストール手順

では,ドライバインストールの手順を書きます!

1.Gitからドライバデータを取得

以下のコマンドで,ドライバデータのリポジトリを取ってきます.

# apt install git
# git clone https://github.com/whitebatman2/rtl8821CU

既にGitをインストールしていれば,一行目は不要です.

2.インストール

GitのREADMEに書かれている通りに実行します.

make
sudo make install
sudo modprobe 8821cu

以上でドライバのインストールが完了!

無事,ネットに繋がりました(^^♪

通信速度の確認

さて,通信速度は改善されたのか!?

ping -l 10000 192.168.11.7 -n 10

192.168.11.7 に ping を送信しています 10000 バイトのデータ:
192.168.11.7 からの応答: バイト数 =10000 時間 =6ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =5ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =7ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =5ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =6ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =5ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =5ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =5ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =6ms TTL=64
192.168.11.7 からの応答: バイト数 =10000 時間 =9ms TTL=64

192.168.11.7 の ping 統計:
    パケット数: 送信 = 10、受信 = 10、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 5ms、最大 = 9ms、平均 = 5ms





速すぎぃ!



20000*8 / 0.005 = 32Mbpsということで,約28倍まで跳ね上がりました!!

元々のアダプタの時はパケロスが発生することもあったので,不安定な接続だったぽいです.

まとめ

本記事では無線LANアダプタの変更により通信速度の高速化に成功しました!

1000円程度でこんなに高速になったのは嬉しかったです('ω')

では!