Apple USB Ethernet fails when wake-on-lan is enabled (as happens by default)

Bug #899498 reported by Eugene
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

I'm running Oneiric (11.10) on a MacBookAir3,1 with Apple's USB Ethernet Adapter (A1277).

Problem is that when I start up the computer it doesn't work - unplugging and replugging fixes it. A few days ago I tracked this down to the /usr/lib/pm-utils/power.d/disable_wol script which runs:

ethtool -s eth0 wol g # --> networking broken

I've tried the vendor's GPL driver from http://www.asix.com.tw/download.php?sub=driverdetail&PItemID=86 and it works - wol doesn't break it.

I've since discovered that a couple of fixes for the asix driver have been merged from the vendor and are now in linux 3.2-rc4: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=history;f=drivers/net/usb/asix.c;h=e6fed4d4cb77f70c8c6d62af16d53a57ed31c99c;hb=HEAD. The fix for the wol issue seems to be in this commit http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=4ad1438f025ed8d1e4e95a796ca7f0ad5a22c378.

I think we should try to get these asix patches into the stable kernel so that this issue is fixed for other Oneiric users. I'm going to try to test that it fixes my issue by compiling 3.0.0-13.22 with the asix.c from 3.2-rc4.
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: NVidia [HDA NVidia], device 0: Cirrus Analog [Cirrus Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: eug 1978 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'NVidia'/'HDA NVidia at 0xd3280000 irq 17'
   Mixer name : 'Nvidia MCP89 HDMI'
   Components : 'HDA:10134206,106b3d00,00100301 HDA:10de000c,10de0101,00100200'
   Controls : 29
   Simple ctrls : 12
DistroRelease: Ubuntu 11.10
MachineType: Apple Inc. MacBookAir3,2
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-13-generic-pae root=UUID=f515b1c8-cf4b-4377-a20a-f5067bdf88d6 ro splash reboot=pci acpi_backlight=vendor vt.handoff=7
ProcVersionSignature: Ubuntu 3.0.0-13.22-generic-pae 3.0.6
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-13-generic-pae N/A
 linux-backports-modules-3.0.0-13-generic-pae N/A
 linux-firmware 1.60
StagingDrivers: brcmsmac brcmutil
Tags: oneiric running-unity staging
Uname: Linux 3.0.0-13-generic-pae i686
UpgradeStatus: Upgraded to oneiric on 2011-10-25 (39 days ago)
UserGroups: adm admin cdrom dialout fuse lpadmin plugdev sambashare vboxusers
dmi.bios.date: 11/18/10
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBA31.88Z.0061.B01.1011181342
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-942C5DF58193131B
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookAir3,2
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-942C5DF58193131B
dmi.modalias: dmi:bvnAppleInc.:bvrMBA31.88Z.0061.B01.1011181342:bd11/18/10:svnAppleInc.:pnMacBookAir3,2:pvr1.0:rvnAppleInc.:rnMac-942C5DF58193131B:rvrMacBookAir3,2:cvnAppleInc.:ct10:cvrMac-942C5DF58193131B:
dmi.product.name: MacBookAir3,2
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.

Revision history for this message
Eugene (euug) wrote :
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 899498

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
Phil. V (philip.v)
tags: added: hw-specific macbook
Revision history for this message
Eugene (euug) wrote : AcpiTables.txt

apport information

tags: added: apport-collected oneiric running-unity staging
description: updated
Revision history for this message
Eugene (euug) wrote : AlsaDevices.txt

apport information

Revision history for this message
Eugene (euug) wrote : AplayDevices.txt

apport information

Revision history for this message
Eugene (euug) wrote : BootDmesg.txt

apport information

Revision history for this message
Eugene (euug) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Eugene (euug) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
Eugene (euug) wrote : Card0.Codecs.codec.3.txt

apport information

Revision history for this message
Eugene (euug) wrote : Card0.Codecs.codec.4.txt

apport information

Revision history for this message
Eugene (euug) wrote : Card0.Codecs.codec.5.txt

apport information

Revision history for this message
Eugene (euug) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Eugene (euug) wrote : IwConfig.txt

apport information

Revision history for this message
Eugene (euug) wrote : Lspci.txt

apport information

Revision history for this message
Eugene (euug) wrote : Lsusb.txt

apport information

Revision history for this message
Eugene (euug) wrote : PciMultimedia.txt

apport information

Revision history for this message
Eugene (euug) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Eugene (euug) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Eugene (euug) wrote : ProcModules.txt

apport information

Revision history for this message
Eugene (euug) wrote : PulseSinks.txt

apport information

Revision history for this message
Eugene (euug) wrote : PulseSources.txt

apport information

Revision history for this message
Eugene (euug) wrote : RfKill.txt

apport information

Revision history for this message
Eugene (euug) wrote : UdevDb.txt

apport information

Revision history for this message
Eugene (euug) wrote : UdevLog.txt

apport information

Revision history for this message
Eugene (euug) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Eugene (euug) wrote :

Ok, I've run apport-collect - pretty noisy..

I don't think this is hw-specific macbook because the problem seems to be in the driver for a common USB Ethernet controller.

Revision history for this message
Eugene (euug) wrote :

I've just confirmed that asix.c from 3.2-rc4 fixes this issue

tags: added: kernel-fixed-upstream-v3.2-rc4
Revision history for this message
Phil. V (philip.v) wrote :

I added the macbook and hw-specific tags because the bug concerns a macbook, and requires a certain piece of hardware to duplicate (that ethernet controller). It doesn't necessarily mean the bug is specific to your system or configuration, just that if someone wanted to reproduce the bug they would need your ethernet controller. It's fairly insignificant in the case of this bug, I was just trying to make the report more complete.

Revision history for this message
Eugene (euug) wrote :

In case the stable tree maintainers don't want to include the full patch from 3.2-rc4, I've just successfully tested the part of it that just fixes wake-on-lan.

I've also found and fixed an easy bug in asix_get_wol that's still in 3.2-rc4.... They need to add:

diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index e6fed4d..7389c7b 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -689,6 +689,10 @@ asix_get_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo)
        }
        wolinfo->supported = WAKE_PHY | WAKE_MAGIC;
        wolinfo->wolopts = 0;
+ if (opt & AX_MONITOR_LINK)
+ wolinfo->wolopts |= WAKE_PHY;
+ if (opt & AX_MONITOR_MAGIC)
+ wolinfo->wolopts |= WAKE_MAGIC;
 }

If an Ubuntu person can get this fixed in upstream that would be great.

tags: added: patch
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Eugene (euug) wrote :

I've alerted upstream via the linux-netdev list of the bug in asix_get_wol

Revision history for this message
penalvch (penalvch) wrote :

Eugene, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

If reproducible, could you also please test the latest upstream kernel available (not the daily folder) following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.13-rc5

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Eugene (euug) wrote :

Thanks for looking into this Christopher - this issue seems to be fixed, but I can't even enable wake-on-lan now - possibly a separate bug.

Revision history for this message
penalvch (penalvch) wrote :

Eugene, regarding WOL not working, this would be a separate bug. Please feel free to report a new one via a terminal:
ubuntu-bug linux

Despite that, this bug report is being closed due to your last comment https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899498/comments/32 regarding this being fixed with an update. For future reference you can manage the status of your own bugs by clicking on the current status in the yellow line and then choosing a new status in the revealed drop down box. You can learn more about bug statuses at https://wiki.ubuntu.com/Bugs/Status. Thank you again for taking the time to report this bug and helping to make Ubuntu better. Please submit any future bugs you may find.

Changed in linux (Ubuntu):
status: Incomplete → Invalid
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.