Merlin SGMII fail on Ubuntu Xenial HWE kernel

Bug #1686305 reported by Thang Nguyen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Joseph Salisbury
Yakkety
Fix Released
Medium
Joseph Salisbury
Zesty
Fix Released
Medium
Joseph Salisbury

Bug Description

Using the Ubuntu Xenial HWE installation image at http://ports.ubuntu.com/ubuntu-ports/dists/xenial-updates/main/installer-arm64/current/images/hwe-netboot to install Ubuntu into the Merlin board, the SGMII port is fail to get IP from DHCP.
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=UUID=2aa90b24-e14e-4854-b52b-b853388a3466
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=/boot/vmlinuz-4.8.0-49-generic root=UUID=8e10d908-38aa-4cb4-990c-4a9bcabc51a4 ro splash quiet vt.handoff=7
ProcVersionSignature: Ubuntu 4.8.0-49.52~16.04.1-generic 4.8.17
RelatedPackageVersions:
 linux-restricted-modules-4.8.0-49-generic N/A
 linux-backports-modules-4.8.0-49-generic N/A
 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.asset.tag: Not Specified
dmi.board.name: X-Gene Merlin Board
dmi.board.vendor: AppliedMicro
dmi.board.version: 1.0
dmi.chassis.asset.tag: Not Specified
dmi.chassis.type: 23
dmi.chassis.vendor: AppliedMicro
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAppliedMicro:bvr3.06.25:bdOct172016:svnAppliedMicro:pnX-GeneMerlinBoard:pvr1.0:rvnAppliedMicro:rnX-GeneMerlinBoard:rvr1.0:cvnAppliedMicro:ct23:cvr1.0:
dmi.product.name: X-Gene Merlin Board
dmi.product.version: 1.0
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=UUID=2aa90b24-e14e-4854-b52b-b853388a3466
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=/boot/vmlinuz-4.8.0-49-generic root=UUID=8e10d908-38aa-4cb4-990c-4a9bcabc51a4 ro splash quiet vt.handoff=7
ProcVersionSignature: Ubuntu 4.8.0-49.52~16.04.1-generic 4.8.17
RelatedPackageVersions:
 linux-restricted-modules-4.8.0-49-generic N/A
 linux-backports-modules-4.8.0-49-generic N/A
 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.asset.tag: Not Specified
dmi.board.name: X-Gene Merlin Board
dmi.board.vendor: AppliedMicro
dmi.board.version: 1.0
dmi.chassis.asset.tag: Not Specified
dmi.chassis.type: 23
dmi.chassis.vendor: AppliedMicro
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAppliedMicro:bvr3.06.25:bdOct172016:svnAppliedMicro:pnX-GeneMerlinBoard:pvr1.0:rvnAppliedMicro:rnX-GeneMerlinBoard:rvr1.0:cvnAppliedMicro:ct23:cvr1.0:
dmi.product.name: X-Gene Merlin Board
dmi.product.version: 1.0
dmi.sys.vendor: AppliedMicro

Revision history for this message
Thang Nguyen (tqnguyen) wrote :

After investigation, I found that with 4.8 kernel, when the PHY is enabled, the link status is read from PHY.
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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/phy/marvell.c?id=a13c06525ab9ff442924e67df9393a5efa914c56
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/phy/mdio-xgene.c?id=4b72436dc3dd2457056b22d6f147777368c869fa

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1686305

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Thang Nguyen (tqnguyen) wrote :

Logfile for Ubuntu Xenial HWE (kernel 4.8) on the Merlin board. SGMII fail to work and ethtool report link not detected.

Revision history for this message
Thang Nguyen (tqnguyen) wrote : CRDA.txt

apport information

tags: added: apport-collected xenial
description: updated
Revision history for this message
Thang Nguyen (tqnguyen) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : JournalErrors.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : Lspci.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcModules.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : UdevDb.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : WifiSyslog.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : CRDA.txt

apport information

description: updated
Revision history for this message
Thang Nguyen (tqnguyen) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : JournalErrors.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : Lspci.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : ProcModules.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : UdevDb.txt

apport information

Revision history for this message
Thang Nguyen (tqnguyen) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
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
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a Yakkety test kernel with the two commits mentioned in comment #1. The test kernel can be downloaded from:

http://kernel.ubuntu.com/~jsalisbury/lp1686305/

Can you test this kernel and see if it resolves the bug?

Thanks in advance!

Revision history for this message
Thang Nguyen (tqnguyen) wrote :

Hi Joseph,
Can you help recompile the images for AARCH64 instead of X86_64? The Merlin board is using ARM64 CPU, not X86_64.

Thanks for your help,
Thang Q. Nguyen -

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Sorry about that. I've now built an ARM64 Yakkety test kernel with the two commits mentioned in comment #1. The test kernel can be downloaded from:

http://kernel.ubuntu.com/~jsalisbury/lp1686305/

Can you test this kernel and see if it resolves the bug?

Thanks in advance!

Revision history for this message
Thang Nguyen (tqnguyen) wrote :

Thanks Joseph,
Merlin SGMII works fine with your images.

Regards/Thang.

Revision history for this message
Thang Nguyen (tqnguyen) wrote :

Hi Joseph,
Will you apply two commits I mentioned to the hwe and hwe-edge branches?

Thanks,

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Yes, I will request that in the SRU request.

Seth Forshee (sforshee)
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Thang Nguyen (tqnguyen) wrote :

Hi Seth,
What revision is the fix landed? I checked on "4.8.0-53-generic #56~16.04.1-Ubuntu" without seeing the issue fixed.
amcc@Ubuntu:~$ uname -a
Linux Ubuntu 4.8.0-53-generic #56~16.04.1-Ubuntu SMP Tue May 16 01:15:44 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux

Actually, I have not seen the 2 commits are on the hwe and hwe branches. I checked them on:
- hwe (4.8 kernel): http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/log/drivers/net/phy?h=hwe
- hwe-edge (4.10 kernel): http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/log/drivers/net/phy?h=hwe-edge

Regards,
Thang Q. Nguyen -

Changed in linux (Ubuntu Zesty):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Joseph Salisbury (jsalisbury)
Stefan Bader (smb)
Changed in linux (Ubuntu Zesty):
status: In Progress → Fix Committed
Juerg Haefliger (juergh)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-yakkety
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-zesty' to 'verification-done-zesty'. If the problem still exists, change the tag 'verification-needed-zesty' to 'verification-failed-zesty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-zesty
Thang Nguyen (tqnguyen)
tags: added: verification-done-zesty
removed: verification-needed-zesty
tags: added: verification-done-yakkety
removed: verification-needed-yakkety
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package linux - 4.8.0-58.63

---------------
linux (4.8.0-58.63) yakkety; urgency=low

  * linux: 4.8.0-58.63 -proposed tracker (LP: #1700533)

  * CVE-2017-1000364
    - Revert "UBUNTU: SAUCE: mm: Only expand stack if guard area is hit"
    - Revert "mm: do not collapse stack gap into THP"
    - Revert "mm: enlarge stack guard gap"
    - mm: vma_adjust: remove superfluous confusing update in remove_next == 1 case
    - mm: larger stack guard gap, between vmas
    - mm: fix new crash in unmapped_area_topdown()
    - Allow stack to grow up to address space limit

linux (4.8.0-57.62) yakkety; urgency=low

  * linux: 4.8.0-57.62 -proposed tracker (LP: #1699035)

  * CVE-2017-1000364
    - SAUCE: mm: Only expand stack if guard area is hit

  * CVE-2017-7374
    - fscrypt: remove broken support for detecting keyring key revocation

  * CVE-2017-100363
    - char: lp: fix possible integer overflow in lp_setup()

  * CVE-2017-9242
    - ipv6: fix out of bound writes in __ip6_append_data()

  * CVE-2017-9075
    - sctp: do not inherit ipv6_{mc|ac|fl}_list from parent

  * CVE-2017-9074
    - ipv6: Prevent overrun when parsing v6 header options

  * CVE-2017-9076
    - ipv6/dccp: do not inherit ipv6_mc_list from parent

  * CVE-2017-9077
    - ipv6/dccp: do not inherit ipv6_mc_list from parent

  * CVE-2017-8890
    - dccp/tcp: do not inherit mc_list from parent

  * extend-diff-ignore should use exact matches (LP: #1693504)
    - [Packaging] exact extend-diff-ignore matches

  * APST quirk needed for Intel NVMe (LP: #1686592)
    - nvme: Quirk APST on Intel 600P/P3100 devices

  * regression: the 4.8 hwe kernel does not create the
    /sys/block/*/device/enclosure_device:* symlinks (LP: #1691899)
    - scsi: ses: Fix SAS device detection in enclosure

  * datapath: Add missing case OVS_TUNNEL_KEY_ATTR_PAD (LP: #1676679)
    - openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD

  * connection flood to port 445 on mounting cifs volume under kernel
    (LP: #1686099)
    - cifs: Do not send echoes before Negotiate is complete

  * Support IPMI system interface on Cavium ThunderX (LP: #1688132)
    - i2c: octeon: Rename driver to prepare for split
    - i2c: octeon: Split the driver into two parts
    - [Config] CONFIG_I2C_THUNDERX=m
    - i2c: thunderx: Add i2c driver for ThunderX SOC
    - i2c: thunderx: Add SMBUS alert support
    - i2c: octeon,thunderx: Move register offsets to struct
    - i2c: octeon: Sort include files alphabetically
    - i2c: octeon: Use booleon values for booleon variables
    - i2c: octeon: thunderx: Add MAINTAINERS entry
    - i2c: octeon: Fix set SCL recovery function
    - i2c: octeon: Avoid sending STOP during recovery
    - i2c: octeon: Fix high-level controller status check
    - i2c: octeon: thunderx: TWSI software reset in recovery
    - i2c: octeon: thunderx: Remove double-check after interrupt
    - i2c: octeon: thunderx: Limit register access retries
    - i2c: thunderx: Enable HWMON class probing

  * CVE-2017-5577
    - drm/vc4: Return -EINVAL on the overflow checks failing.

  * Merlin SGMII fail on Ubuntu Xenial HWE kernel (LP: #1686305)
    - net: phy: marvell: fix Marvell 88E1512 u...

Read more...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (19.7 KiB)

This bug was fixed in the package linux - 4.10.0-26.30

---------------
linux (4.10.0-26.30) zesty; urgency=low

  * linux: 4.10.0-26.30 -proposed tracker (LP: #1700528)

  * CVE-2017-1000364
    - Revert "UBUNTU: SAUCE: mm: Only expand stack if guard area is hit"
    - Revert "mm: do not collapse stack gap into THP"
    - Revert "mm: enlarge stack guard gap"
    - mm: larger stack guard gap, between vmas
    - mm: fix new crash in unmapped_area_topdown()
    - Allow stack to grow up to address space limit

linux (4.10.0-25.29) zesty; urgency=low

  * linux: 4.10.0-25.29 -proposed tracker (LP: #1699028)

  * CVE-2017-1000364
    - SAUCE: mm: Only expand stack if guard area is hit

  * CVE-2017-9074
    - ipv6: Prevent overrun when parsing v6 header options
    - ipv6: Check ip6_find_1stfragopt() return value properly.

  * [Zesty] QDF2400 ARM64 server - NMI watchdog: BUG: soft lockup - CPU#8 stuck
    for 22s! (LP: #1680549)
    - iommu/dma: Stop getting dma_32bit_pfn wrong
    - iommu/dma: Implement PCI allocation optimisation
    - iommu/dma: Convert to address-based allocation
    - iommu/dma: Clean up MSI IOVA allocation
    - iommu/dma: Plumb in the per-CPU IOVA caches
    - iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range

  * Zesty update to 4.10.17 stable release (LP: #1692898)
    - xen: adjust early dom0 p2m handling to xen hypervisor behavior
    - target: Fix compare_and_write_callback handling for non GOOD status
    - target/fileio: Fix zero-length READ and WRITE handling
    - iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement
    - usb: xhci: bInterval quirk for TI TUSB73x0
    - usb: host: xhci: print correct command ring address
    - USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
    - USB: Proper handling of Race Condition when two USB class drivers try to
      call init_usb_class simultaneously
    - USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
    - staging: vt6656: use off stack for in buffer USB transfers.
    - staging: vt6656: use off stack for out buffer USB transfers.
    - staging: gdm724x: gdm_mux: fix use-after-free on module unload
    - staging: wilc1000: Fix problem with wrong vif index
    - staging: comedi: jr3_pci: fix possible null pointer dereference
    - staging: comedi: jr3_pci: cope with jiffies wraparound
    - usb: misc: add missing continue in switch
    - usb: gadget: legacy gadgets are optional
    - usb: Make sure usb/phy/of gets built-in
    - usb: hub: Fix error loop seen after hub communication errors
    - usb: hub: Do not attempt to autosuspend disconnected devices
    - x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup
    - selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug
    - x86, pmem: Fix cache flushing for iovec write < 8 bytes
    - um: Fix PTRACE_POKEUSER on x86_64
    - perf/x86: Fix Broadwell-EP DRAM RAPL events
    - KVM: x86: fix user triggerable warning in kvm_apic_accept_events()
    - KVM: arm/arm64: fix races in kvm_psci_vcpu_on
    - arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses
    - block: fix blk_integrity_register to use templ...

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.