TP-Link wifi USB ドングルのドライバをラズパイにインストール

# TP-Link wifi USB ドングルのドライバのインストール時のメモ

## 概要
TP-Link製のwifi usbドングル(TL-WN725N Ver3.0)をRaspberry-pi 3 Model B V1.2へ設定するため、ドライバをインストールしたときに収集した情報をまとめておく。(2021年11月現在の情報。)
    
- 公式
     - TP-Linkの公式サイトのドライバは古く、メンテされていない 
     - Linux環境の場合、自分でソースからビルドする必要あり
- __簡単インストール__
     - 有志の方がメンテしているドライバのインストーラ(インターネット接続環境でスクリプト一つを実行するのみ)
     - 今回実施したのはこの方法
- 手動インストール
     - 上記簡単インストールができない場合(直接インターネットに接続できない環境の場合)、必要なドライバのパッケージを別途ダウンロードし、コピーして、インストールする
     - 手順の概要をまとめておく

## 作業環境
- OS環境 : Linux raspberrypi 4.19.75-v7+ #1270
- wifiアダプタ製品名 : TL-WN725N Ver3.0

  ```sh
  uname -a
  #Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux

   lsusb
  #Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
  # 以下略

  ```  

## 詳細

### TP-Link公式の情報
[公式サイト](https://www.tp-link.com/jp/support/download/tl-wn725n/)で確認すると、2018年以来更新されていない  
- 正式版はLinux kernel 2.6.18 ~ 3.19.3
- ベータ版はLinux kernel 2.6.18 ~ 4.4.3

![tp-link_2021-11-10 11-14-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201160/4cbfa051-c7b3-276e-d98d-0016b9049df7.png)  
(https://www.tp-link.com/jp/support/download/tl-wn725n/より)


#### ベータ版ダウンロード
- 試しにベータ版をダウンロード  

```sh
ls
#TL-WN725N_V3_Linux.zip
unzip TL-WN725N_V3_Linux.zip -d tmp
#Archive:  TL-WN725N_V3_Linux.zip
#  inflating: tmp/Installation Guide for Linux.pdf  
#  inflating: tmp/rtl8188EUS_linux_v5.2.2.4_25483.20171222.zip  
#  inflating: tmp/readme_beta.txt   
```
- Installation Guide(pdf)が含まれていたため手順を確認  
![TP-link_Installation Guide 2021-11-10 11-38-58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201160/9a841d70-5d88-c5f4-d644-07244285872e.png)
(TP-Link Installation Guide for Linuxより)

  コンパイル手順が書かれていた

### Raspberry Piのフォーラム情報
Raspberry Piのフォーラムに"(UPDATE) Drivers for TL-WN725N V2 - 3.6.11+ -> 4.xx.xx+"という[スレッド](https://forums.raspberrypi.com/viewtopic.php?f=28&t=62371&sid=d1985ca19de7ed05a922e52e4720783e)を見つける。

MrEngmanさんという方が2013年以来メンテしてくれているTL-WN725N用のドライバとそのインストーラの情報らしい。
- 対応するLinux kernel: 3.18, 4.0, 4.1, 4.4, 4.8/9, 4.14, 4.19
- 対応するUSB ID:

```
ID 2001:3310
ID 2001:330F
ID 07B8:8179
ID 0BDA:0179
ID 0BDA:8179

3.12.28+ 以降の場合、以下も追加：
ID 056E:4008
ID 2001:3311
ID 0DF6:0076
```

### 簡単インストール
インターネット接続している環境の場合

```sh
# インストーラのダウンロード
sudo wget http://downloads.fars-robotics.net/wifi-drivers/install-wifi -O /usr/bin/install-wifi

# 実行権をつける
sudo chmod +x /usr/bin/install-wifi

# ヘルプ表示
sudo install-wifi -h

# 自動的に環境にあったバージョンのドライバをインストールする
sudo install-wifi
```

### 手動インストール
今回は実施していない。概要メモのみ。

- Linuxカーネルのバージョン確認し、ダウンロードすべきファイル名を特定する。  

  ```sh
  uname -a
  # Linux raspberrypi 4.4.8-v7+ #881 SMP Sat Apr 30 12:16:50 BST 2016 armv7l GNU/Linux
  #
  # ここでは、"4.4.8-v7+ #881"の部分を確認する

  lsusb
  #Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
  # 以下略
  #
  # - USB ID = 0BDA:8179はサポートされていること
  # - アダプタの製品名はRTL8188EUS
  # (厳密にRTL8188EUSとRTL8188EUで何が異なるのかは確認できなかったが、互換性があるものという認識で作業を進める)
  # を確認

  ```

ダウンロードするドライバのファイル名は`<製品名>-<カーネルバージョン>.tar.gz`という構成なので、この場合、_8188eu-4.4.8-v7-881_.tar.gz をダウンロードする。

- インターネット接続環境で、[http://downloads.fars-robotics.net](http://downloads.fars-robotics.net)から必要なドライバのパッケージをダウンロードする。
  - 上記の例では、_http://downloads.fars-robotics.net/wifi-drivers/8188eu-drivers/8188eu-4.4.8-v7-881.tar.gz_
  - ダウンロードサイトのディレクトリ構造は"Directory structure is"以下に記述あり。
- ダウンロードしたファイルをRaspberry-pi へコピーし、インストールする
 
  ```sh
  # アーカイブを展開
  tar xzf 8188eu-4.4.8-v7-881.tar.gz
  # インストール
  ./install.sh
  ```

## 参照
- [TP-Link公式ダウンロードサイト](https://www.tp-link.com/jp/support/download/tl-wn725n/)
- [Raspberry Pi フォーラム："(UPDATE) Drivers for TL-WN725N V2 - 3.6.11+ -> 4.xx.xx+"](https://forums.raspberrypi.com/viewtopic.php?f=28&t=62371&sid=d1985ca19de7ed05a922e52e4720783e)
  - MrEngmanさんのドライバインストール手順
- [http://downloads.fars-robotics.net/](http://downloads.fars-robotics.net/)
  - MrEngmanさん公開のドライバダウンロードサイト
  - wifiの設定についてもメモあり