[クーポン配布] LABISTS JP製ラズベリーパイ4Bセット品に使用出来る割引クーポンはここから
AmazonでラズパイのカテゴリーはベアボーンPCです。ご存じでしたか?

CUI環境のラズパイでもインターネットスピードテストをする

cui-speedtest-titleラズパイ本体について
この記事は約10分で読めます。

ラズパイでインターネットの速度テストをするには「speedtest-cli」を使うと便利です。特にデスクトップ環境がないRaspbian liteで重宝します。

ラズパイからネットの速度計測をするならコマンド1つですので試してみてください。

今回は「Raspbian Buster」フルパッケージ版をインストールして行いました。

スポンサーリンク

使用した機器

有線LANポートと無線LANポートをそれぞれ計測しました。

Raspberry Pi Zero Wなので有線LANポートはUSBハブ(hub)を利用しています。

コレを使いました。

これはだいぶ以前に購入したので現在はUKで購入出来る程度だと思います。

Pimoriniにあります。https://shop.pimoroni.com/products/three-port-usb-hub-with-ethernet-and-microb-connector#show-reviews

他の物だと、過去にルートアール製も問題ありませんでした。

ルートアール 充電可能 4ポートスリムOTGハブ + microUSBケーブル RUH-OTGU4+C
ルートアール
¥2,000(2019/11/20 21:52時点)
タブレットPCなどのOTG対応端末へ電力を給電をしながらUSB機器を同時に利用できます。

speedtest-cliのダウンロードと使用方法

色んな導入方法がありますが、今回はダウンロードして実行の方法を取ります。他にはgitcloneやpipでのインストールなどがあります。

詳しくはツールのgithubで確認してください。オプションも載っています。

参考https://github.com/sivel/speedtest-cli

Downloadフォルダなど適当な場所で以下を実行してダウンロードします。

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

実行権を与えます。

chmod +x speedtest-cli

使ってみます。

./speedtest-cli
Retrieving speedtest.net configuration...
Testing from XXXXXXXXXXX...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by XXXXXXXXXXXXX [XX.X km]: XX.XXX ms
Testing download speed................................................................................
Download: 42.56 Mbit/s
Testing upload speed................................................................................................
Upload: 39.78 Mbit/s

このようにダウンロード速度とアップロード速度が調べられます。(※計測場所はひかり接続で基地局からも近いので速い方だと思います。)

ネットワークインターフェイスを調べる

有線LANを調べてみます。LANケーブル接続状態です。ethtool を使います。

ちなみにRaspbian Buster フルパッケージには、ethtool とnet-tools は最初からインストールされています。

ethtool eth0
Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	Link partner advertised pause frame use: Symmetric
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 32
	Transceiver: internal
	Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
	Current message level: 0x00007fff (32767)
			       drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
	Link detected: yes

これで見る限り、Raspberry Pi Zero Wの有線LANポートは、100Mb/sで繋がっており、Duplex: Fullとあるので、一応最大速度になっています。Raspberry Pi Zero WのLANポートは10Mb/sか100Mb/sです。

Wi-Fiの場合

Wi-Fiの場合はethtool eth0ではなくiwconfig

iwconfig wlan0

driverなどの情報を出すならethtool でも使います。

ethtool -i wlan0

他にもネットワークで使うコマンド

ipアドレスが分かりますね。

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:~ ff:ff:ff:ff:ff:ff
    inet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 ~/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 290sec preferred_lft 290sec
    inet6 ~/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:~ brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.8/24 brd 192.168.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 ~/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 290sec preferred_lft 290sec
    inet6 ~/64 scope link 
       valid_lft forever preferred_lft forever

lsusbデバイス情報(チップ名)など分かります。

lsusb
Bus 001 Device 003: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

この辺りがよく使います。あまり長くないコマンドなので、オプションは別にしても覚えられるでしょう。

  • lsusb
  • ip a
  • ethtool
  • iwconfig

遅いなと思ったら・・・

Raspberry Pi Zero WでUSBハブを使ったネットの速度が遅いというコメントをいただきました。

別の記事のコメントでしたが、そちらで3Mb/sしか出ていないようです。
今回のようにUSB2.0のハブを用いて接続しています。LANポート付きのUSBハブです。

LANアダプターと言いますが、もしかしたら破損しているかも知れません。遅くても通信は出来ているので、完全におかしいということではなく、搭載チップの不良なのかな?

LANアダプターもチャチな物が多いので、交換できると分かり易いですね。

問題の切り分け

こういうトラブルって明確な答えはなかなか見つかりません。
しかし、問題を切り分けることで原因に迫ることも可能です。

過去にサーバーの資格を取得し業務での経験から、先ずはハードを疑うか、ソフトを疑うかになるでしょう。

仮にハードからと考えるなら、できれば同じ製品の別個体で同じように比べてみるのが早いです。・・・しかし、個人だとなかなか難しいですね。

次にこのLAN関係なら、LANケーブルを新品に交換するというのも有効です。

意外と知られていませんが、LANケーブルは劣化が激しい物もあります。少なくても経年劣化はあります。更に、LANケーブルを踏んづけていたり、曲げていたりする場合、そこで断線することもあります。

完全に通信が出来ないなら分かり易いのですが、不安定な場合も先ずはLANケーブルの交換をオススメします。いきなり治るというか症状が消えることも多々ありました。

他にもインターネット接続の話ならば、ルーターのファームウェアバージョンが古いことも影響することがあります。もしもバージョンアップできるならしてみるのも手です。

対処法
  • LANケーブルを新品に交換する(短い方がいい)
  • ルーターのファームウェアを更新してみる(できれば)
  • 別個体の同じ製品で同じように試してみる

他にもルーターの設定、ラズパイならラズパイの通信設定も関係がある場合があります。

もしかして?! Raspberry Pi Zero W 自体の不良も考えられるので、色んな機器を取替ながら試してみて、消去法で1つに絞ると解決策を検索しやすくなります。

ネットワーク関係は環境に依る部分も大きく、メールや電話で伺っても分からないことが多いと思います。一体、どこまでが正常なのかを逆説的に証明していく消去法で対処するしかないのかなーと思っています。

もちろん、ネットワークエンジニアさんであれば、一発で原因解明する?かも知れません。

CUI環境でspeedtest-cliを使ったネットのスピードテストのお話でした。

コメント

  1. ルーターのルーティングテーブルのキャッシュがいっぱいになると、アドレス変換やDHCPの割り当てがうまくいかない遅くなったりつながらなくなったりすることもあります。また、ISPからのスタティックIP割り当てがおかしくなったりなど。繋がらない場合は結構これが原因だったりします。

    またSwiching Hubは内部にルーティングテーブルを持っているので、安物だとリフレッシュ機能がなく、ずっと使っているとルーティングテーブル(Hubの搭載メモリ量により変化)いっぱいになり毎度IPのありかを上位のルーターに聞きに行くので少し遅くなります。

    一度すべてDCジャックを抜いて【ICU(光)→ルーター→SW-Hub→Computer/スマホのWiFi or LAN 再接続】で治すことが出来る場合あります。