Ubuntu有線イーサネットは検出できますが、他のデバイスに接続できず、RXデータ転送は常に0です。

Ubuntu有線イーサネットは検出できますが、他のデバイスに接続できず、RXデータ転送は常に0です。

プラットフォーム

  • 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がダウンしているので、ルーティングテーブルには問題がないようです。

診断情報

  1. 使用ifconfig:症状のセクションを参照してください。
  2. 使用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
  1. 内容は次のとおりです/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
  1. ネットワーク管理者の使用:
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
...
  1. 使用mii-tool:
root@9tripod:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok
  1. 使用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
  1. 使用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ではエラーなく動作するのがおかしい。チップは全体的にうまく機能していますが、一部の機能(データ受信など)が破損する可能性がありますか?

追加の診断情報が必要な場合はコメントを残してください。どんなアドバイスにも感謝します。

ベストアンサー1

おすすめ記事