# Realtek R8101 Wake-on-Lan (WOL) Troubles

## Jerblue

Hi everyone, 

I'm having WOL issues with a couple of Toshiba laptops that I have (A505-S6005). I'm running gentoo on the one in my room and XBMCbuntu on my kids' in the other room. Both have the same problem, so I'm not sure it's anything gentoo specific per se, but I'm not getting any feedback in other forums. But then again, who better than some gentoo gurus to save the day???

For the purposes of this post, I'll use the gentoo box for all the info. It is running my custom 3.4.0 kernel.

The laptop uses the Realtek R8101 ethernet adapter. I've tried both the R8169 (kernel module) and R8101 (currently using this one -- realtek website) driver modules with the same results. No matter what I do, I can't seem to get the laptop to wake properly via ethernet. Here's a data dump:

1. BIOS settings are set properly.

2. Relevant lspci info: 

```

01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)

```

3. ethtool:

```

Settings for eth0:

   Supported ports: [ TP ]

   Supported link modes:   10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

   Supported pause frame use: No

   Supports auto-negotiation: Yes

   Advertised link modes:  10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

   Advertised pause frame use: No

   Advertised auto-negotiation: Yes

   Speed: 100Mb/s

   Duplex: Full

   Port: Twisted Pair

   PHYAD: 0

   Transceiver: internal

   Auto-negotiation: on

   MDI-X: Unknown

   Supports Wake-on: pumbg

   Wake-on: g

   Current message level: 0x00000033 (51)

                drv probe ifdown ifup

```

4. /proc/acpi/wakeup:

```

cat /proc/acpi/wakeup 

Device   S-state     Status   Sysfs node

P0P1     S0   *disabled  pci:0000:00:1e.0

LID0     S4   *enabled   

EHC1     S3   *enabled   pci:0000:00:1d.0

HDEF     S4   *disabled  pci:0000:00:1b.0

RP01     S4   *disabled  pci:0000:00:1c.0

PXSX     S4   *enabled   pci:0000:01:00.0

RP02     S0   *disabled  

PXSX     S4   *disabled  

RP03     S0   *disabled  

PXSX     S4   *disabled  

RP04     S0   *disabled  pci:0000:00:1c.3

PXSX     S4   *disabled  pci:0000:02:00.0

RP05     S0   *disabled  pci:0000:00:1c.4

PXSX     S4   *disabled  

RP06     S0   *disabled  

PXSX     S4   *disabled  

RP07     S0   *disabled  

PXSX     S4   *disabled  

RP08     S0   *disabled  

PXSX     S4   *disabled  

PEG3     S4   *disabled  

PEG5     S4   *disabled  

PEG6     S4   *disabled 

```

5. /sys/bus/pci/devices/0000\:01\:00.0/power/wakeup:

```

cat /sys/bus/pci/devices/0000\:01\:00.0/power/wakeup

enabled

```

I just can't seem to figure it out! It's driving me bonkers. Wake up via bluetooth usb dongle works fine with suspend. So it's clearly capable of suspending and waking up.

The thing that really gets me, if I disable ACPI via grub (acpi=off) WOL works from suspend and shutdown.    :Confused: 

Last but not least, 

6. /var/log/messages seems to indicate good things:

```

Jun 27 19:58:12 localhost kernel: [  181.689376] PM: Preparing system for mem sleep

Jun 27 19:58:28 localhost kernel: [  182.341473] Freezing user space processes ... (elapsed 0.01 seconds) done.

Jun 27 19:58:28 localhost kernel: [  182.352730] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Jun 27 19:58:28 localhost kernel: [  182.363721] PM: Entering mem sleep

Jun 27 19:58:28 localhost kernel: [  182.363801] Suspending console(s) (use no_console_suspend to debug)

Jun 27 19:58:28 localhost kernel: [  182.364047] sd 1:0:0:0: [sda] Synchronizing SCSI cache

Jun 27 19:58:28 localhost kernel: [  182.364140] sd 1:0:0:0: [sda] Stopping disk

Jun 27 19:58:28 localhost kernel: [  182.435282] r8101 0000:01:00.0: wake-up capability enabled by ACPI

Jun 27 19:58:28 localhost kernel: [  182.834597] PM: suspend of devices complete after 470.858 msecs

Jun 27 19:58:28 localhost kernel: [  182.834667] PM: late suspend of devices complete after 0.064 msecs

Jun 27 19:58:28 localhost kernel: [  182.841752] ehci_hcd 0000:00:1d.0: wake-up capability enabled by ACPI

Jun 27 19:58:28 localhost kernel: [  182.863582] PM: noirq suspend of devices complete after 28.919 msecs

Jun 27 19:58:28 localhost kernel: [  182.863737] ACPI: Preparing to enter system sleep state S3

Jun 27 19:58:28 localhost kernel: [  182.875282] PM: Saving platform NVS memory

Jun 27 19:58:28 localhost kernel: [  182.876394] Disabling non-boot CPUs ...

Jun 27 19:58:28 localhost kernel: [  182.878123] CPU 1 is now offline

Jun 27 19:58:28 localhost kernel: [  182.879804] CPU 2 is now offline

Jun 27 19:58:28 localhost kernel: [  182.881335] CPU 3 is now offline

Jun 27 19:58:28 localhost kernel: [  182.881726] Extended CMOS year: 2000

Jun 27 19:58:28 localhost kernel: [  182.882353] ACPI: Low-level resume complete

Jun 27 19:58:28 localhost kernel: [  182.882420] PM: Restoring platform NVS memory

Jun 27 19:58:28 localhost kernel: [  182.882840] Extended CMOS year: 2000

Jun 27 19:58:28 localhost kernel: [  182.882885] Enabling non-boot CPUs ...

Jun 27 19:58:28 localhost kernel: [  182.882973] Booting Node 0 Processor 1 APIC 0x1

Jun 27 19:58:28 localhost kernel: [  182.896593] CPU1 is up

Jun 27 19:58:28 localhost kernel: [  182.896676] Booting Node 0 Processor 2 APIC 0x4

Jun 27 19:58:28 localhost kernel: [  182.910232] CPU2 is up

Jun 27 19:58:28 localhost kernel: [  182.910313] Booting Node 0 Processor 3 APIC 0x5

Jun 27 19:58:28 localhost kernel: [  182.923975] CPU3 is up

Jun 27 19:58:28 localhost kernel: [  182.925951] ACPI: Waking up from system sleep state S3

Jun 27 19:58:28 localhost kernel: [  183.147910] ehci_hcd 0000:00:1d.0: wake-up capability disabled by ACPI

Jun 27 19:58:28 localhost kernel: [  183.148715] PM: noirq resume of devices complete after 9.788 msecs

Jun 27 19:58:28 localhost kernel: [  183.149088] PM: early resume of devices complete after 0.044 msecs

Jun 27 19:58:28 localhost kernel: [  183.149121] i915 0000:00:02.0: setting latency timer to 64

Jun 27 19:58:28 localhost kernel: [  183.149193] ehci_hcd 0000:00:1a.0: setting latency timer to 64

Jun 27 19:58:28 localhost kernel: [  183.149248] ehci_hcd 0000:00:1d.0: setting latency timer to 64

```

In the above case, resume from suspend was initiated by the bluetooth remote. I would be truly grateful if someone could shed some light.

Thanks!

----------

## Jerblue

Everyone as stumped as I am?   :Laughing:   :Idea:  ??

----------

## bam

Would you please provide model of your bluetooth usb dongle? With max details, if possible.

----------

