sky2 ethernet card link not up after suspend

Bug #1809843 reported by Mike Boruta on 2018-12-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
Disco
Undecided
Unassigned

Bug Description

Issue is as described by the user 'kris' in #1798921 (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1798921).

Sometimes when bringing my laptop up from suspended state my Ethernet card shows link connection and activity via port LEDs but ethtool indicates the link is not up. This does not happen every time I resume from suspend, about one in 5 times. When it does happen, the following additional message is present in my dmesg output:

[ 686.804877] do_IRQ: 1.37 No irq handler for vector

The lspci -vvnn output for the Ethernet card is:

02:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller [11ab:4380] (rev 10)
 Subsystem: Acer Incorporated [ALI] 88E8057 PCI-E Gigabit Ethernet Controller [1025:028e]
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
 Latency: 0, Cache Line Size: 64 bytes
 Interrupt: pin A routed to IRQ 27
 Region 0: Memory at f3000000 (64-bit, non-prefetchable) [size=16K]
 Region 2: I/O ports at 3000 [size=256]
 [virtual] Expansion ROM at f3020000 [disabled] [size=128K]
 Capabilities: [48] Power Management version 3
  Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
  Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
 Capabilities: [50] Vital Product Data
  Product Name: Marvell Yukon 88E8057 Gigabit Ethernet Controller
  Read-only fields:
   [PN] Part number: Yukon 88E8057
   [EC] Engineering changes: Rev. 1.1
   [MN] Manufacture ID: 4d 61 72 76 65 6c 6c
   [SN] Serial number: AbCdEfG5B3D09
   [CP] Extended capability: 01 10 cc 03
   [RV] Reserved: checksum good, 9 byte(s) reserved
  Read/write fields:
   [RW] Read-write area: 121 byte(s) free
  End
 Capabilities: [5c] MSI: Enable+ Count=1/1 Maskable- 64bit+
  Address: 00000000fee02004 Data: 4025
 Capabilities: [c0] Express (v2) Legacy Endpoint, MSI 00
  DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
   ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
  DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
   RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
   MaxPayload 128 bytes, MaxReadReq 512 bytes
  DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
  LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <32us
   ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
  LnkCtl: ASPM L1 Enabled; RCB 128 bytes Disabled- CommClk+
   ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
  LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
  DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
  DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
  LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
    Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    Compliance De-emphasis: -6dB
  LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
    EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
 Capabilities: [100 v1] Advanced Error Reporting
  UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
  UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
  UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
  CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
  CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
  AERCap: First Error Pointer: 1f, GenCap- CGenEn- ChkCap- ChkEn-
 Capabilities: [130 v1] Device Serial Number 09-3d-5b-ff-ff-2d-26-00
 Kernel driver in use: sky2
 Kernel modules: sky2

The kernel I am running is 4.15.0-42-generic #45 (slightly modified such that CONFIG_X86_ACPI_CPUFREQ is compiled as a module). Using Ubuntu 18.04.

I am creating this bug report as a result of the comment: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1798921/comments/34, in the hopes that this specific card will be added to the relevant MSI quirks table. If I do not suffer from the same issue as kris in the above linked issue, I will be happy to provide any additional information, test fixes etc. I would like to avoid using the 'pci=nomsi,noaer' workaround he mentioned if possible.
---
ProblemType: Bug
ApportVersion: 2.20.9-0ubuntu7.5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/pcmC0D0c: maridius 2260 F...m pulseaudio
 /dev/snd/controlC0: maridius 2260 F.... pulseaudio
CurrentDesktop: Unity:Unity7:ubuntu
DistroRelease: Ubuntu 18.04
HibernationDevice: RESUME=UUID=0840edd3-6052-4916-bcc2-4c5b13edb862
InstallationDate: Installed on 2015-09-01 (1212 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: Gateway P-79
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcFB: 0 VESA VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-42-generic root=UUID=ad05ff21-9786-4f03-8641-85f2f416363d ro quiet splash vt.handoff=1
ProcVersionSignature: Ubuntu 4.15.0-42.45+PHC-generic 4.15.18
RelatedPackageVersions:
 linux-restricted-modules-4.15.0-42-generic N/A
 linux-backports-modules-4.15.0-42-generic N/A
 linux-firmware 1.173.2
Tags: bionic
Uname: Linux 4.15.0-42-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo vboxusers
_MarkForUpload: True
dmi.bios.date: 09/30/2009
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: 79.07.00
dmi.board.name: Godzilla-N10
dmi.board.vendor: Gateway
dmi.board.version: Rev
dmi.chassis.type: 10
dmi.chassis.vendor: Gateway
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr79.07.00:bd09/30/2009:svnGateway:pnP-79:pvr0100:rvnGateway:rnGodzilla-N10:rvrRev:cvnGateway:ct10:cvrN/A:
dmi.product.name: P-79
dmi.product.version: 0100
dmi.sys.vendor: Gateway

CVE References

Mike Boruta (maridius) wrote :
Mike Boruta (maridius) wrote :

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1809843

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
tags: added: bionic

apport information

tags: added: apport-collected
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Mike Boruta (maridius) wrote :

Is there any more information I can add to help debug this issue?

Jeremy (wa113y3s) wrote :

In terminal try

echo "options sky2 disable_msi=1" | sudo tee /etc/modprobe.d/sky2.conf
sudo modprobe -r sky2
sudo modprobe sky2

Then test it

Mike Boruta (maridius) wrote :

Thank you for your response, this seems to do the trick. I was worried that disabling MSI would decrease networking performance, but a simple iperf3 test comparison showed no difference. Long term it seems that this should be handled in the kernel driver code (according to https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1798921/comments/34).

Kai-Heng Feng (kaihengfeng) wrote :

Please test the kernel without the "disable_msi" options:
https://people.canonical.com/~khfeng/linux-lp1807259-sky2-msi/

Mike Boruta (maridius) wrote :

Thank you very much for the kernel Feng, and sorry for the late response. I tested it as instructed and it works! Performed close to 20 suspend/start cycles without issue; before I would get a failure around every 3 runs.

Changed in linux (Ubuntu Disco):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (10.9 KiB)

This bug was fixed in the package linux - 5.0.0-8.9

---------------
linux (5.0.0-8.9) disco; urgency=medium

  * linux: 5.0.0-8.9 -proposed tracker (LP: #1819759)

  * hisi_sas: add debugfs support (LP: #1819500)
    - scsi: hisi_sas: Create root and device debugfs directories
    - scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers
    - scsi: hisi_sas: Take debugfs snapshot for all regs
    - scsi: hisi_sas: Debugfs global register create file and add file operations
    - scsi: hisi_sas: Add debugfs for port registers
    - scsi: hisi_sas: Add debugfs CQ file and add file operations
    - scsi: hisi_sas: Add debugfs DQ file and add file operations
    - scsi: hisi_sas: Add debugfs IOST file and add file operations
    - scsi: hisi_sas: No need to check return value of debugfs_create functions
    - scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs
      code
    - scsi: hisi_sas: Add debugfs ITCT file and add file operations

  * [disco] hns driver updates from 5.1 merge window (LP: #1819535)
    - net: hns: Use struct_size() in devm_kzalloc()
    - net: hns3: modify enet reinitialization interface
    - net: hns3: remove unused member in struct hns3_enet_ring
    - net: hns3: remove unnecessary hns3_adjust_tqps_num
    - net: hns3: reuse reinitialization interface in the hns3_set_channels
    - net: hns3: add interface hclge_tm_bp_setup
    - net: hns3: modify parameter checks in the hns3_set_channels
    - net: hns3: remove redundant codes in hclge_knic_setup
    - net: hns3: fix user configuration loss for ethtool -L
    - net: hns3: adjust the use of alloc_tqps and num_tqps
    - net: hns3: fix wrong combined count returned by ethtool -l
    - net: hns3: do reinitialization while ETS configuration changed
    - net: hns3: add HNAE3_RESTORE_CLIENT interface in enet module
    - net: hns3: add calling roce callback function when link status change
    - net: hns3: add rx multicast packets statistic
    - net: hns3: refactor the statistics updating for netdev
    - net: hns3: fix rss configuration lost problem when setting channel
    - net: hns3: fix for shaper not setting when TC num changes
    - net: hns3: fix bug of ethtool_ops.get_channels for VF
    - net: hns3: clear param in ring when free ring
    - net: hns3: Change fw error code NOT_EXEC to NOT_SUPPORTED
    - net: hns3: do not return GE PFC setting err when initializing
    - net: hns3: add ETS TC weight setting in SSU module
    - net: hns3: add statistics for PFC frames and MAC control frames
    - net: hns3: fix PFC not setting problem for DCB module
    - net: hns3: don't update packet statistics for packets dropped by hardware
    - net: hns3: clear pci private data when unload hns3 driver
    - net: hns3: add error handling in hclge_ieee_setets
    - net: hns3: fix return value handle issue for hclge_set_loopback()
    - net: hns3: fix broadcast promisc issue for revision 0x20
    - net: hns3: After setting the loopback, add the status of getting MAC
    - net: hns3: do reinitialization while mqprio configuration changed
    - net: hns3: remove dcb_ops->map_update in hclge_dcb
    - net: hns3: call hns3_nic_set_real_num_queue ...

Changed in linux (Ubuntu Disco):
status: Fix Committed → Fix Released

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-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

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-xenial
Mike Boruta (maridius) wrote :

I have attempted to test the kernel mentioned above and have not been able to; I enabled the given repo, installed the packages linux-image-5.0.0-8-generic, linux-headers-5.0.0-8, linux-headers-5.0.0-8-generic and linux-modules-5.0.0-8-generic and upon reboot was not able to start gdm. Fine, my nvidia modules failed to recompile for the new kernel, but when attempting to start networking I found that the sky2 kernel module was not present on my system. Indeed, linux-modules-5.0.0-8-generic does not contain sky2, even though it is built as a module according to the kernel config. Am I missing something? How do you suggest I test these changes?

Also, why is this titled 'verification-needed-xenial' and not 'verification-needed-bionic'?

Hi Mike,

The verification comment was added referring to Xenial because the fix for this issue ("sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79") has been committed to Xenial kernel as part of the 4.4.177 upstream stable update (bug 1822271).

The 5.0 kernel is from the Disco series, which is currently under development. Bionic hasn't received this fix because no SRU request has been submitted for it yet.

Kai-Heng Feng,

Are you going to submit a SRU request for this bug for Bionic (and possibly Cosmic too)?

Changed in linux (Ubuntu Bionic):
status: New → Triaged
Changed in linux (Ubuntu Cosmic):
status: New → Triaged
Changed in linux (Ubuntu Bionic):
assignee: nobody → Kai-Heng Feng (kaihengfeng)
Changed in linux (Ubuntu Bionic):
assignee: Kai-Heng Feng (kaihengfeng) → nobody
Changed in linux (Ubuntu Bionic):
status: Triaged → Fix Committed
status: Fix Committed → In Progress
Changed in linux (Ubuntu Cosmic):
status: Triaged → In Progress
Changed in linux (Ubuntu Bionic):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Cosmic):
status: In Progress → Fix Committed

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-cosmic' to 'verification-done-cosmic'. If the problem still exists, change the tag 'verification-needed-cosmic' to 'verification-failed-cosmic'.

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-cosmic
tags: added: verification-needed-bionic

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-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

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!

Mike Boruta (maridius) on 2019-07-06
tags: added: verification-done-bionic
removed: verification-needed-bionic
Mike Boruta (maridius) wrote :

I verified the proposed kernel for bionic, all good, no issue over 10 trials. Since I am only running bionic on this laptop I will not test xenial and cosmos unless instructed otherwise. Thank you very much everyone for your help!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers