Merlin SGMII fail on Ubuntu Xenial HWE kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Yakkety |
Fix Released
|
Medium
|
Unassigned | ||
Zesty |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Using the Ubuntu Xenial HWE installation image at http://
After installation, booting into Linux prompt, the SGMII port is fail to get IP from DHCP also. Checking with ethtool, the link is always report down.
---
AlsaDevices:
total 0
crw-rw---- 1 root audio 116, 1 Feb 11 2016 seq
crw-rw---- 1 root audio 116, 33 Feb 11 2016 timer
AplayDevices: Error: [Errno 2] No such file or directory
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: arm64
ArecordDevices: Error: [Errno 2] No such file or directory
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=
IwConfig: Error: [Errno 2] No such file or directory
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 413c:2107 Dell Computer Corp.
Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: AppliedMicro X-Gene Merlin Board
Package: linux (not installed)
PciMultimedia:
ProcEnviron:
TERM=vt220
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 astdrmfb
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.157.8
RfKill: Error: [Errno 2] No such file or directory
Tags: xenial
Uname: Linux 4.8.0-49-generic aarch64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:
_MarkForUpload: True
dmi.bios.date: Oct 17 2016
dmi.bios.vendor: AppliedMicro
dmi.bios.version: 3.06.25
dmi.board.
dmi.board.name: X-Gene Merlin Board
dmi.board.vendor: AppliedMicro
dmi.board.version: 1.0
dmi.chassis.
dmi.chassis.type: 23
dmi.chassis.vendor: AppliedMicro
dmi.chassis.
dmi.modalias: dmi:bvnAppliedM
dmi.product.name: X-Gene Merlin Board
dmi.product.
dmi.sys.vendor: AppliedMicro
---
AlsaDevices:
total 0
crw-rw---- 1 root audio 116, 1 Feb 11 2016 seq
crw-rw---- 1 root audio 116, 33 Feb 11 2016 timer
AplayDevices: Error: [Errno 2] No such file or directory
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: arm64
ArecordDevices: Error: [Errno 2] No such file or directory
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=
IwConfig: Error: [Errno 2] No such file or directory
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 413c:2107 Dell Computer Corp.
Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: AppliedMicro X-Gene Merlin Board
Package: linux (not installed)
PciMultimedia:
ProcEnviron:
TERM=vt220
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 astdrmfb
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.157.8
RfKill: Error: [Errno 2] No such file or directory
Tags: xenial
Uname: Linux 4.8.0-49-generic aarch64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:
_MarkForUpload: True
dmi.bios.date: Oct 17 2016
dmi.bios.vendor: AppliedMicro
dmi.bios.version: 3.06.25
dmi.board.
dmi.board.name: X-Gene Merlin Board
dmi.board.vendor: AppliedMicro
dmi.board.version: 1.0
dmi.chassis.
dmi.chassis.type: 23
dmi.chassis.vendor: AppliedMicro
dmi.chassis.
dmi.modalias: dmi:bvnAppliedM
dmi.product.name: X-Gene Merlin Board
dmi.product.
dmi.sys.vendor: AppliedMicro
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Yakkety): | |
importance: | Undecided → Medium |
status: | New → In Progress |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
status: | Confirmed → In Progress |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Zesty): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Zesty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-zesty removed: verification-needed-zesty |
tags: |
added: verification-done-yakkety removed: verification-needed-yakkety |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Fix Released |
After investigation, I found that with 4.8 kernel, when the PHY is enabled, the link status is read from PHY. /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ drivers/ net/phy/ marvell. c?id=a13c06525a b9ff442924e67df 9393a5efa914c56 /git.kernel. org/pub/ scm/linux/ kernel/ git/davem/ net-next. git/commit/ drivers/ net/phy/ mdio-xgene. c?id=4b72436dc3 dd2457056b22d6f 147777368c869fa
However, there are bug in current codes in both Marvell 88E1512 PHY and xgene-mdio drivers, the link status is wrongly read.
The issue can be resolved when applying two below patches:
https:/
https:/