Raspberry Pi model B, B+, Pi2 model B には、LAN ポートが付いていますが、model A, A+ にはUSB接続の有線LANアダプタを使うことで有線でLANに接続することができます。(Zero も USB 変換コネクタか USB HUB を使えば接続可能だと思います。)
中でも USB-LAN1000R, USB-LAN100R はメーカーが Raspberry Pi 対応(Linux対応)と公言している製品です。どちらの製品もUSBポートに挿すだけで利用できます。
USB-LAN1000Rは、ギガビット(1000Mbps)の有線LANアダプタですが、Raspberry Pi は USB2.0 なので最大転送速度480Mbps (理論値)の制限を受けるため、そこまでのスピードはでません。オーバースペックです。それでも100Mbpsの Pi model B, B+, Pi2 model B 標準LANポートや、USB-LAN100R よりもスピードはでるかもしれません。(でました。)
USB-LAN100R の方は 100Mbps のアダプタです。Raspberry Pi model B, B+, 2B と同等の速度ですので、こちらでも十分かもしれません。価格も安いですしね。
どちらの製品も Pi model A, A+, (Zero) で有線LANが使いたい時や、Pi model B, B+, Pi2 model B でLANポートが2つ必要な場合に有効です。
接続:
USB-LAN1000R を USB ポートに接続して起動するだけで認識しました。
$ lsusb : Bus 001 Device 006: ID 0bda:8153 Realtek Semiconductor Corp. :
Realtek 8153 のようです。
設定:
ifconfig で追加されたネットワークインターフェース名を確認します。Raspberry Pi 2/3 等は標準のネットワークポートが eth0 なので、この例では eth1 が追加されています。
# ifconfig -a : eth1 Link encap:イーサネット ハードウェアアドレス XX:XX:XX:XX:XX:XX UP BROADCAST MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) :
/etc/network/interfaces ファイルに下記の eth1 の設定のどちらかを追加します。
- 例えば DHCP による IP アドレス自動割り当ての場合
auto eth1 iface eth1 net manual
ネットワーク内に DHCP サーバが必要です。
- 例えば固定アドレスの場合
auto eth1 iface eth1 inet static address 192.168.0.100 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.1
上記の各 IP アドレスは設定例の為、設定する各 IP アドレスは自分の環境に合わせて適切な値を設定すること。
ifup で eth1 を有効にします。
# ifup eth1
ifconfig -v eth1 で IP アドレスが割り当てられていることが確認できれば OK です。
# ifconfig -v eth1 eth1 Link encap:イーサネット ハードウェアアドレス XX:XX:XX:XX:XX:XX inetアドレス:192.168.0.100 ブロードキャスト:192.168.0.255 マスク:255.255.255.0 : UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 :
計測:
次に性能計測するために、LAN 内で iperf サーバを起動し、Raspberry Pi から iperf で転送速度を計測してみました。
Server 側:
unix 系の Server で iperf をインストールして、-s オプションをつけて起動します。
$ iperf -s
Raspberry Pi 側:
今回は Raspberry Pi を client にします。
iperf をインストールして、クライアントモードで実行します。(この例のサーバホスト名は server.local です。)
$ sudo apt-get install iperf $ iperf -c server.local -i 2
iperf で測定した結果です。(USB-LAN1000R)
$ iperf -c server.local -i 2 ------------------------------------------------------------ Client connecting to server.local, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.XX port 49679 connected with 192.168.0.XX port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 62.6 MBytes 263 Mbits/sec [ 3] 2.0- 4.0 sec 64.8 MBytes 272 Mbits/sec [ 3] 4.0- 6.0 sec 63.5 MBytes 266 Mbits/sec [ 3] 6.0- 8.0 sec 64.9 MBytes 272 Mbits/sec [ 3] 8.0-10.0 sec 62.5 MBytes 262 Mbits/sec [ 3] 0.0-10.0 sec 318 MBytes 266 Mbits/sec
内蔵LANポートを使った場合の測定結果です。
$ iperf -c server.local -i 2 ------------------------------------------------------------ Client connecting to server.local, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.XX port 53955 connected with 192.168.0.XX port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 2.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 2.0- 4.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 4.0- 6.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 6.0- 8.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 8.0-10.0 sec 22.5 MBytes 94.4 Mbits/sec [ 3] 0.0-10.0 sec 113 MBytes 94.3 Mbits/sec
この結果は、Server 側のネットワーク性能にも依存するので、Bandwidth の値はあくまでもテスト環境での結果に過ぎず、USB-LAN1000R や内蔵LANポートの絶対的な性能をしめすものではないことに注意してください。
ただし、測定結果を相対的に評価すれば、USB-LAN1000R の方が十分速いということは言えるでしょう。
Raspberry Pi Zero の場合:
Raspberry Pi Zero の場合は、アダプターキットに含まれる micro USB-USB 変換アダプター等を使うことで、USB-LAN1000R, USB-LAN100R を使うことができます。
同等品:
現在、USB-LAN1000R は販売が終了してしまったようです。
同等品を探したところ、Anker の USB 3.0 LANアダプターも Realtek 8153 が使われており、同じように使用することができることがわかりました。USB-LAN1000R の代わりにこちらをご使用下さい。
最新情報は、「Raspberry Pi の有線LANアダプタ -その2-」をご覧ください。
関連記事:
コメントを投稿するにはログインしてください。