Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Regression][AST2700][ftgmac100] SGMII hard reset leaves Goldfinch RX path nonfunctional

オープン
#636 コメント 4 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@Yakiv-Huryk がすでに取り組んでいます。

2026年10月21日 から。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
linux

調査の方向性

Start with patches-sonic/0010-net-ftgmac100-hard-reset-mac-for-sgmii.patch and the ftgmac100 AST2700 reset path it changes. Compare the Goldfinch device-tree fixed-link configuration and BCM54210S topology with the patch's stated hardware case. Reproduce with the patch enabled and disabled, then verify that eth0 receives packets and DHCP completes without regressing the supported SGMII case.

索引モデルが issue の本文から書いたものです。

説明

BMC P0 regression

The generic ftgmac100 SGMII hard-reset patch causes the Ethernet receive path to stop working on the Arista Goldfinch AST2700 BMC.

After boot, eth0 reports carrier and link up. TX counters increase, but RX remains at zero. DHCP sends repeated requests without receiving any offers, so no IPv4 address is assigned.

PR: #75
Commit: https://github.com/sonic-net/sonic-linux-kernel/commit/22c7b0060dffd23ec0f71390690112e7148ae611

Platform
Platform: Arista Goldfinch BMC
SoC: Aspeed AST2700
Architecture: arm64
Kernel: 6.12.41+deb13-sonic-arm64
Goldfinch Ethernet configuration

Goldfinch configures MAC2 as fixed-link SGMII:

&mac2 {
    status = "okay";
    phy-mode = "sgmii";
    fixed-link {
        speed = <1000>;
        full-duplex;
    };
};

link

Affected image used for log collection:

SONiC.branch.msft-202608-ars.046172c0
Build date: 2026-09-25
Observed behavior

The interface reports both administrative and carrier state as up:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> state UP
    link/ether b8:a1:b8:a8:71:06

The kernel reports:
ftgmac100 14070000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off

However, RX remains at zero:

RX:  bytes packets errors dropped missed mcast
          0       0      0       0      0     0

TX:  bytes packets errors dropped carrier collsns
       7980      48      0       2       0       0

DHCP repeatedly transmits requests:

DHCPDISCOVER on eth0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

IPv6 DHCP solicitation also transmits without receiving a response:
XMT: Solicit on eth0

As a result, eth0 only has its automatically generated IPv6 link-local address and no IPv4 address.

Responsible Change

The kernel update enabled:
0010-net-ftgmac100-hard-reset-mac-for-sgmii.patch

The AST2700 driver already performed a hard reset for RMII:

reset_control_assert(priv->rst);
usleep_range(10000, 20000);
reset_control_deassert(priv->rst);

The new patch broadens that condition to every SGMII interface:


if (priv->netdev->phydev->interface == PHY_INTERFACE_MODE_RMII ||
    priv->netdev->phydev->interface == PHY_INTERFACE_MODE_SGMII)
Hardware Difference

The patch description specifically identifies an AST2700 platform using a Marvell 88E151x PHY over SGMII. It states that this hardware can enter an RX-stalled state after a link flap and that performing a full MAC hard reset recovers it.

The Marconi CPU card used with Goldfinch has a different SGMII topology and uses a Broadcom BCM54210S PHY. The connection is represented to Linux as fixed-link SGMII.

Therefore, the reset may be a valid workaround for the NVIDIA hardware and Marvell 88E151x combination, but applying it unconditionally to every SGMII interface negatively affects the Goldfinch/BCM54210S hardware.

Confirmation

Disabled only this patch and the eth0 connectivity was restored successfully, confirming that enabling the generic SGMII hard-reset path triggers the Goldfinch regression.

主要言語
Shell
スター
71
フォーク
245
平均マージ
3日 55分
マージ済み PR(30日)
5

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sonic-net/sonic-linux-kernel のほかの issue

sonic-net/sonic-linux-kernel の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。