Banana Pi R1(Lamobo R1)のDSAイーサネットポートとの通信に失敗しました

Banana Pi R1(Lamobo R1)のDSAイーサネットポートとの通信に失敗しました

私のバナナは、PI R1のスイッチポートで実行されているTCP / IPトラフィックがありません(つまり、eth0としてマークされ、機能する別々のLANポートではありません)。これは、ArmbianイメージからDebian 8 [1]にアップグレードされた「Debian GNU / Linux 9.8」を実行します。

これは私の/etc/network/interfacesファイルです。

allow-hotplug eth0
iface eth0 inet dhcp

# Local loopback
auto lo
iface lo inet loopback

# Router ports
auto lan1
iface lan1 inet static
    address 192.168.12.253
        netmask 255.255.255.0
        network 192.168.12.0
        broadcast 192.168.12.255
        gateway 192.168.12.253
        dns-search greatsoft.local

auto lan2
iface lan2 inet static
        address 192.168.13.253
        netmask 255.255.255.0
        network 192.168.13.0
        broadcast 192.168.13.255
        gateway 192.168.13.253
        dns-search greatsoft.local

auto lan3
iface lan3 inet static
        address 192.168.14.253
        netmask 255.255.255.0
        network 192.168.14.0
        broadcast 192.168.14.255
        gateway 192.168.14.253
        dns-search greatsoft.local

auto lan4
iface lan4 inet static
        address 192.168.15.253
        netmask 255.255.255.0
        network 192.168.15.0
        broadcast 192.168.15.255
        gateway 192.168.15.253
        dns-search greatsoft.local

起動後、ifconfigは次の行を報告します(lo0 / wlan0省略)。

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.113  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::47:aff:fec1:f535  prefixlen 64  scopeid 0x20<link>
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 4581  bytes 816911 (797.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2392  bytes 294521 (287.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 49  

lan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.12.253  netmask 255.255.255.0  broadcast 192.168.12.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.13.253  netmask 255.255.255.0  broadcast 192.168.13.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.14.253  netmask 255.255.255.0  broadcast 192.168.14.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.15.253  netmask 255.255.255.0  broadcast 192.168.15.255
        inet6 fe80::47:aff:fec1:f535  prefixlen 64  scopeid 0x20<link>
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13  bytes 1070 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

"ip -d link show"の出力は次のとおりです(lo0 / wlan0省略)。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
3: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
4: lan3@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
5: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
6: wan@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
7: lan1@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 

たとえば、LAN 4ポートにケーブルを接続し、接続されているシステムにIPアドレス192.168.15.250とネットマスク255.255.255.0を提供すると、Banana PIのpingに次のように表示されます。

From 192.168.15.253 icmp_seq=1 Destination Host Unreachable

arp -n 表示

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.15.250                   (incomplete)                              lan4

なぜ通信が失敗したのかわかりません。何か抜けたこと間違いないと思いました。誰でも私にアドバイスを与えることができますか?

[1]https://www.armbian.com/lamobo-r1/

答え1

デフォルトでは、ArmBianと以前のBanianのWANポートを除く4つのポートはすべてブリッジされており、WANポートへの2番目のインターフェイスである単一のIPインターフェイスとしてのみ表示されます。これがIP OSレベルの設定が機能しない理由です。 R1では、ボードにBCM53125に接続された抵抗がないため、ポート/チップセットが5ポートハブから起動するため、これは発生しません。さらに悪いことに、Linuxカーネルが起動に失敗したとしても、5ポートハブラはまだあります。

BCM53125スイッチチップセットは、各ポートを他のポートとブリッジするのではなく、別々のVLANに切り替えるようにプログラムする必要があります。

ポート番号を参照してください。少なくとも古いカーネル構成スイッチでは、新しいDSAはまだテストされていません。

|2|1|0|4| |3|

次の設定は、5つのポートのそれぞれが別々のポート/ VLANであるスイッチVLANを設定するのに役立ちます。

起動が完了した後:

eth.10(VLAN 10)は既存のeth0になり、
eth.12(VLAN 12)は既存のlan1になり、192.168.12.xインターフェイス
eth.13(VLAN 13)は既存のeth0になります。 lan2、192.168.13.xインターフェイス
eth.14(VLAN 14)は既存のlan3、192.168.14.xインターフェイス
eth.15(VLAN 15)は既存のlan4、192.168.15.xインターフェイスです。

人々は注意してください内部チップセットVLAN。 Broadcom BCM53125は802.1Qをサポートしていません。したがって、以下のスクリプトでは untagged ディレクティブが使用されます。

ファイル作成場所:/etc/network/if-pre-up.d/dsa

#!/bin/bash

# to avoid execute more than once
[ "$IFACE" == "eth0" ] || exit 0

ip link set eth0 up

# ** create the native VLAN **    
ip link add link eth0 name eth0.10 type vlan id 10
ip link add link eth0 name eth0.12 type vlan id 12
ip link add link eth0 name eth0.13 type vlan id 13
ip link add link eth0 name eth0.14 type vlan id 14
ip link add link eth0 name eth0.15 type vlan id 15

# ** ALLOCATION VLAN
bridge vlan add vid 10 dev wan pvid untagged
bridge vlan add vid 12 dev lan1 pvid untagged
bridge vlan add vid 13 dev lan2 pvid untagged
bridge vlan add vid 14 dev lan3 pvid untagged
bridge vlan add vid 15 dev lan4 pvid untagged




# ** Delete VLAN default 1 **
bridge vlan del vid 1 dev wan

bridge vlan del vid 1 dev lan1
bridge vlan del vid 1 dev lan2
bridge vlan del vid 1 dev lan3
bridge vlan del vid 1 dev lan4
bridge vlan del vid 1 dev eth0.10
bridge vlan del vid 1 dev eth0.12
bridge vlan del vid 1 dev eth0.13
bridge vlan del vid 1 dev eth0.14
bridge vlan del vid 1 dev eth0.15

# ** ACTIVATE /Start **
ip link set up wan

ip link set eth0.10 up
ip link set eth0.12 up
ip link set eth0.13 up
ip link set eth0.14 up
ip link set eth0.15 up

ip link set lan1 up
ip link set lan2 up
ip link set lan3 up
ip link set lan4 up

ファイルを実行可能にする: chmod 0777 /etc/network/if-pre-up.d/dsa

起動後にすべてを確認してください ip -d link show eth0.10 ip -d link show eth0.11....

ブリッジ VLAN 表示 ブリッジリンクの表示

他のVLANファイルに対するすべての権限を削除して読み取り専用にします。chmod 0444 /etc/network/if-post-down.d/vlan chmod 0444 /etc/network/if-pre-up.d/vlan

スクリプトはテストされず、ガイドで調整されました。 BPi-R1 - 分散スイッチアーキテクチャ2017

リンクされたガイドにはスイッチをオフにするスクリプトもあります。

免責事項:このスクリプトが最初の試みで機能すると主張するわけではありませんが、良いスタートになります。また、6~7週間でR1でテストする予定です。それ以前は時間がありません。

PS:R1は1日でランダムに衝突しますか?私の場合、2週間ごとに不明な読み取り専用ファイルシステムの状況が発生します。

原因を見つけて、Realtec Wi-Fiチップセットを削除して問題を解決しました。

その後、誰かが電気測定を行った結果、Realtekチップセットが時々R1に完全に過負荷になり、使用しない場合でも不安定性を引き起こす可能性があることがわかりました。これは私の経験的発見を確認しました。

PPS:R1を購入したときにAPに変更しようとしました。失われた原因。関連トピックを参照してください。ASUS USB-N13アダプタ(realtek)を使用するときのWi-Fiの問題

関連トピックも参照してくださいhttps://electronics.stackexchange.com/questions/236530/dht21-am2301-sensor-not-measuring-humidity/236751

答え2

彫刻https://github.com/armbian/build/issues/511私に正しい方向を教えて、最終的にこの/etc/network/interfacesファイルを持つようになりました。

auto lo
iface lo inet loopback

auto eth0.101
iface eth0.101 inet dhcp
    pre-up ip link add br53125 type bridge
    pre-up ip link set wan master br53125
    pre-up bridge vlan add vid 101 dev wan pvid untagged
    pre-up bridge vlan del vid 1 dev wan
    pre-up ip link set wan up
    post-down ip link set wan down
    post-down ip link del dev eth0.101

auto eth0.102
iface eth0.102 inet manual
    pre-up ip link set lan1 master br53125
    pre-up ip link set lan2 master br53125
    pre-up ip link set lan3 master br53125
    pre-up ip link set lan4 master br53125
    pre-up bridge vlan add vid 102 dev lan1 pvid untagged
    pre-up bridge vlan del vid 1 dev lan1
    pre-up ip link set lan1 up
    pre-up bridge vlan add vid 102 dev lan2 pvid untagged
    pre-up bridge vlan del vid 1 dev lan2
    pre-up ip link set lan2 up
    pre-up bridge vlan add vid 102 dev lan3 pvid untagged
    pre-up bridge vlan del vid 1 dev lan3
    pre-up ip link set lan3 up
    pre-up bridge vlan add vid 102 dev lan4 pvid untagged
    pre-up bridge vlan del vid 1 dev lan4
    pre-up ip link set lan4 up
    post-down ip link set lan4 down
    post-down ip link set lan3 down
    post-down ip link set lan2 down
    post-down ip link set lan1 down
    post-down ip link del dev br53125
    post-down ip link del dev eth0.102

auth eth0.102
iface eth0.102 inet static
    address 192.168.12.254
    netmask 255.255.255.0
    gateway 192.168.12.254
iface eth0.102 inet6 static
    address 0db8:cafe:beef:c::
    netmask 64
    gateway 0db8:cafe:beef:c::

allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.13.254
    netmask 255.255.255.0
    gateway 192.168.13.254
iface wlan0 inet6 static
    address 0db8:cafe:beef:d::
    netmask 64
    gateway 0db8:cafe:beef:d::

残念ながら、IPv6はまだLAN上で動作していません。ただし、これは他の質問で扱う必要があります。

その結果、交換されたLANポートは実際には1つのポートのように動作するため、すべてのポートは単一のIPアドレスを共有し、DHCPサーバーは同じサブネットのアドレスである192.168.12.0を提供します。 4つの異なるサブネットがあれば良かったのですが、私の目的では現在の動作が許可されています。

関連情報