横浪海岸(高知県)
Date/Time: 2007:04:26 05:41:06
Camera: Panasonic
Model: DMC-LX2
Exporsure Time: 1/80 [s]
FNumber: 8.0
Aperture Value: 6.0
Focal Length: 6.3 [mm]

y2blog » Banana Pi BPI-R4 シングルボードコンピュータ

5

06

2024

Banana Pi BPI-R4 シングルボードコンピュータ

Banana Pi BPI-R4でOpenWrtを動かす


BPI-R4 with Case
Banana Pi BPI-R4を専用ケースに入れてSoC(MT7988A)にヒートシンクを取り付けた

BPI-R4 専用ケース
正面にはLEDインジケータとSDカードスロット、3つのSIMスロット、Resetボタンなど

NW Connector
2個のSFP+スロットとRJ-45(1000Base-T)のポートが4個備わっている

Cooling Fan
SFP+モジュールの冷却ファンとSoCチップのファンを分けて冷却性能を強化する



Banana Pi BPI-R4 は10GbpsのSFP+ポートを2個、1GbpsのRJ-45ポートを4個持つ、ルータやWi-Fi AP、NASなど動かすことを想定して作られた高性能なシングルボードコンピュータだ.この手のシングルボードコンピュータのCPUとしては、Intel x86系、Arm Coretex系、MIPS系のCPUコアがよく使われているが、今回のBanana Pi BPI-R4は Raspberry Piなどと同じく、ARM系のCPUコアが搭載されている.


Banana Pi BPI-R4の仕様や細かなデバイス構成は、Banana Pi BPI-R4 (BananaPi Docs) に詳しく掲載されているので、こちらのページを参照して欲しい.


Banana Pi-R4で使われているSoCチップ(MT7988A)の概要については、MediaTek社のホームページ “MediaTek Filogic 880” を参照すると良いだろう.このSoCチップは正に高性能ルータの心臓部として設計されたもので、このチップの特性を生かしたソフトウェアが開発されれば良いのだが、オープンソースベースのOpenWrtがこのチップの機能を採り入れたアプリケーションを開発することができれば良いのだが...


BPI-R4のSoCチップ(MT7988A)の発熱は、想像していたより低めで、OpenWrtを稼働させた状態でもチップの表面温度は50℃程度だった.重い負荷が掛かるとどの程度発熱が増加するのか不明だが、一応長時間の連続稼働を考慮して、簡単なヒートシンクと25mmφサイズのファン(5V仕様)で強制空冷することにした.


ヒートシンクのプラスチック製のピンの間隔は60mmだったので、PCパーツ用の小型ファン付きヒートシンクを流用することにした.ヒートシンクに付属のファンは40mmφタイプの10mmの高さの物だったが、少しノイジーだったので、25mmφサイズの静かなファンをサイドフローにして基板に両面テープで取り付けた.このファンは5V系の3ピン仕様のものなのだが、電源(+5V/Gnd)の2本と残りの1本(黄色)は回転数制御(検出?)のようだ.Banana PiのWikiページの写真には、5V FAN with PWM と記載があるので、実際にPWMで制御しているのかもしれないが、単に回転数を検出しているだけかもしれない.


SoCの発熱は予想よりも低かったのでヒートシンクだけでも問題なさそうだがが、SFP+モジュールの発熱の方がかなり心配だった.オプティカル系のSFP+モジュールであればモジュールの発熱はあまり気にしなくても良さそうだが、カッパー系の10GBase-Tモジュールを使用すると手で触れないくらい高温(火傷をするレベル)になってしまっていた.


SoCチップとSFP+スロットの両方を効率よく冷やすことの出来る空冷ファンを用意した方が良さそうだ.SFP+スロットの上にヒートシンクを貼って、ファンで強制空冷しないと熱暴走や発熱によるモジュールの障害が起きるだろう.Banana Pi-R4のファンコネクタの形状は一般的なPCマザーボードで使われている物とは異なり電圧も5Vなので、PCパーツとして出回っている12V系のファンはそのままでは使えないだろう.


このコネクタはJSTのPH-3ピンタイプ(ピンの間隔は2.0mm)なので、秋月電子や千石電子などのパーツショップやDigi-Keyなどで簡単に入手可能だが、自分で換装する必要がある.コネクタ嵌合用の工具(エンジニアのPA-20など)が必要なので、電子工作が趣味の人以外は難しいだろう.


5V系の小型ファンが見つからない場合は、基板上にはSATAデバイス用として5V/12Vが出力されている別な端子(JST XH-4ピンコネクタ)があるので、ここから12Vを取り出して汎用的な12V用のファンを回すという方法も使えるが、超静音タイプの小型の薄型ファンにして置いた方が良いだろう.12Vファンを5Vで動かすと低速で回転させることができるので静かなのだが、ファンによって5Vでは動作しない物も多いので実際に試して見ないと実用性があるかどうかは分からない.因みに、XH-4ピンコネクタのピンアサインは、#1: +12V, #2: GND, #3 : GND, #4: +5V (Boot切り替えスイッチ側)となっている.(https://wiki.banana-pi.org/File:BPI-R4-SATAPWR.jpg


Amazonで、”40x40x10mm Raspberry Pi速度制御ファンDC 5V” という3線タイプのQIコネクタが付いた製品が売られていた.QIコネクタなのでそのままPH-3コネクタのピンに差し込むことができそうだが直ぐに外れてしまうだろう.やはりきちんとPH-3のハウジングに付け替えて置く必要がある. 5V系の小型ファンはRaspberry Pi用として売られている製品の中から探すのが無難かもしれない.


Banana Pi BPI-R4用に構成された Debian 11やUbuntu 22 Server などの汎用OSディストリビューションも幾つか出回っているようなので、小型の低消費電力サーバを構築するのにも向いている.但し、HDMIなどのディスプレイ出力は持ち合わせていないので、IoT系の小型ボードでは必須のシリアルコンソールによるOSのインストールなどをこなさなければならないので、初心者には少し敷居が高いかもしれない.


今回のBanana Pi BPI-R4 はNWルータとして用いるので、オープンソースベースでルータとしての実績やコミュニティーなどの充実度から、OpenWrtを選定し、最近の光ファイバー系のインターネットサービスでは標準的な機能となった、IPoE方式によるIPv4接続サービス(DS-LiteやMAP-E)に対応させることとする.


Banana Pi-R4では、オプションのWi-Fi7モジュール BPI-R4-NIC-BE14 を基盤の裏面に簡単に取り付けられるようになっているが、このモジュールを使うと日本国内では電波法の規定に違反する(技適の審査を受けていない)ので、Wi-Fiルータとしては使用することはできない.


現在自宅用のメイン回線としてNuro光を利用して、IPv4/IPv6デュアルスタックで運用を行っているが、Nuro光ではユーザに割り当てられていた半固定のグローバルIPv4アドレス(1個)が今後使えなくなってしまうことから、その代わりとして transix IPv4接続(固定IP)やJPIXなどの「v6プラス」固定IPサービスにも対応させ、Nuro光からこれらの固定IP接続サービスへ切り替える予定だ.


Banana Pi BPI-R4用のOpenWrtイメージをダウンロードする


OpenWrtは数多くのコンピュータに対応しているが、目的のコンピュータ用のOpenWrtディストリビューションを探し出すには、”Firmware Selector” というページにアクセスして、自分のコンピュータの名前やモデル名を入力すれば良い.BPI-R4は市場に出回るようになってからまだ日が浅いので、最新版(この記事を書いている時点では 23.0.5)で検索しても候補リストには出てこない.


BPI-R4用のディストリビューションイメージは、バージョンセレクターで”SNAPSHOT”版を選択すると候補として出てくるので、とりあえず今回はこのバージョンをインストールすることにする.


There is no images for BPI-R4
最新版を選択してもBPI-R4用のディストリビューションイメージは見つからない

Choose the SNAPSHOT images
“SNAPSHOT”版からBPI-R4用のディストリビューションイメージを探す

SD card image was selected
SD Card版用のイメージを選択しダウンロードする


今回は、OpenWrtのテスト用なので、一番簡単なSD Card版をダウンロードし、BPI-R4のBootstrap SW(起動セレクタスイッチ)を、SD Card起動(A,BともにSWを下側に倒す)にして、SD Cardから起動させてみる.


USB接続タイプのシリアルコンソールケーブル(3.3Vレベル入出力)をつないで、OpenWrt起動時のコンソールメッセージを拾ってみた.




F0: 102B 0000
FA: 1042 0000
FA: 1042 0000 [0200]
F9: 1041 0000
F3: 1001 0000 [0200]
F3: 1001 0000
F6: 380E 5800
F5: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0600 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [3000]
MK: 0000 0000 [0000]
T0: 0000 0193 [0101]
Jump to BL

NOTICE:  BL2: v2.9.0(release):OpenWrt v2023.10.13~0ea67d76-1 (mt7988-sdmmc-comb)
NOTICE:  BL2: Built : 22:41:47, Apr 28 2024
NOTICE:  WDT: Cold boot
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7988
NOTICE:  EMI: Using DDR unknown settings
NOTICE:  EMI: Detected DRAM size: 4096 MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.9.0(release):OpenWrt v2023.10.13~0ea67d76-1 (mt7988-sdmmc-comb)
NOTICE:  BL31: Built : 22:41:47, Apr 28 2024


U-Boot 2024.01-OpenWrt-r26108-c390c6c709 (Apr 28 2024 - 22:41:47 +0000)

CPU:   MediaTek MT7988
Model: Bananapi BPI-R4
DRAM:  4 GiB
Core:  63 devices, 23 uclasses, devicetree: embed
spi-nand: spi_nand spi_nand@0: Winbond SPI NAND was found.
spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
MMC:   mmc@11230000: 0
Loading Environment from MMC... OK
In:    serial@11000000
Out:   serial@11000000
Err:   serial@11000000
reset button found
Loading Environment from MMC... OK
Net:   eth0: ethernet@15100000
Cannot read EFI system partition
Cannot read EFI system partition
Failed to persist EFI variables

        ( ( ( OpenWrt ) ) )  [SD card]       U-Boot 2024.01-OpenWrt-r26108-c390c6c709 (Apr 28 2024 - 22:41:47 +0000)

      1. Run default boot command.
      2. Boot system via TFTP.
      3. Boot production system from SD card.
      4. Boot recovery system from SD card.
      5. Load production system via TFTP then write to SD card.
      6. Load recovery system via TFTP then write to SD card.
      7. Install bootloader, recovery and production to NAND.
      8. Reboot.
      9. Reset all settings to factory defaults.
      0. U-Boot console


  Press UP/DOWN to move, ENTER to select, ESC to quit


MMC read: dev # 0, block # 131072, count 256 ... 256 blocks read: OK

MMC read: dev # 0, block # 131072, count 25856 ... 25856 blocks read: OK
## Loading kernel from FIT Image at 50000000 ...
   Using 'config-mt7988a-bananapi-bpi-r4' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.1.86
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x50001000
     Data Size:    5660418 Bytes = 5.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x46000000
     Entry Point:  0x46000000
     Hash algo:    crc32
     Hash value:   d1a84300
     Hash algo:    sha1
     Hash value:   43c87dbd492cde8e87ba61f7654f778f98acd826
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 50000000 ...
   Using 'config-mt7988a-bananapi-bpi-r4' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r4 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x50567000
     Data Size:    43219 Bytes = 42.2 KiB
     Architecture: AArch64
     Load Address: 0x45f00000
     Hash algo:    crc32
     Hash value:   b3d33545
     Hash algo:    sha1
     Hash value:   94b714754f72edc0a6959f0c140f7fd6089252b4
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x50567000 to 0x45f00000
## Loading fdt from FIT Image at 50000000 ...
   Using 'mt7988a-bananapi-bpi-r4-sd' configuration
   Trying 'fdt-mt7988a-bananapi-bpi-r4-sd' fdt subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-sd
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x50574000
     Data Size:    1482 Bytes = 1.4 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   d0a3ad77
     Hash algo:    sha1
     Hash value:   4ddb0442509f1e0e66f70270ad0aad5b57894599
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 50000000 ...
Could not find configuration node
load of  failed
   Booting using the fdt blob at 0x45f00000
Working FDT set to 45f00000
## Loading loadables from FIT Image at 50000000 ...
   Trying 'rootfs-1' loadables subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r4 rootfs
     Type:         Filesystem Image
     Compression:  uncompressed
     Data Start:   0x50576000
     Data Size:    7512064 Bytes = 7.2 MiB
     Hash algo:    crc32
     Hash value:   c3aa4c14
     Hash algo:    sha1
     Hash value:   5e16a8fb0360fa4f3eb393e64cdef8a92f61a39b
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Uncompressing Kernel Image
   Loading Device Tree to 00000000fe7b4000, end 00000000fe7c0b7f ... OK
Working FDT set to fe7b4000
set /chosen/rootdisk to bootrom media: rootdisk-sd (phandle 0x0000009c)

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd090]
[    0.000000] Linux version 6.1.86 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r26108-c390c6c709) 13.2.0, GNU ld (GNU Binutils) 2.42) #0 SMP Sun Apr 28 22:41:47 2024
[    0.000000] Machine model: Bananapi BPI-R4
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004304ffff]
[    0.000000]   node   0: [mem 0x0000000043050000-0x000000013fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 18 pages/cpu s33896 r8192 d31640 u73728
[    0.000000] pcpu-alloc: s33896 r8192 d31640 u73728 alloc=18*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032192
[    0.000000] Kernel command line: console=ttyS0,115200n1 pci=pcie_bus_perf root=/dev/fit0 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000fa7b4000-0x00000000fe7b4000] (64MB)
[    0.000000] Memory: 4034372K/4194304K available (8576K kernel code, 894K rwdata, 2472K rodata, 448K init, 304K bss, 159932K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 416 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000001] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000063] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000069] pid_max: default: 32768 minimum: 301
[    0.000273] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000288] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000863] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.001072] cblist_init_generic: Setting adjustable number of callback queues.
[    0.001075] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.001147] rcu: Hierarchical SRCU implementation.
[    0.001149] rcu:     Max phase no-delay instances is 1000.
[    0.001416] smp: Bringing up secondary CPUs ...
[    0.001631] Detected VIPT I-cache on CPU1
[    0.001676] cacheinfo: Unable to detect cache hierarchy for CPU 1
[    0.001683] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.001702] CPU1: Booted secondary processor 0x0000000001 [0x411fd090]
[    0.001930] Detected VIPT I-cache on CPU2
[    0.001961] cacheinfo: Unable to detect cache hierarchy for CPU 2
[    0.001965] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.001974] CPU2: Booted secondary processor 0x0000000002 [0x411fd090]
[    0.002196] Detected VIPT I-cache on CPU3
[    0.002227] cacheinfo: Unable to detect cache hierarchy for CPU 3
[    0.002231] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002240] CPU3: Booted secondary processor 0x0000000003 [0x411fd090]
[    0.002265] smp: Brought up 1 node, 4 CPUs
[    0.002269] SMP: Total of 4 processors activated.
[    0.002272] CPU features: detected: 32-bit EL0 Support
[    0.002274] CPU features: detected: CRC32 instructions
[    0.002291] spectre-bhb mitigation disabled by compile time option
[    0.002291] spectre-bhb mitigation disabled by compile time option
[    0.002303] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002305] CPU: All CPU(s) started at EL2
[    0.002306] alternatives: applying system-wide alternatives
[    0.005820] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.005832] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.005930] pinctrl core: initialized pinctrl subsystem
[    0.006469] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.006747] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.006850] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.006945] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007184] thermal_sys: Registered thermal governor 'fair_share'
[    0.007187] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007189] thermal_sys: Registered thermal governor 'step_wise'
[    0.007191] thermal_sys: Registered thermal governor 'user_space'
[    0.007239] ASID allocator initialised with 65536 entries
[    0.007687] printk: console [ramoops-1] enabled
[    0.007721] pstore: Registered ramoops as persistent store backend
[    0.007726] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.015932] cryptd: max_cpu_qlen set to 1000
[    0.016677] SCSI subsystem initialized
[    0.016726] libata version 3.00 loaded.
[    0.017460] clocksource: Switched to clocksource arch_sys_counter
[    0.017890] NET: Registered PF_INET protocol family
[    0.018033] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.019937] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.019960] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.020009] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.020112] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.020528] TCP: Hash tables configured (established 32768 bind 32768)
[    0.020626] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.020680] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.020850] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.020883] PCI: CLS 0 bytes, default 64
[    0.021720] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.023690] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.023701] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.042845] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    0.043653] mtk-xsphy soc:xphy@11e10000: failed to get ref_clk(id-1)
[    0.044158] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.044175] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.044186] mtk-pcie-gen3 11280000.pcie:       IO 0x0020000000..0x00201fffff -> 0x0020000000
[    0.044199] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020200000..0x0027ffffff -> 0x0020200000
[    0.044297] mtk-pcie-gen3 11290000.pcie: host bridge /soc/pcie@11290000 ranges:
[    0.044308] mtk-pcie-gen3 11290000.pcie: Parsing ranges property...
[    0.044317] mtk-pcie-gen3 11290000.pcie:       IO 0x0028000000..0x00281fffff -> 0x0028000000
[    0.044326] mtk-pcie-gen3 11290000.pcie:      MEM 0x0028200000..0x002fffffff -> 0x0028200000
[    0.044344] /soc/pcie@11290000: Failed to get clk index: 0 ret: -517
[    0.044352] mtk-pcie-gen3 11290000.pcie: failed to get clocks
[    0.044413] mtk-pcie-gen3 11300000.pcie: host bridge /soc/pcie@11300000 ranges:
[    0.044422] mtk-pcie-gen3 11300000.pcie: Parsing ranges property...
[    0.044431] mtk-pcie-gen3 11300000.pcie:       IO 0x0030000000..0x00301fffff -> 0x0030000000
[    0.044440] mtk-pcie-gen3 11300000.pcie:      MEM 0x0030200000..0x0037ffffff -> 0x0030200000
[    0.044456] /soc/pcie@11300000: Failed to get clk index: 0 ret: -517
[    0.044463] mtk-pcie-gen3 11300000.pcie: failed to get clocks
[    0.044532] mtk-pcie-gen3 11310000.pcie: host bridge /soc/pcie@11310000 ranges:
[    0.044541] mtk-pcie-gen3 11310000.pcie: Parsing ranges property...
[    0.044550] mtk-pcie-gen3 11310000.pcie:       IO 0x0038000000..0x00381fffff -> 0x0038000000
[    0.044558] mtk-pcie-gen3 11310000.pcie:      MEM 0x0038200000..0x003fffffff -> 0x0038200000
[    0.044573] /soc/pcie@11310000: Failed to get clk index: 0 ret: -517
[    0.044580] mtk-pcie-gen3 11310000.pcie: failed to get clocks
[    0.048485] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.049833] printk: console [ttyS0] disabled
[    0.069991] 11000000.serial: ttyS0 at MMIO 0x11000000 (irq = 99, base_baud = 2500000) is a ST16650V2
[    0.953847] printk: console [ttyS0] enabled
[    0.978610] 11000100.serial: ttyS1 at MMIO 0x11000100 (irq = 100, base_baud = 2500000) is a ST16650V2
[    1.008285] 11000200.serial: ttyS2 at MMIO 0x11000200 (irq = 101, base_baud = 2500000) is a ST16650V2
[    1.018025] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    1.025839] loop: module loaded
[    1.030207] spi-nand spi0.0: Winbond SPI NAND was found.
[    1.035522] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.043749] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.050139] OF: Bad cell count for /soc/spi@11007000/spi_nand@0/partitions
[    1.057009] OF: Bad cell count for /soc/spi@11007000/spi_nand@0/partitions
[    1.063993] Creating 2 MTD partitions on "spi0.0":
[    1.068781] 0x000000000000-0x000000200000 : "bl2"
[    1.074825] 0x000000200000-0x000008000000 : "ubi"
[    1.147056] ubi0: default fastmap pool size: 50
[    1.151588] ubi0: default fastmap WL pool size: 25
[    1.156367] ubi0: attaching mtd1
[    1.961998] ubi0: scanning is finished
[    1.975152] ubi0: attached mtd1 (name "ubi", size 126 MiB)
[    1.980639] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.987505] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.994279] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.001229] ubi0: good PEBs: 1008, bad PEBs: 0, corrupted PEBs: 0
[    2.007309] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[    2.014519] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1697192243
[    2.023638] ubi0: available PEBs: 105, total reserved PEBs: 903, PEBs reserved for bad PEB handling: 20
[    2.033022] ubi0: background thread "ubi_bgt0d" started, PID 252
[    2.040582] block ubiblock0_1: created from ubi0:1(rootfs)
[    2.046060] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    2.178866] i2c_dev: i2c /dev entries driver
[    2.198381] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    2.208087] mtk-msdc 11230000.mmc: Got CD GPIO
[    2.208242] NET: Registered PF_INET6 protocol family
[    2.217904] Segment Routing with IPv6
[    2.221567] In-situ OAM (IOAM) with IPv6
[    2.225507] NET: Registered PF_PACKET protocol family
[    2.230569] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    2.243630] 8021q: 802.1Q VLAN Support v1.8
[    2.248573] pstore: Using crash dump compression: deflate
[    2.262021] phy phy-soc:xphy@11e10000.3: type_sw - reg 0x218, index 0
[    2.269044] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    2.276355] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    2.282631] mtk-pcie-gen3 11280000.pcie:       IO 0x0020000000..0x00201fffff -> 0x0020000000
[    2.291065] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020200000..0x0027ffffff -> 0x0020200000
[    2.306901] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.317052] mmc0: new high speed SDHC card at address aaaa
[    2.323095] mmcblk0: mmc0:aaaa SU04G 3.69 GiB
[    2.331819] Alternate GPT is invalid, using primary GPT.
[    2.337693]  mmcblk0: p1 p2 p3 p4 p5 p6 p7
[    2.637462] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    2.646263] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    2.653310] mtk-pcie-gen3 11290000.pcie: host bridge /soc/pcie@11290000 ranges:
[    2.660626] mtk-pcie-gen3 11290000.pcie: Parsing ranges property...
[    2.666889] mtk-pcie-gen3 11290000.pcie:       IO 0x0028000000..0x00281fffff -> 0x0028000000
[    2.675323] mtk-pcie-gen3 11290000.pcie:      MEM 0x0028200000..0x002fffffff -> 0x0028200000
[    2.952913] mtk-pcie-gen3 11290000.pcie: set IO trans window[0]: cpu_addr = 0x28000000, pci_addr = 0x28000000, size = 0x200000
[    2.964295] mtk-pcie-gen3 11290000.pcie: set MEM trans window[1]: cpu_addr = 0x28200000, pci_addr = 0x28200000, size = 0x200000
[    2.975759] mtk-pcie-gen3 11290000.pcie: set MEM trans window[2]: cpu_addr = 0x28400000, pci_addr = 0x28400000, size = 0x400000
[    2.987222] mtk-pcie-gen3 11290000.pcie: set MEM trans window[3]: cpu_addr = 0x28800000, pci_addr = 0x28800000, size = 0x800000
[    2.998684] mtk-pcie-gen3 11290000.pcie: set MEM trans window[4]: cpu_addr = 0x29000000, pci_addr = 0x29000000, size = 0x1000000
[    3.010233] mtk-pcie-gen3 11290000.pcie: set MEM trans window[5]: cpu_addr = 0x2a000000, pci_addr = 0x2a000000, size = 0x2000000
[    3.021783] mtk-pcie-gen3 11290000.pcie: set MEM trans window[6]: cpu_addr = 0x2c000000, pci_addr = 0x2c000000, size = 0x4000000
[    3.033439] mtk-pcie-gen3 11290000.pcie: PCI host bridge to bus 0002:00
[    3.040048] pci_bus 0002:00: root bus resource [bus 00-ff]
[    3.045525] pci_bus 0002:00: root bus resource [io  0x200000-0x3fffff] (bus address [0x28000000-0x281fffff])
[    3.055342] pci_bus 0002:00: root bus resource [mem 0x28200000-0x2fffffff]
[    3.062210] pci_bus 0002:00: scanning bus
[    3.066229] pci 0002:00:00.0: [14c3:7988] type 01 class 0x060400
[    3.072239] pci 0002:00:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit]
[    3.079077] pci 0002:00:00.0: PME# supported from D0 D3hot D3cold
[    3.085160] pci 0002:00:00.0: PME# disabled
[    3.090513] pci_bus 0002:00: fixups for bus
[    3.094687] pci 0002:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[    3.101381] pci 0002:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.109380] pci 0002:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[    3.116111] pci_bus 0002:01: scanning bus
[    3.120135] pci 0002:01:00.0: [1d79:2267] type 00 class 0x010802
[    3.126149] pci 0002:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[    3.133109] pci 0002:01:00.0: 7.876 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x1 link at 0002:00:00.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[    3.177495] pci_bus 0002:01: fixups for bus
[    3.181668] pci_bus 0002:01: bus scan returning with max=01
[    3.187228] pci_bus 0002:01: busn_res: [bus 01-ff] end is updated to 01
[    3.193841] pci_bus 0002:00: bus scan returning with max=01
[    3.199415] pci 0002:00:00.0: BAR 8: assigned [mem 0x28200000-0x282fffff]
[    3.206192] pci 0002:00:00.0: BAR 0: assigned [mem 0x28300000-0x28307fff 64bit]
[    3.213497] pci 0002:01:00.0: BAR 0: assigned [mem 0x28200000-0x28203fff 64bit]
[    3.220805] pci 0002:00:00.0: PCI bridge to [bus 01]
[    3.225759] pci 0002:00:00.0:   bridge window [mem 0x28200000-0x282fffff]
[    3.232547] pci 0002:00:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  256
[    3.240987] pci 0002:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  256
[    3.249482] pcieport 0002:00:00.0: assign IRQ: got 112
[    3.254613] pcieport 0002:00:00.0: enabling device (0000 -> 0002)
[    3.260707] pcieport 0002:00:00.0: enabling bus mastering
[    3.266370] mtk-pcie-gen3 11290000.pcie: msi#0x0 address_hi 0x0 address_lo 0x11290c00 data 0
[    3.274804] mtk-pcie-gen3 11290000.pcie: msi#0x1 address_hi 0x0 address_lo 0x11290c00 data 1
[    3.283231] mtk-pcie-gen3 11290000.pcie: msi#0x2 address_hi 0x0 address_lo 0x11290c00 data 2
[    3.291657] mtk-pcie-gen3 11290000.pcie: msi#0x3 address_hi 0x0 address_lo 0x11290c00 data 3
[    3.300084] mtk-pcie-gen3 11290000.pcie: msi#0x4 address_hi 0x0 address_lo 0x11290c00 data 4
[    3.308510] mtk-pcie-gen3 11290000.pcie: msi#0x5 address_hi 0x0 address_lo 0x11290c00 data 5
[    3.316932] mtk-pcie-gen3 11290000.pcie: msi#0x6 address_hi 0x0 address_lo 0x11290c00 data 6
[    3.325358] mtk-pcie-gen3 11290000.pcie: msi#0x7 address_hi 0x0 address_lo 0x11290c00 data 7
[    3.333782] mtk-pcie-gen3 11290000.pcie: msi#0x8 address_hi 0x0 address_lo 0x11290c00 data 8
[    3.342207] mtk-pcie-gen3 11290000.pcie: msi#0x9 address_hi 0x0 address_lo 0x11290c00 data 9
[    3.350632] mtk-pcie-gen3 11290000.pcie: msi#0xa address_hi 0x0 address_lo 0x11290c00 data 10
[    3.359144] mtk-pcie-gen3 11290000.pcie: msi#0xb address_hi 0x0 address_lo 0x11290c00 data 11
[    3.367656] mtk-pcie-gen3 11290000.pcie: msi#0xc address_hi 0x0 address_lo 0x11290c00 data 12
[    3.376165] mtk-pcie-gen3 11290000.pcie: msi#0xd address_hi 0x0 address_lo 0x11290c00 data 13
[    3.384677] mtk-pcie-gen3 11290000.pcie: msi#0xe address_hi 0x0 address_lo 0x11290c00 data 14
[    3.393189] mtk-pcie-gen3 11290000.pcie: msi#0xf address_hi 0x0 address_lo 0x11290c00 data 15
[    3.401700] mtk-pcie-gen3 11290000.pcie: msi#0x10 address_hi 0x0 address_lo 0x11290c00 data 16
[    3.410298] mtk-pcie-gen3 11290000.pcie: msi#0x11 address_hi 0x0 address_lo 0x11290c00 data 17
[    3.418899] mtk-pcie-gen3 11290000.pcie: msi#0x12 address_hi 0x0 address_lo 0x11290c00 data 18
[    3.427498] mtk-pcie-gen3 11290000.pcie: msi#0x13 address_hi 0x0 address_lo 0x11290c00 data 19
[    3.436094] mtk-pcie-gen3 11290000.pcie: msi#0x14 address_hi 0x0 address_lo 0x11290c00 data 20
[    3.444692] mtk-pcie-gen3 11290000.pcie: msi#0x15 address_hi 0x0 address_lo 0x11290c00 data 21
[    3.453291] mtk-pcie-gen3 11290000.pcie: msi#0x16 address_hi 0x0 address_lo 0x11290c00 data 22
[    3.461889] mtk-pcie-gen3 11290000.pcie: msi#0x17 address_hi 0x0 address_lo 0x11290c00 data 23
[    3.470487] mtk-pcie-gen3 11290000.pcie: msi#0x18 address_hi 0x0 address_lo 0x11290c00 data 24
[    3.479085] mtk-pcie-gen3 11290000.pcie: msi#0x19 address_hi 0x0 address_lo 0x11290c00 data 25
[    3.487683] mtk-pcie-gen3 11290000.pcie: msi#0x1a address_hi 0x0 address_lo 0x11290c00 data 26
[    3.496280] mtk-pcie-gen3 11290000.pcie: msi#0x1b address_hi 0x0 address_lo 0x11290c00 data 27
[    3.504878] mtk-pcie-gen3 11290000.pcie: msi#0x1c address_hi 0x0 address_lo 0x11290c00 data 28
[    3.513477] mtk-pcie-gen3 11290000.pcie: msi#0x1d address_hi 0x0 address_lo 0x11290c00 data 29
[    3.522076] mtk-pcie-gen3 11290000.pcie: msi#0x1e address_hi 0x0 address_lo 0x11290c00 data 30
[    3.530674] mtk-pcie-gen3 11290000.pcie: msi#0x1f address_hi 0x0 address_lo 0x11290c00 data 31
[    3.539604] mtk-pcie-gen3 11290000.pcie: msi#0x0 address_hi 0x0 address_lo 0x11290c00 data 0
[    3.548093] pcieport 0002:00:00.0: PME: Signaling with IRQ 113
[    3.554019] pcieport 0002:00:00.0: AER: enabled with IRQ 113
[    3.559716] pcieport 0002:00:00.0: saving config space at offset 0x0 (reading 0x798814c3)
[    3.567887] pcieport 0002:00:00.0: saving config space at offset 0x4 (reading 0x100406)
[    3.575877] pcieport 0002:00:00.0: saving config space at offset 0x8 (reading 0x6040001)
[    3.583957] pcieport 0002:00:00.0: saving config space at offset 0xc (reading 0x10000)
[    3.591863] pcieport 0002:00:00.0: saving config space at offset 0x10 (reading 0x28300004)
[    3.600116] pcieport 0002:00:00.0: saving config space at offset 0x14 (reading 0x0)
[    3.607762] pcieport 0002:00:00.0: saving config space at offset 0x18 (reading 0x10100)
[    3.615751] pcieport 0002:00:00.0: saving config space at offset 0x1c (reading 0x1f1)
[    3.623570] pcieport 0002:00:00.0: saving config space at offset 0x20 (reading 0x28202820)
[    3.631823] pcieport 0002:00:00.0: saving config space at offset 0x24 (reading 0x1fff1)
[    3.639815] pcieport 0002:00:00.0: saving config space at offset 0x28 (reading 0x0)
[    3.647460] pcieport 0002:00:00.0: saving config space at offset 0x2c (reading 0x0)
[    3.655101] pcieport 0002:00:00.0: saving config space at offset 0x30 (reading 0x0)
[    3.662746] pcieport 0002:00:00.0: saving config space at offset 0x34 (reading 0x80)
[    3.670480] pcieport 0002:00:00.0: saving config space at offset 0x38 (reading 0x0)
[    3.678125] pcieport 0002:00:00.0: saving config space at offset 0x3c (reading 0x20170)
[    3.686409] mtk-pcie-gen3 11300000.pcie: host bridge /soc/pcie@11300000 ranges:
[    3.693719] mtk-pcie-gen3 11300000.pcie: Parsing ranges property...
[    3.699987] mtk-pcie-gen3 11300000.pcie:       IO 0x0030000000..0x00301fffff -> 0x0030000000
[    3.708421] mtk-pcie-gen3 11300000.pcie:      MEM 0x0030200000..0x0037ffffff -> 0x0030200000
[    4.047465] mtk-pcie-gen3 11300000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    4.056251] mtk-pcie-gen3: probe of 11300000.pcie failed with error -110
[    4.063195] mtk-pcie-gen3 11310000.pcie: host bridge /soc/pcie@11310000 ranges:
[    4.070504] mtk-pcie-gen3 11310000.pcie: Parsing ranges property...
[    4.076764] mtk-pcie-gen3 11310000.pcie:       IO 0x0038000000..0x00381fffff -> 0x0038000000
[    4.085196] mtk-pcie-gen3 11310000.pcie:      MEM 0x0038200000..0x003fffffff -> 0x0038200000
[    4.427461] mtk-pcie-gen3 11310000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    4.436240] mtk-pcie-gen3: probe of 11310000.pcie failed with error -110
[    4.443880] FIT: Detected U-Boot 2024.01-OpenWrt-r26108-c390c6c709
[    4.450057] FIT: Selected configuration: "config-mt7988a-bananapi-bpi-r4" (OpenWrt bananapi_bpi-r4)
[    4.459099] FIT:           kernel sub-image 0x00001000..0x00566f01 "kernel-1" (ARM64 OpenWrt Linux-6.1.86)
[    4.468833] FIT:          flat_dt sub-image 0x00567000..0x005718d2 "fdt-1" (ARM64 OpenWrt bananapi_bpi-r4 device tree blob)
[    4.480043] FIT:          flat_dt sub-image 0x00572000..0x00572611 "fdt-mt7988a-bananapi-bpi-r4-emmc" (ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-emmc)
[    4.496371] FIT:          flat_dt sub-image 0x00573000..0x0057311c "fdt-mt7988a-bananapi-bpi-r4-rtc" (ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-rtc)
[    4.512526] FIT:          flat_dt sub-image 0x00574000..0x005745c9 "fdt-mt7988a-bananapi-bpi-r4-sd" (ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-sd)
[    4.528507] FIT:          flat_dt sub-image 0x00575000..0x005758eb "fdt-mt7988a-bananapi-bpi-r4-wifi-mt7996a" (ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-wifi-mt7996a)
[    4.546221] FIT:       filesystem sub-image 0x00576000..0x00c9ffff "rootfs-1" (ARM64 OpenWrt bananapi_bpi-r4 rootfs)
[    4.557040] block mmcblk0p7: mapped 1 uImage.FIT filesystem sub-image as /dev/fit0
[    4.564755] block mmcblk0p7: mapped remaing space as /dev/fitrw
[    4.698921] mtk_soc_eth 15100000.ethernet: generated random MAC address 65:74:68:25:64:00
[    4.707105] mtk_soc_eth 15100000.ethernet: generated random MAC address 65:74:68:25:64:00
[    4.717281] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc00a400000, irq 103
[    4.726905] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc00a400000, irq 103
[    4.736536] mtk_soc_eth 15100000.ethernet eth2: mediatek frame engine at 0xffffffc00a400000, irq 103
[    4.825041] mt7530-mmio 15020000.switch: configuring for fixed/internal link mode
[    4.832555] mt7530-mmio 15020000.switch: Link is Up - 10Gbps/Full - flow control rx/tx
[    4.856842] mt7530-mmio 15020000.switch wan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7988 PHY] (irq=POLL)
[    4.892071] mt7530-mmio 15020000.switch lan1 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7988 PHY] (irq=POLL)
[    4.927291] mt7530-mmio 15020000.switch lan2 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7988 PHY] (irq=POLL)
[    4.962456] mt7530-mmio 15020000.switch lan3 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7988 PHY] (irq=POLL)
[    4.973486] device eth0 entered promiscuous mode
[    4.978114] DSA: tree 0 setup
[    4.981695] UBI: auto-attach mtd1
[    4.985002] ubi: mtd1 is already attached to ubi0
[    4.989702] UBI error: cannot attach mtd1
[    5.002155] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
[    5.009401] Freeing unused kernel memory: 448K
[    5.013877] Run /sbin/init as init process
[    5.017971]   with arguments:
[    5.020927]     /sbin/init
[    5.023622]   with environment:
[    5.026751]     HOME=/
[    5.029102]     TERM=linux
[    5.158073] init: Console is alive
[    5.161560] init: - watchdog -
[    5.452761] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.474411] usbcore: registered new interface driver usbfs
[    5.479945] usbcore: registered new interface driver hub
[    5.485273] usbcore: registered new device driver usb
[    5.493399] xhci-mtk 11200000.usb: supply vbus not found, using dummy regulator
[    5.500813] xhci-mtk 11200000.usb: supply vusb33 not found, using dummy regulator
[    5.508675] xhci-mtk 11200000.usb: xHCI Host Controller
[    5.513900] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 1
[    5.524354] xhci-mtk 11200000.usb: hcc params 0x01403f99 hci version 0x110 quirks 0x0000000000210010
[    5.533512] xhci-mtk 11200000.usb: irq 115, io mem 0x11200000
[    5.539333] xhci-mtk 11200000.usb: xHCI Host Controller
[    5.544549] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 2
[    5.551941] xhci-mtk 11200000.usb: Host supports USB 3.2 Enhanced SuperSpeed
[    5.559240] hub 1-0:1.0: USB hub found
[    5.563002] hub 1-0:1.0: 1 port detected
[    5.567090] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    5.575342] hub 2-0:1.0: USB hub found
[    5.579105] hub 2-0:1.0: 1 port detected
[    5.585265] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.599329] init: - preinit -
[    5.818277] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[    5.826422] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[    5.832844] mt7530-mmio 15020000.switch lan1: configuring for phy/internal link mode
[    5.842874] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    5.850181] mt7530-mmio 15020000.switch lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[    5.858512] IPv6: ADDRCONF(NETDEV_CHANGE): lan1: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.027467] usb 1-1: new high-speed USB device number 2 using xhci-mtk
[    6.210172] hub 1-1:1.0: USB hub found
[    6.214044] hub 1-1:1.0: 5 ports detected
[    6.357575] usb 2-1: new SuperSpeed USB device number 2 using xhci-mtk
[    6.400176] hub 2-1:1.0: USB hub found
[    6.404096] hub 2-1:1.0: 4 ports detected
[    6.907471] usb 1-1.5: new high-speed USB device number 3 using xhci-mtk
[    7.167460] random: crng init done
[    8.046726] EXT4-fs (fitrw): recovery complete
[    8.052495] EXT4-fs (fitrw): mounted filesystem with ordered data mode. Quota mode: disabled.
[    8.064980] mount_root: switching to ext4 overlay
[    8.072264] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[    8.083983] urandom-seed: Seeding with /etc/urandom.seed
[    8.124063] mt7530-mmio 15020000.switch lan1: Link is Down
[    8.133865] procd: - early -
[    8.136793] procd: - watchdog -
[    8.665061] procd: - watchdog -
[    8.669160] procd: - ubus -
[    8.823762] procd: - init -
Please press Enter to activate this console.
[    8.975036] kmodloader: loading kernel modules from /etc/modules.d/*
[    9.001687] i2c i2c-1: Added multiplexed i2c bus 2
[    9.006631] i2c i2c-1: Added multiplexed i2c bus 3
[    9.011617] i2c i2c-1: Added multiplexed i2c bus 4
[    9.016495] i2c i2c-1: Added multiplexed i2c bus 5
[    9.021311] pca954x 1-0070: registered 4 multiplexed busses for I2C switch pca9545
[    9.031498] crypto-safexcel 15600000.crypto: can't request region for resource [mem 0x15600000-0x1577ffff]
[    9.041183] crypto-safexcel 15600000.crypto: failed to get resource
[    9.047446] crypto-safexcel: probe of 15600000.crypto failed with error -16
[    9.057675] at24 2-0050: supply vcc not found, using dummy regulator
[    9.065357] urngd: v1.0.2 started.
[    9.089403] at24 2-0057: supply vcc not found, using dummy regulator
[    9.096319] at24 2-0057: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[    9.103336] Loading modules backported from Linux version v6.6.15-0-g51f354b815c4
[    9.110834] Backport generated by backports.git 193becf2
[    9.119419] sfp sfp1: Host maximum power 3.0W
[    9.124275] sfp sfp2: Host maximum power 3.0W
[    9.151448] PPP generic driver version 2.4.2
[    9.156123] NET: Registered PF_PPPOX protocol family
[    9.162391] kmodloader: done loading kernel modules from /etc/modules.d/*
[    9.438948] sfp sfp1: module FS               SFP-10G-T        rev 20 sn C2302494689      dc 230301
[    9.448271] mtk_soc_eth 15100000.ethernet eth2: switched to inband/10gbase-r link mode
[    9.467503] sfp sfp2: module FS               SFP-10GSR-85     rev 20 sn G2220533442      dc 220704
[    9.476729] mtk_soc_eth 15100000.ethernet eth1: switched to inband/10gbase-r link mode
[    9.498525] hwmon hwmon1: temp1_input not attached to any thermal zone
[   10.770366] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   10.783768] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[   10.791969] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[   10.793382] mt7530-mmio 15020000.switch lan1: configuring for phy/internal link mode
[   10.808562] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.814996] br-lan: port 1(lan1) entered blocking state
[   10.820273] br-lan: port 1(lan1) entered disabled state
[   10.825678] device lan1 entered promiscuous mode
[   10.834705] mt7530-mmio 15020000.switch lan2: configuring for phy/internal link mode
[   10.843210] br-lan: port 2(lan2) entered blocking state
[   10.848466] br-lan: port 2(lan2) entered disabled state
[   10.853878] device lan2 entered promiscuous mode
[   10.860896] mt7530-mmio 15020000.switch lan3: configuring for phy/internal link mode
[   10.869243] br-lan: port 3(lan3) entered blocking state
[   10.874476] br-lan: port 3(lan3) entered disabled state
[   10.879948] device lan3 entered promiscuous mode
[   10.886403] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/10gbase-r link mode
[   10.918563] br-lan: port 4(eth1) entered blocking state
[   10.923803] br-lan: port 4(eth1) entered disabled state
[   10.929219] device eth1 entered promiscuous mode
[   10.936284] mt7530-mmio 15020000.switch wan: configuring for phy/internal link mode
[   10.944402] br-wan: port 1(wan) entered blocking state
[   10.949578] br-wan: port 1(wan) entered disabled state
[   10.954919] device wan entered promiscuous mode
[   10.961951] mtk_soc_eth 15100000.ethernet eth2: configuring for inband/10gbase-r link mode
[   10.994497] br-wan: port 2(eth2) entered blocking state
[   10.999760] br-wan: port 2(eth2) entered disabled state
[   11.005178] device eth2 entered promiscuous mode
[   13.928680] mt7530-mmio 15020000.switch lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   13.937344] br-lan: port 1(lan1) entered blocking state
[   13.942573] br-lan: port 1(lan1) entered forwarding state
[   13.948096] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   19.090594] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 10Gbps/Full - flow control off
[   19.109132] br-wan: port 2(eth2) entered blocking state
[   19.114349] br-wan: port 2(eth2) entered forwarding state
[   19.119822] IPv6: ADDRCONF(NETDEV_CHANGE): br-wan: link becomes ready


BusyBox v1.36.1 (2024-04-28 22:41:47 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r26108-c390c6c709
 -----------------------------------------------------
root@OpenWrt:/# 



無事OpenWrtが起動すると、シリアルコンソール上では root アカウントでログインされた状態となっているので、BusyBoxによる基本的なシェルコマンドが使える状態となっている.ipコマンドでSFP+とRJ-45ポートがOpenWrt上でどのように割り当てられているのか確認してみる.



root@OpenWrt:/# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 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: eth0:  mtu 1504 qdisc mq state UP qlen 1000
    link/ether 22:3a:a8:5b:65:85 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::203a:a8ff:fe5b:6585/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc mq master br-lan state DOWN qlen 1000
    link/ether 12:09:f9:87:7d:98 brd ff:ff:ff:ff:ff:ff
4: eth2:  mtu 1500 qdisc mq master br-wan state UP qlen 1000
    link/ether 22:3a:a8:5b:65:86 brd ff:ff:ff:ff:ff:ff
5: wan@eth0:  mtu 1500 qdisc noqueue master br-wan state LOWERLAYERDOWN qlen 1000
    link/ether 22:3a:a8:5b:65:86 brd ff:ff:ff:ff:ff:ff
6: lan1@eth0:  mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 22:3a:a8:5b:65:85 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 22:3a:a8:5b:65:85 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 22:3a:a8:5b:65:85 brd ff:ff:ff:ff:ff:ff
9: ip6tnl0@NONE:  mtu 1452 qdisc noop state DOWN qlen 1000
    link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
10: br-lan:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 22:3a:a8:5b:65:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd8d:5995:62a3::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::203a:a8ff:fe5b:6585/64 scope link
       valid_lft forever preferred_lft forever
11: br-wan:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 22:3a:a8:5b:65:86 brd ff:ff:ff:ff:ff:ff
    inet 172.25.99.101/24 brd 172.25.99.255 scope global br-wan
       valid_lft forever preferred_lft forever
    inet6 240d:xxxx:xxxx:xx00:203a:a8ff:fe5b:6586/64 scope global dynamic noprefixroute
       valid_lft 2591996sec preferred_lft 604796sec
    inet6 fe80::203a:a8ff:fe5b:6586/64 scope link
       valid_lft forever preferred_lft forever
root@OpenWrt:/# 
root@OpenWrt:/# uname -a
Linux OpenWrt 6.1.86 #0 SMP Sun Apr 28 22:41:47 2024 aarch64 GNU/Linux
root@OpenWrt:/# 


ipコマンドの出力から、4つのRJ-45ポートが”eth0″、SFP+(WAN)が “eth2″、SFP+(LAN)が”eth1” となっていることが判る.また、これらの物理ポートは2つのブリッジポート “br-lan” と”br-wan” に紐付けられており、 “br-lan”側は、lan1(eth0)、lan2(eth0)、lan3(eth0)とSFP+(LAN) が、”br-wan” 側では wan(eth0)とSFP+(WAN)がポートメンバーとして構成されている.


“br-lan”側のIPは初期状態で、192.168.1.1/24 が割り当てられており、LAN側ではDHCPサーバ機能が働いているので接続したクライアントには、192.168.1.0/24 のセグメントのIPアドレスが払い出されている.


“br-wan” 側はDHCPクライアントとなっており、初期状態で NAPT(IPマスカレード)が動いており、LAN側のクライアントからNAPTされた状態でWAN側へ通信できる状態となっている.初期状態で何も設定していなくても、家庭用のホームルータとしての標準的な機能は働いているようだ.



OpenWrt WEB GUI
OpenWrtにはWEB GUIコンソール機能が備わっている

上記のWEB GUIコンソール機能を司るLuCiパッケージは、”SNAPSHOT” 版には含まれていないので、下記の”opkg”コマンドを実行してLuCiパッケージをインストールする必要がある.



root@OpenWrt:/# opkg update  
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/kmods/6.6.30-1-52590d647e26941641a1f56551ffd695/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/kmods/6.6.30-1-52590d647e26941641a1f56551ffd695/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/Packages.sig
Signature check passed.

root@OpenWrt:/# opkg install luci
Installing luci (23.051.66410~a505bb1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci_23.051.66410~a505bb1_all.ipk
Installing luci-proto-ipv6 (24.076.80664~c88e247) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-proto-ipv6_24.076.80664~c88e247_all.ipk
Installing rpcd (2024.02.22~8ef4c258-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/rpcd_2024.02.22~8ef4c258-r1_aarch64_cortex-a53.ipk
Installing rpcd-mod-file (2024.02.22~8ef4c258-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/rpcd-mod-file_2024.02.22~8ef4c258-r1_aarch64_cortex-a53.ipk
Installing rpcd-mod-luci (20240305-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/rpcd-mod-luci_20240305-r1_aarch64_cortex-a53.ipk
Installing rpcd-mod-ucode (2024.02.22~8ef4c258-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/rpcd-mod-ucode_2024.02.22~8ef4c258-r1_aarch64_cortex-a53.ipk
Installing cgi-io (2022.08.10~901b0f04-r21) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/cgi-io_2022.08.10~901b0f04-r21_aarch64_cortex-a53.ipk
Installing ucode-mod-math (2024.04.07~5507654a-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/ucode-mod-math_2024.04.07~5507654a-r1_aarch64_cortex-a53.ipk
Installing ucode-mod-html (1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/ucode-mod-html_1_aarch64_cortex-a53.ipk
Installing liblucihttp0 (2023.03.15~9b5b683f-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/liblucihttp0_2023.03.15~9b5b683f-r1_aarch64_cortex-a53.ipk
Installing liblucihttp-ucode (2023.03.15~9b5b683f-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/liblucihttp-ucode_2023.03.15~9b5b683f-r1_aarch64_cortex-a53.ipk
Installing luci-base (24.120.25050~8f2dfa7) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-base_24.120.25050~8f2dfa7_aarch64_cortex-a53.ipk
Installing luci-app-firewall (24.122.52360~fa2aeb7) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-app-firewall_24.122.52360~fa2aeb7_all.ipk
Installing rpcd-mod-iwinfo (2024.02.22~8ef4c258-r1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/rpcd-mod-iwinfo_2024.02.22~8ef4c258-r1_aarch64_cortex-a53.ipk
Installing luci-mod-status (24.115.26262~a4a7f0b) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-mod-status_24.115.26262~a4a7f0b_aarch64_cortex-a53.ipk
Installing luci-mod-system (24.102.51352~2967807) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-mod-system_24.102.51352~2967807_all.ipk
Installing luci-mod-network (24.121.67809~2a96307) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-mod-network_24.121.67809~2a96307_all.ipk
Installing luci-mod-admin-full (19.253.48496~3f93650) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-mod-admin-full_19.253.48496~3f93650_all.ipk
Installing luci-proto-ppp (24.107.56915~995d3a1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-proto-ppp_24.107.56915~995d3a1_all.ipk
Installing luci-theme-bootstrap (24.123.27749~3e967fd) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-theme-bootstrap_24.123.27749~3e967fd_all.ipk
Installing rpcd-mod-rrdns (20170710) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/rpcd-mod-rrdns_20170710_aarch64_cortex-a53.ipk
Installing uhttpd (2023.06.25~34a8a74d-r3) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/uhttpd_2023.06.25~34a8a74d-r3_aarch64_cortex-a53.ipk
Installing uhttpd-mod-ubus (2023.06.25~34a8a74d-r3) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/uhttpd-mod-ubus_2023.06.25~34a8a74d-r3_aarch64_cortex-a53.ipk
Installing luci-light (23.024.33244~34dee82) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-light_23.024.33244~34dee82_all.ipk
Installing luci-app-opkg (24.076.42328~4d23adc) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/luci-app-opkg_24.076.42328~4d23adc_all.ipk
Configuring liblucihttp0.
Configuring cgi-io.
Configuring rpcd.
Configuring rpcd-mod-file.
Configuring rpcd-mod-luci.
Configuring rpcd-mod-ucode.
Configuring ucode-mod-math.
Configuring ucode-mod-html.
Configuring liblucihttp-ucode.
Configuring luci-base.
4+0 records in
4+0 records out
Configuring luci-app-opkg.
Configuring luci-mod-system.
Configuring luci-theme-bootstrap.
/luci-static/bootstrap
Configuring rpcd-mod-iwinfo.
Configuring luci-mod-status.
Configuring luci-app-firewall.
Configuring luci-proto-ppp.
Configuring luci-mod-network.
Configuring luci-mod-admin-full.
Configuring luci-proto-ipv6.
Configuring uhttpd.
4+0 records in
4+0 records out
Configuring rpcd-mod-rrdns.
Configuring uhttpd-mod-ubus.
4+0 records in
4+0 records out
Configuring luci-light.
Configuring luci.
root@OpenWrt:/# 




【追記】BananaPi-R4 用のOpenWRT 24.10.0(Stable版)がリリース


OpenWRT 24.10.0(Stable版)にBanana Pi-R4が登録されているのを確認できたので、FLET’S クロスなどの10Gbps系の接続サービスのルータとしてどの程度実用になるのか今後検証して行く予定だ.


とりあえず手持ちのSFP+モジュールがBanana Pi-R4上で問題なく使えるかどうか試してみることにしたが、最初に試した10GBase-TのSFP+モジュールが正常にリンクアップしなかったので、色々と原因を探ってみたが簡単には問題が解決しなかった.


手持ちの別な10GBase-TのSFP+モジュールでは問題なくリンクアップしたので、単純に最初にテストした10GBase-TのSFP+モジュールとBananaPi-R4との相性問題が生じているのかもしれない.このSFP+モジュールをPCIカードのNICで使用すると正常に使えるのでSFP+モジュールの障害という訳ではないようだ.


私は今まで様々なメーカーのNW機器を取り扱ってきたが、幸運なことにベンダロックインの経験は何度かあるが、SFPモジュールのガチャ問題(機器やモジュールの相性問題)には遭遇してこなかった.機器の調達や導入では大手のベンダーやインテグレータが介在しているので、ほぼメーカーの純正品か互換性が検証されている製品群しか扱ってこなかったということもあるが、今回初めてSFPモジュールのガチャ問題を引き当ててしまったようだ.


Open WRTの“Sinovoip BananaPi BPI-R4” のホームページに “Debugging SFP modules” という記載があって、Banana Pi-R4 では利用するSFP+モジュールによっては上手く稼働しない場合があるようだ.


とりあえず現時点で手持ちのSFP+モジュールで上手く稼働するかどうか確かめて見ることにする.


各種SFP+ モジュールの接続テスト


FS.COMの製品は格安でかつ割と高性能&マニアックな(プロ受けしそうな)製品が揃っているので、最近は自宅用のNW機器をFS.COMの製品に置き換えているところだ.FS.COMのホームページを見ていると、かなり高性能な機器やパーツが何でこんな安価な値段で売られているのか不思議なくらいだ.日本で同じ性能のメジャーなメーカーの製品を購入すると少なくとも1桁は上の金額を出さなければ購入できないだろう.


先日、我が家のメインL2-SWとして使っていたCiscoの24ポート(SFPポートを含めると28ポート)スイッチ “WS-C2960L-24TS” を FS.COMの “S3900-24F4S-R”に置き換えたところだ.”S3900-24F4S-R”の使い勝手や概要については別な記事で紹介する予定だ.


FS.COMの製品は設計も製造も全て中国なので、サプライチェーンの問題やセキュリティー面で一抹の不安があるのでシビアな業務で使うのは少し不安があるが、自宅用として使っている分には問題となることは無さそうだ.政府系機関や関連団体などの調達ではHuweiやZTEなどのメーカーが締め出されているが、同じようにFS.COMの製品を採用するのは難しいだろう.


今回、検証する10GBase-T Copper RJ-45 SFP+ モジュールは手元にあった5個(種類としては3種類?)をBananaPi-R4のSFP+スロットに差し込んで実際に試してみた.購入した時期がバラバラなので、同じ製品型番であっても、中身は微妙に違っているようだ.FS.COMのSFPモジュールは色々と種類があって型番やパート番号だけでは区別が付きにくいので、発注する際は慎重に製品を選んだ方が良いだろう.


FS.COMの10GBase-T Copper RJ-45 SFP+ モジュールについては、 “https://www.fs.com/jp/products/178031.html?attribute=110486&id=4246947”から自分の環境に合った物を選択する必要がある.


FS.COMの10GBase-T Copper RJ-45 SFP+ モジュールには幾つか種類があって、NBase-T(マルチギガ/30m)タイプ、1G/10Gタイプ(30m/80m/100m)、産業用や低消費電力タイプなどに分かれている.更に、SFPモジュールのベンダロックイン回避対策として、各ベンダーのSFPモジュールの仕様(小細工)に合わせて互換性を考慮したモデルを選ぶ必要がある.最近は露骨なベンダロックイン機構を取り入れているメーカは少なくなってきたが、一部のメーカはまだ頑なに純正SFPモジュール以外は受け付けないようにしている.



SFP+ RJ-45 Modules
今回テストしたFS.COM製のSFP+ Copper モジュール(RJ-45タイプ)

写真の10GのNICはオリオスペックで購入したノーブランドの格安NIC NB-INT-X520DAI-S (PCIe X8)で、チップはIntel 82599 を使用している.SFP+モジュールの上2つは “NETGEAR AXM765互換 10GBASE-T SFP+光モジュール(銅製 RJ-45 30m)” なのだが、別々に購入したものなので、中身は微妙に違っているようだ.一番上の物は、今回正常にリンクアップしなかったが、上から二番目のモジュールは何の問題もなくリンクアップした.


下の2つのSFP+モジュールはマルチギガタイプのもので、”Cisco SFP-10G-T-X互換 SFP+光モジュール(10M/100M/1G/2.5G/5G/10Gbps NBASE-T 銅製 RJ-45 30m)” なのだが、三番目のものが2024年5月に購入したもので、一番下が2025年4月に購入した物だ.同じ製品の筈だが、製品ラベルの貼り付け位置が表裏反対だったり、モジュールの形状も異なっていることからも、中身や仕様は微妙に異なるようだ.


上手くリンクアップできなかった原因を探るべく、OpenWRTのログ出力や “ethtool” やSFPモジュールのi2cダンプ情報などを取得してみることにする.


OpenWRTに下記のユーティリティーパッケージを追加する.これらのパッケージはデフォルトでは組み込まれていないので、自分でWEB GUI(Luci)かコマンドラインでインストールする必要がある.




[ パッケージリストのアップデート ]

root@OpenWrt:~# opkg update
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/mediatek/filogic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/mediatek/filogic/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/mediatek/filogic/kmods/6.6.86-1-6ace983a14b769f576fe9c4c7961bd89/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/mediatek/filogic/kmods/6.6.86-1-6ace983a14b769f576fe9c4c7961bd89/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/aarch64_cortex-a53/telephony/Packages.sig
Signature check passed.
root@OpenWrt:~# 

[ ethtools, i2c-tools, i2csfp のインストール ]

root@OpenWrt:~# opkg list | grep ethtool
ethtool - 6.11-r1 - ethtool is a small utility for examining and tuning your ethernet-based network interface
ethtool-full - 6.11-r1 - ethtool is a small utility for examining and tuning your ethernet-based network interface
root@OpenWrt:~#  

root@OpenWrt:~# opkg install ethtool-full  (今回は -full版をインストールした)
root@OpenWrt:~# opkg install i2csfp
root@OpenWrt:~# opkg install  i2c-tools






<<< リンクアップしなかった一番上の "NETGEAR AXM765互換 10GBASE-T SFP+光モジュール(銅製 RJ-45 30m)" モジュール >>>

[   13.388398] NET: Registered PF_PPPOX protocol family
[   13.395006] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.664006] sfp sfp1: module FS               SFP-10G-T        rev 20 sn C2312331365      dc 231212
[   16.103092] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   16.126911] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[   16.135066] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx

 ...
 
[   16.322458] mt7530-mmio 15020000.switch wan: configuring for phy/internal link mode
[   16.331499] br-wan: port 1(wan) entered blocking state
[   16.336707] br-wan: port 1(wan) entered disabled state
[   16.341882] mt7530-mmio 15020000.switch wan: entered allmulticast mode
[   16.348721] mt7530-mmio 15020000.switch wan: entered promiscuous mode
[   16.357992] mtk_soc_eth 15100000.ethernet eth2: configuring for inband/10gbase-r link mode
[   16.390303] br-wan: port 2(eth2) entered blocking state
[   16.395548] br-wan: port 2(eth2) entered disabled state
[   16.400800] mtk_soc_eth 15100000.ethernet eth2: entered allmulticast mode
[   16.407790] mtk_soc_eth 15100000.ethernet eth2: entered promiscuous mode
[   19.143705] mt7530-mmio 15020000.switch lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   19.144303] br-lan: port 1(lan1) entered blocking state
[   19.157196] br-lan: port 1(lan1) entered forwarding state
[   21.001310] mtk_soc_eth 15100000.ethernet eth2: validation with support 00,00000000,00000000,00000000 failed: -EINVAL
[   21.012012] sfp sfp1: sfp_add_phy failed: -EINVAL

BusyBox v1.36.1 (2025-04-13 16:38:32 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10.1, r28597-0425664679
 -----------------------------------------------------
root@OpenWrt:~# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 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: eth0:  mtu 1504 qdisc mq state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::28f4:8eff:fe69:b609/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc mq master br-lan state DOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
4: eth2:  mtu 1500 qdisc mq master br-wan state DOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
5: wan@eth0:  mtu 1500 qdisc noqueue master br-wan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
6: lan1@eth0:  mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
9: br-lan:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd5e:7c0b:a63d::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::28f4:8eff:fe69:b609/64 scope link
       valid_lft forever preferred_lft forever
10: br-wan:  mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
root@OpenWrt:~#                  

root@OpenWrt:~# ethtool eth2
Settings for eth2:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
                                10000baseT/Full
                                2500baseX/Full
                                1000baseKX/Full
                                10000baseKX4/Full
                                10000baseKR/Full
                                1000baseX/Full
                                10000baseCR/Full
                                10000baseSR/Full
                                10000baseLR/Full
                                10000baseLRM/Full
                                10000baseER/Full
                                2500baseT/Full
                                5000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
                                10000baseKX4/Full
                                10000baseKR/Full
                                10000baseCR/Full
                                10000baseSR/Full
                                10000baseLR/Full
                                10000baseLRM/Full
                                10000baseER/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: no
root@OpenWrt:~#                    

root@OpenWrt:~# ethtool --module-info eth2
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x22 (RJ45)
        Transceiver codes                         : 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : 10G Ethernet: 10G Base-SR
        Encoding                                  : 0x06 (64B/66B)
        BR, Nominal                               : 10300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 0km
        Length (SMF)                              : 0m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 30m
        Length (OM3)                              : 0m
        Laser wavelength                          : 0nm
        Vendor name                               : FS
        Vendor OUI                                : 64:9d:99
        Vendor PN                                 : SFP-10G-T
        Vendor rev                                : 20__
        Option values                             : 0x00 0x1a
        Option                                    : RX_LOS implemented
        Option                                    : TX_FAULT implemented
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : C2312331365
        Date code                                 : 231212
root@OpenWrt:~# 

root@OpenWrt:~# cat /sys/kernel/debug/sfp1/state
Module state: present
Module probe attempts: 0 0
Device state: up
Main state: fail
Fault recovery remaining retries: 5
PHY probe remaining retries: 12
Signalling rate: 10313 kBd
Rate select threshold: 0 kBd
moddef0: 1
rx_los: 0
tx_fault: 0
tx_disable: 0
rs0: 0
rs1: 0
root@OpenWrt:~#         

root@OpenWrt:~# i2cdetect -l
i2c-0   i2c             i2c-mt65xx                              I2C adapter
i2c-1   i2c             i2c-mt65xx                              I2C adapter
i2c-2   i2c             i2c-1-mux (chan_id 0)                   I2C adapter
i2c-3   i2c             i2c-1-mux (chan_id 1)                   I2C adapter
i2c-4   i2c             i2c-1-mux (chan_id 2)                   I2C adapter
i2c-5   i2c             i2c-1-mux (chan_id 3)                   I2C adapter
root@OpenWrt:~#     

root@OpenWrt:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- -- UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --    

root@OpenWrt:~# i2csfp /dev/i2c-1 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 22 10 00 00 00 00 00 00 00 06 67 00 00 00   ..".........g...
10: 00 00 1e 00 46 53 20 20 20 20 20 20 20 20 20 20   ....FS
20: 20 20 20 20 00 64 9d 99 53 46 50 2d 31 30 47 2d       .d..SFP-10G-
30: 54 20 20 20 20 20 20 20 32 30 00 00 00 00 00 38   T       20.....8
40: 00 1a 00 00 43 32 33 31 32 33 33 31 33 36 35 20   ....C2312331365
50: 20 20 20 20 32 33 31 32 31 32 20 20 00 00 05 6a       231212  ...j
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 45 76 06 f2   .L...d..M..0Ev..
20: 3d e8 00 c7 31 2d 00 fb 00 00 00 00 00 00 00 00   =...1-..........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 22   ..............."
60: 23 e3 82 28 0b b8 13 88 00 00 00 00 00 00 82 00   #..(............
70: 00 40 00 00 00 40 00 00 00 00 00 ff ff ff ff 00   .@...@..........
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 04 1f 00 08 ff fe ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff 01 00 f0 05 1a ba   ................
root@OpenWrt:~#                       



同じ10GBASE-T SFP+光モジュール(銅製 RJ-45 30m) でも、こちらの方は正常にリンクアップしている.この2つのモジュールの違いは何だろうか?




<<< 上から2番目の "NETGEAR AXM765互換 10GBASE-T SFP+光モジュール(銅製 RJ-45 30m)" モジュール >>>

[   13.109050] NET: Registered PF_PPPOX protocol family
[   13.115613] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.384025] sfp sfp1: module FS               SFP-10G-T        rev 20 sn C2302494689      dc 230301
[   15.878987] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   15.901572] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[   15.909800] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[   15.912411] mt7530-mmio 15020000.switch lan1: configuring for phy/internal link mode
[   15.926839] br-lan: port 1(lan1) entered blocking state
[   15.932065] br-lan: port 1(lan1) entered disabled state 

  ...
  
[   18.739536] br-lan: port 1(lan1) entered blocking state
[   18.752450] br-lan: port 1(lan1) entered forwarding state
[   21.204906] hwmon hwmon2: temp1_input not attached to any thermal zone
[   22.154789] mtk_soc_eth 15100000.ethernet eth2: PHY [i2c:sfp1:11] driver [Aquantia AQR113C] (irq=POLL)
[   28.067133] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 10Gbps/Full - flow control off
[   28.067159] br-wan: port 2(eth2) entered blocking state
[   28.080707] br-wan: port 2(eth2) entered forwarding state

root@OpenWrt:~# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 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: eth0:  mtu 1504 qdisc mq state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::28f4:8eff:fe69:b609/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc mq master br-lan state DOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
4: eth2:  mtu 1500 qdisc mq master br-wan state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
5: wan@eth0:  mtu 1500 qdisc noqueue master br-wan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
6: lan1@eth0:  mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0:  mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
9: br-lan:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:09 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd5e:7c0b:a63d::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::28f4:8eff:fe69:b609/64 scope link
       valid_lft forever preferred_lft forever
10: br-wan:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 2a:f4:8e:69:b6:0a brd ff:ff:ff:ff:ff:ff
    inet 172.25.100.127/24 brd 172.25.100.255 scope global br-wan
       valid_lft forever preferred_lft forever
    inet6 240d:xxxx:yyyy:ea64:28f4:8eff:fe69:b60a/64 scope global dynamic noprefixroute
       valid_lft 2591991sec preferred_lft 604791sec
    inet6 fe80::28f4:8eff:fe69:b60a/64 scope link
       valid_lft forever preferred_lft forever
root@OpenWrt:~#                       

root@OpenWrt:~# ethtool eth2
Settings for eth2:
        Supported ports: [  ]
        Supported link modes:   100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                1000baseKX/Full
                                10000baseKX4/Full
                                10000baseKR/Full
                                2500baseT/Full
                                5000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                1000baseKX/Full
                                10000baseKX4/Full
                                10000baseKR/Full
                                2500baseT/Full
                                5000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  100baseT/Half 100baseT/Full
                                             1000baseT/Half 1000baseT/Full
                                             10000baseT/Full
                                             2500baseT/Full
                                             5000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 11
        Transceiver: external
        MDI-X: Unknown
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
root@OpenWrt:~#                          

root@OpenWrt:~# ethtool --module-info eth2
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x22 (RJ45)
        Transceiver codes                         : 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : 10G Ethernet: 10G Base-SR
        Encoding                                  : 0x06 (64B/66B)
        BR, Nominal                               : 10300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 0km
        Length (SMF)                              : 0m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 30m
        Length (OM3)                              : 0m
        Laser wavelength                          : 0nm
        Vendor name                               : FS
        Vendor OUI                                : 64:9d:99
        Vendor PN                                 : SFP-10G-T
        Vendor rev                                : 20__
        Option values                             : 0x00 0x1a
        Option                                    : RX_LOS implemented
        Option                                    : TX_FAULT implemented
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : C2302494689
        Date code                                 : 230301
root@OpenWrt:~#          

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- 56 UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~#     

root@OpenWrt:~# i2csfp /dev/i2c-1 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 22 10 00 00 00 00 00 00 00 06 67 00 00 00   ..".........g...
10: 00 00 1e 00 46 53 20 20 20 20 20 20 20 20 20 20   ....FS
20: 20 20 20 20 00 64 9d 99 53 46 50 2d 31 30 47 2d       .d..SFP-10G-
30: 54 20 20 20 20 20 20 20 32 30 00 00 00 00 00 38   T       20.....8
40: 00 1a 00 00 43 32 33 30 32 34 39 34 36 38 39 20   ....C2302494689
50: 20 20 20 20 32 33 30 33 30 31 20 20 00 00 05 7a       230301  ...z
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 3d e8 06 f2   .L...d..M..0=...
20: 2b d4 00 c7 27 10 00 df 00 00 00 00 00 00 00 00   +...'...........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 23   ...............#
60: 2c 89 7f 3c 0b b8 13 88 0f a0 00 00 00 00 80 00   ,..<............
70: 00 00 00 00 00 00 00 00 03 00 00 ff ff ff ff 00   ................
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 04 1e 03 1f 00 00 ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff 00 00 ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff 04 00 f0 02 0a ab   ................
root@OpenWrt:~#                               




2つのSFP+モジュールの違いは殆どないが、リンクアップ失敗する方は"i2cdetect -y 1" で検出されるi2cのデバイスアドレス '0x56' が無いことぐらいだろうか.eepromのダンプデータにも少し違いがあるが、これが何を意味しているのかは、メーカーの正式な仕様書でも見ない限り判らないだろう.この2つのモジュールの製造時期は恐らく "231212" "230301" なので、同じロットではないことは確かだ.単純なメーカーの製造ミスなのか、それともこのモジュールの単なる不具合(故障)なのか判断が付かない.同じメーカーの同じ製品で、当たり外れが有るとしたら困った物だ...


ちなみに、マルチギガタイプのモジュールに関しては問題なくリンクアップしているが、これらのモジュールも製造時期によって中身は結構違うようだ.マルチギガタイプのモジュールがBanana Pi-R4で使えない(1G/10Gだけ?)のではないかと危惧していたが、実際に使ってみると、Banana Pi-R4側は10Gと認識してしまっているようだが、対向側のL2-SW(Netgear MS510TXM)の2.5Gポートとの間で、きちんとリンクアップすることを確認している.但し、ethertoolの出力内容では、片方は "Auto-negotiation: on" 、もう一方は "Auto-negotiation: off" となっているので、本当にお互い2.5Gbpsで通じ合っているかどうか疑問なところだ.


10GBase-TタイプのSFP+モジュールはまだ発展途上の製品のようで、発熱や安定性の問題があるので可能であれば光ファイバ系のモジュールを使うことをお薦めする.家庭用の製品では2.5GタイプのRJ-45ポートを搭載したPCやネットワーク機器が増えてきているので、無理に10G化を計らなくても良いのではないだろうか.10Gを使いこなすにはかなりの出費を覚悟する必要がある.


NBase-T(所謂マルチギガ)は1Gと10Gのギャップを埋めるために後になって無理矢理作り出した妥協の産物的な規格なので、あまり積極的に使う気はしない.1G ⇒ 10G ⇒ 100G ⇒ 1TG と単純にスピードアップするのはやはり無理なので、2.5G, 5G, 25G, 40G, 400G という妥協(現実)路線に走ってしまったのだろう.


L2-SW-Link-status
マルチギガタイプのモジュールでも問題なくリンクアップするようだ




<<<  "Cisco SFP-10GM-T-30互換 SFP+光モジュール(10M/100M/1G/2.5G/5G/10Gbps NBASE-T 銅製 RJ-45 30m)" モジュール  2024年5月製造 >>>

[   13.047597] NET: Registered PF_PPPOX protocol family
[   13.054193] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.324011] sfp sfp1: module FS               SFP-10GM-T       rev      sn C2405395525      dc 240517
[   13.333443] mtk_soc_eth 15100000.ethernet eth2: switched to inband/10gbase-r link mode
[   13.373699] hwmon hwmon2: temp1_input not attached to any thermal zone
[   15.780818] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   15.804637] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[   15.812786] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[   15.814677] mt7530-mmio 15020000.switch lan1: configuring for phy/internal link mode
[   15.829947] br-lan: port 1(lan1) entered blocking state
[   15.835210] br-lan: port 1(lan1) entered disabled state
[   15.840461] mt7530-mmio 15020000.switch lan1: entered allmulticast mode
  
  ...

[   15.998423] mt7530-mmio 15020000.switch wan: configuring for phy/internal link mode
[   16.006811] br-wan: port 1(wan) entered blocking state
[   16.011944] br-wan: port 1(wan) entered disabled state
[   16.017109] mt7530-mmio 15020000.switch wan: entered allmulticast mode
[   16.023793] mt7530-mmio 15020000.switch wan: entered promiscuous mode
[   16.033047] mtk_soc_eth 15100000.ethernet eth2: configuring for inband/10gbase-r link mode
[   16.065731] br-wan: port 2(eth2) entered blocking state
[   16.070971] br-wan: port 2(eth2) entered disabled state
[   16.076242] mtk_soc_eth 15100000.ethernet eth2: entered allmulticast mode
[   16.083188] mtk_soc_eth 15100000.ethernet eth2: entered promiscuous mode
[   18.621247] mt7530-mmio 15020000.switch lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   18.621846] br-lan: port 1(lan1) entered blocking state
[   18.634740] br-lan: port 1(lan1) entered forwarding state
[   20.547047] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 10Gbps/Full - flow control off
[   20.547090] br-wan: port 2(eth2) entered blocking state
[   20.560646] br-wan: port 2(eth2) entered forwarding state

root@OpenWrt:~# ethtool eth2
Settings for eth2:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseSR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseSR/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
root@OpenWrt:~#             

root@OpenWrt:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- 56 UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~#         

root@OpenWrt:~# i2csfp /dev/i2c-1 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 07 10 00 00 00 40 00 0c 00 06 67 00 00 00   .......@....g...
10: 03 01 00 00 46 53 20 20 20 20 20 20 20 20 20 20   ....FS
20: 20 20 20 20 00 00 00 00 53 46 50 2d 31 30 47 4d       ....SFP-10GM
30: 2d 54 20 20 20 20 20 20 20 20 20 20 03 52 00 55   -T          .R.U
40: 00 1a 0a 58 43 32 34 30 35 33 39 35 35 32 35 20   ...XC2405395525
50: 20 20 20 20 32 34 30 35 31 37 20 20 68 f0 03 35       240517  h..5
60: 00 00 08 6f 13 81 5c ad 1d 91 6a 1d 60 36 f0 aa   ...o..\...j.`6..
70: 6b 04 a9 00 00 00 00 00 00 00 00 00 02 cb fa d3   k...............
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 45 76 06 f2   .L...d..M..0Ev..
20: 3d e9 00 c7 31 2d 00 fb 00 00 00 00 00 00 00 00   =...1-..........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 23   ...............#
60: 36 df 7e d6 0b b8 13 88 0f a0 00 00 00 00 80 00   6.~.............
70: 00 00 00 00 00 00 00 00 03 00 00 ff ff ff ff 00   ................
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 43 4f 55 49 41 38 4e 43 41 41 31 30 2d 32 34 31   COUIA8NCAA10-241
90: 35 2d 30 33 56 30 33 20 01 00 46 00 00 00 00 c6   5-03V03 ..F.....
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa aa   ................
c0: 53 46 50 2d 31 30 47 2d 53 52 20 20 20 20 20 20   SFP-10G-SR
d0: 20 20 20 20 32 36 20 20 20 20 20 20 20 20 20 58       26         X
e0: 1e 28 2e 2e 31 34 29 36 00 00 00 00 00 00 00 00   .(..14)6........
f0: 00 00 00 00 00 66 00 00 ff ff ff ff 00 00 00 00   .....f..........
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 43 4f 55 49 41 38 4e 43 41 41 31 30 2d 32 34 31   COUIA8NCAA10-241
90: 35 2d 30 33 56 30 33 20 01 00 46 00 00 00 00 c6   5-03V03 ..F.....
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa aa   ................
c0: 53 46 50 2d 31 30 47 2d 53 52 20 20 20 20 20 20   SFP-10G-SR
d0: 20 20 20 20 32 36 20 20 20 20 20 20 20 20 20 58       26         X
e0: 1e 28 2e 2e 31 34 29 36 00 00 00 00 00 00 00 00   .(..14)6........
f0: 00 00 00 00 00 66 00 00 ff ff ff ff 00 00 00 00   .....f..........
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff 56 31 32 ff ff 01 00 f0 05 1a ba   .....V12........
root@OpenWrt:~#                


<<<  "Cisco SFP-10GM-T-30互換 SFP+光モジュール(10M/100M/1G/2.5G/5G/10Gbps NBASE-T 銅製 RJ-45 30m)" モジュール  2024年12月製造 >>>

[ 5714.436840] br-wan: port 2(eth2) entered disabled state
[ 5717.361332] sfp sfp1: module removed
[ 5723.289560] sfp sfp1: module FS               SFP-10GM-T-30    rev      sn G2440340990      dc 241220
[ 5723.329428] hwmon hwmon2: temp1_input not attached to any thermal zone
[ 5723.430605] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 10Gbps/Full - flow control off
[ 5723.438954] mtk_soc_eth 15100000.ethernet eth2: Link is Down
[ 5728.041153] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 10Gbps/Full - flow control off
[ 5728.051324] br-wan: port 2(eth2) entered blocking state
[ 5728.056544] br-wan: port 2(eth2) entered forwarding state

root@OpenWrt:~# ethtool eth2
Settings for eth2:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseSR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseSR/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
root@OpenWrt:~# i2cdetect -l
i2c-0   i2c             i2c-mt65xx                              I2C adapter
i2c-1   i2c             i2c-mt65xx                              I2C adapter
i2c-2   i2c             i2c-1-mux (chan_id 0)                   I2C adapter
i2c-3   i2c             i2c-1-mux (chan_id 1)                   I2C adapter
i2c-4   i2c             i2c-1-mux (chan_id 2)                   I2C adapter
i2c-5   i2c             i2c-1-mux (chan_id 3)                   I2C adapter
root@OpenWrt:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- 53 -- -- 56 UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~#                  

root@OpenWrt:~# i2csfp /dev/i2c-1 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 07 10 00 00 00 40 00 0c 00 06 67 00 00 00   .......@....g...
10: 03 01 00 00 46 53 20 20 20 20 20 20 20 20 20 20   ....FS
20: 20 20 20 20 00 00 00 00 53 46 50 2d 31 30 47 4d       ....SFP-10GM
30: 2d 54 2d 33 30 20 20 20 20 20 20 20 03 52 00 85   -T-30       .R..
40: 00 1a 0a 58 47 32 34 34 30 33 34 30 39 39 30 20   ...XG2440340990
50: 20 20 20 20 32 34 31 32 32 30 20 20 68 f0 03 2c       241220  h..,
60: 00 00 08 bf 2f f6 23 21 bf 80 14 99 8a 8f 21 16   ..../.#!......!.
70: 48 97 c0 00 00 00 00 00 00 00 00 00 c9 33 35 e0   H............35.
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 7d 00 ce 00 64 00 d3 00 8c a0 71 48 88 b8 75 30   }...d.....qH..u0
10: 30 d4 01 f4 27 10 02 58 3d e9 04 62 27 10 06 f2   0...'..X=..b'...
20: 3d e9 01 3c 27 10 01 f5 31 32 33 33 34 35 36 37   =..<'...12334567
30: 38 39 40 41 42 43 44 45 00 00 00 00 00 00 00 00   89@ABCDE........
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 76 77 78 15   ............vwx.
60: 33 00 7e f4 0b c0 0e e0 13 f4 89 90 91 92 02 94   3.~.............
70: 00 00 97 98 00 00 18 00 00 00 00 ff ff ff ff ff   ................
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 43 4f 55 49 41 38 4e 43 41 41 31 30 2d 32 34 31   COUIA8NCAA10-241
90: 35 2d 30 33 56 30 33 20 01 00 46 00 00 00 00 c6   5-03V03 ..F.....
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa aa   ................
c0: 53 46 50 2d 31 30 47 2d 53 52 20 20 20 20 20 20   SFP-10G-SR
d0: 20 20 20 20 32 36 20 20 20 20 20 20 20 20 20 58       26         X
e0: 1e 28 2e 2e 31 34 29 36 00 00 00 00 00 00 00 00   .(..14)6........
f0: 00 00 00 00 00 66 00 00 ff ff ff ff 00 00 00 00   .....f..........
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 43 4f 55 49 41 38 4e 43 41 41 31 30 2d 32 34 31   COUIA8NCAA10-241
90: 35 2d 30 33 56 30 33 20 01 00 46 00 00 00 00 c6   5-03V03 ..F.....
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa aa   ................
c0: 53 46 50 2d 31 30 47 2d 53 52 20 20 20 20 20 20   SFP-10G-SR
d0: 20 20 20 20 32 36 20 20 20 20 20 20 20 20 20 58       26         X
e0: 1e 28 2e 2e 31 34 29 36 00 00 00 00 00 00 00 00   .(..14)6........
f0: 00 00 00 00 00 66 00 00 ff ff ff ff 00 00 00 00   .....f..........
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
root@OpenWrt:~#      




同様なテストを光ファイバ系のSFP+モジュールでも行ってみたが、Banana Pi-R4とOpenWRTの組み合わせではきちんと認識していた.


テストした SFP+モジュールは、
 ・FS.COM  SFP-10GLR-31 1310nm 10km タイプ (Netgear互換品)
 ・FS.COM  SFP-10GSR-85 850nm 300m タイプ (Netgear互換品)
 ・Fortinet FN-TRN-SFP+LR (FTLX1475D3BCLFTN)

FS.COMの製品は自社で開発しているのか他社からのOEMなのかははっきりしないが、FortinetのモジュールはCoherent社のOEM FTLX1475D3BCL のようだ.


Calendar

May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
  • Blogroll

  • Meta