プラットフォーム
- CPU: RK3288 ARMv7 組み込みプロセッサ
- メモリ:2GB
- ネットワークカード:オンボードRTL8211Eチップ
- オペレーティングシステム:Ubuntu 14.04.1 LTS
root@9tripod:~# uname -a
Linux 9tripod 3.10.0 #26 SMP PREEMPT Sat Mar 4 17:06:44 CST 2017 armv7l armv7l armv7l GNU/Linux
root@9tripod:~# cat /etc/issue
Ubuntu 14.04.1 LTS \n \l
兆候
システムイメージが更新され開始されたら、PCと開発ボードの間にネットワークケーブルを接続します。次に、次のコマンドを使用してPCと開発ボードに固定IPアドレスを設定しますifconfig
。
ifconfig eth0 192.168.1.XXX netmask 255.255.255.0
ping
その後、コンピュータを試してみましたがアクセスできませんでした。
root@9tripod:~# ping 192.168.1.107
PING 192.168.1.107 (192.168.1.107) 56(84) bytes of data.
From 192.168.1.233 icmp_seq=1 Destination Host Unreachable
From 192.168.1.233 icmp_seq=2 Destination Host Unreachable
From 192.168.1.233 icmp_seq=3 Destination Host Unreachable
From 192.168.1.233 icmp_seq=4 Destination Host Unreachable
From 192.168.1.233 icmp_seq=5 Destination Host Unreachable
From 192.168.1.233 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.1.107 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6005ms
pipe 3
数回試みた後、ボードのRJ45コネクタの緑色のLEDが点滅し、黄色のLEDが消灯していることがわかりました。ただし、ネットワークケーブルが外れると、両方のLEDが点灯し続けます。その後、ifconfig
コマンドを入力してRXパケットが送信されていないことを確認しました。
root@9tripod:~# ifconfig
eth0 Link encap:Ethernet HWaddr ee:e3:d4:01:f6:6f
inet6 addr: fe80::ece3:d4ff:fe01:f66f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2133 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:524034 (524.0 KB)
Interrupt:59
...
PCを使用して逆ピングすると、「Target Host unreachable」と表示され、ボードはパケットを受信しません。システムを再起動し、別のケーブルを変更し、スイッチを使用してもRJ45コネクタを新しいコネクタに変更してみましたが、役に立ちませんでした。ところでpingテストをしてみるとwlan0がダウンしているので、ルーティングテーブルには問題がないようです。
診断情報
- 使用
ifconfig
:症状のセクションを参照してください。 - 使用
ip link show
:
root@9tripod:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether ee:e3:d4:01:f6:6f brd ff:ff:ff:ff:ff:ff
3: sit0: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default
link/sit 0.0.0.0 brd 0.0.0.0
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DORMANT group default qlen 1000
link/ether 00:90:4c:11:22:33 brd ff:ff:ff:ff:ff:ff
- 内容は次のとおりです
/etc/network/interfaces
。
root@9tripod:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
#iface eth0 inet dhcp
- ネットワーク管理者の使用:
root@9tripod:~# nmcli device status
DEVICE TYPE STATE
eth0 802-3-ethernet disconnected
wlan0 802-11-wireless connected
root@9tripod:~# nm-tool
NetworkManager Tool
State: connected (global)
- Device: eth0 -----------------------------------------------------------------
Type: Wired
Driver: stmmaceth
State: disconnected
Default: no
HW Address: EE:E3:D4:01:F6:6F
Capabilities:
Carrier Detect: yes
Speed: 1000 Mb/s
Wired Properties
Carrier: on
...
- 使用
mii-tool
:
root@9tripod:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok
- 使用
ethtool
:
root@9tripod:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP AUI BNC MII FIBRE ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: ug
Wake-on: d
Current message level: 0x0000003f (63)
drv probe link timer ifdown ifup
Link detected: yes
- 使用
dmesg
:
root@9tripod:~# dmesg |grep -i eth0
[ 17.685231] eth0: device MAC address ee:e3:d4:01:f6:6f
[ 17.693782] eth0: PHY ID 001cc915 at 0 IRQ 0 (stmmac-0:00) active
[ 17.693788] eth0: PHY ID 001cc915 at 1 IRQ 0 (stmmac-0:01) active
質問
システムがeth0を検出してエラーなしで上記の操作を実行でき、IPアドレスが静的に正しく設定されていますが、ボードがeth0を介して他のデバイスにアクセスできないのはなぜですか?
私の考えではネットワークカードチップに問題があるようですが、Linuxではエラーなく動作するのがおかしい。チップは全体的にうまく機能していますが、一部の機能(データ受信など)が破損する可能性がありますか?
追加の診断情報が必要な場合はコメントを残してください。どんなアドバイスにも感謝します。