From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Haber Subject: Re: WoL broken in r8169.c since kernel 4.19 Date: Sun, 13 Jan 2019 17:01:49 +0100 Message-ID: <20190113160149.GG20268@torres.zugschlus.de> References: <20190112200831.GB20268@torres.zugschlus.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Alex Xu , Anthony Wong , Azat Khuzhin , "David S. Miller" , Hans de Goede , Jian-Hong Pan , Kai-Heng Feng , "Maciej S. Szmigiero" , "netdev@vger.kernel.org" To: Heiner Kallweit Return-path: Received: from torres.zugschlus.de ([85.214.131.164]:56914 "EHLO torres.zugschlus.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726513AbfAMQCA (ORCPT ); Sun, 13 Jan 2019 11:02:00 -0500 Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Sat, Jan 12, 2019 at 09:28:48PM +0100, Heiner Kallweit wrote: > On 12.01.2019 21:08, Marc Haber wrote: > > I am writing to all people who have commits in r8169.c between the v4.18 > > and v4.19 tags in the Linux kernel. Please ignore as appropriate. If > > you'd prefer that to be on a mailing list, please indicate on which list > > you want to have that, and I'll resend. > > > It should be cc'ed to the netdev mailing list, as listed in MAINTAINERS. I have bounced the original message there. Sorry for missing that, I was not aware that the MAINTAINERS file goes down on a single driver level. > > My desktop copmuter has the following network interface: > > > > 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) > > Subsystem: ASUSTeK Computer Inc. P8P67 and other motherboards > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ > > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- > Latency: 0, Cache Line Size: 64 bytes > > Interrupt: pin A routed to IRQ 17 > > NUMA node: 0 > > Region 0: I/O ports at e800 [size=256] > > Region 2: Memory at fdfff000 (64-bit, prefetchable) [size=4K] > > Region 4: Memory at fdff8000 (64-bit, prefetchable) [size=16K] > > Capabilities: > > Kernel driver in use: r8169 > > Kernel modules: r8169 > > > Unfortunately there's different chip versions with the same description. > Please provide the result of "dmesg | grep XID". [1/5004]mh@fan:~ $ dmesg | grep XID [ 2.671004] r8169 0000:06:00.0 eth0: RTL8168evl/8111evl, 54:04:a6:82:21:00, XID 2c900800, IRQ 29 > > I regularly buĂ­ld a VPN tunnel to my local network from 'on the road' > > and use WoL to wake up the desktop box when I need it. > > > > Since kernel 4.19, that does not work any more, the desktop remains > > suspended when I send it a magic packet. This still applies to 4.20.1, > > and it still works with any 4.18 kernel. > > > WoL works perfectly fine here with r8169 from runtime-suspend and > from S3. How do you enable WoL? And which WoL method do you use > (magic packet or ..) ? I do enable WOL via systemd-networkd: [7/5009]mh@fan:~ $ cat /etc/systemd/network/10-lanc0.link [Match] MACAddress=54:04:a6:82:21:00 [Link] Name=lanc0 WakeOnLan=magic and I wake up the box by calling sudo etherwake -i int182 54:04:a6:82:21:00 on the router. int182 is the interface name of the correct interface, this is proven correct by the fact that the box wakes up just fine with older version of the driver. > Please provide a register dump (ethtool -d ). The register dump is here (obtained with 4.20.1 with the r8169.c from 4.18): [5/5008]mh@fan:~ $ sudo ethtool -d lanc0 RealTek RTL8168evl/8111evl registers: -------------------------------------------------------- 0x00: MAC Address 54:04:a6:82:21:00 0x08: Multicast Address Filter 0xffffffff 0xffffffff 0x10: Dump Tally Counter Command 0x20f36000 0x00000004 0x20: Tx Normal Priority Ring Addr 0x14994000 0x00000004 0x28: Tx High Priority Ring Addr 0x00000000 0x00000000 0x30: Flash memory read/write 0x00000000 0x34: Early Rx Byte Count 0 0x36: Early Rx Status 0x00 0x37: Command 0x0c Rx on, Tx on 0x3C: Interrupt Mask 0x803f SERR LinkChg RxNoBuf TxErr TxOK RxErr RxOK 0x3E: Interrupt Status 0x0000 0x40: Tx Configuration 0x2f900f80 0x44: Rx Configuration 0x0002c70f 0x48: Timer count 0x00000000 0x4C: Missed packet counter 0x000000 0x50: EEPROM Command 0x10 0x51: Config 0 0x00 0x52: Config 1 0xcf 0x53: Config 2 0xbd 0x54: Config 3 0x60 0x55: Config 4 0x51 0x56: Config 5 0x02 0x58: Timer interrupt 0x00000000 0x5C: Multiple Interrupt Select 0x0000 0x60: PHY access 0x8005c1e1 0x64: TBI control and status 0x84321043 0x68: TBI Autonegotiation advertisement (ANAR) 0xf02c 0x6A: TBI Link partner ability (LPAR) 0x0000 0x6C: PHY status 0x93 0x84: PM wakeup frame 0 0x00000000 0x00000000 0x8C: PM wakeup frame 1 0x00000000 0x02fcb1e5 0x94: PM wakeup frame 2 (low) 0x6603216b 0xaab879be 0x9C: PM wakeup frame 2 (high) 0x41bee65e 0x800a2260 0xA4: PM wakeup frame 3 (low) 0x05280748 0x187ea050 0xAC: PM wakeup frame 3 (high) 0x8463e510 0x84630000 0xB4: PM wakeup frame 4 (low) 0xffffffff 0xffffffff 0xBC: PM wakeup frame 4 (high) 0x00000000 0x00000000 0xC4: Wakeup frame 0 CRC 0x0000 0xC6: Wakeup frame 1 CRC 0x0000 0xC8: Wakeup frame 2 CRC 0x0000 0xCA: Wakeup frame 3 CRC 0x0000 0xCC: Wakeup frame 4 CRC 0x0000 0xDA: RX packet maximum size 0x4000 0xE0: C+ Command 0x20e1 VLAN de-tagging RX checksumming 0xE2: Interrupt Mitigation 0x5151 TxTimer: 5 TxPackets: 1 RxTimer: 5 RxPackets: 1 0xE4: Rx Ring Addr 0x14995000 0x00000004 0xEC: Early Tx threshold 0x27 0xF0: Func Event 0x00400030 0xF4: Func Event Mask 0x00000000 0xF8: Func Preset State 0x000303ff 0xFC: Func Force Event 0x00000000 Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Leimen, Germany | lose things." Winona Ryder | Fon: *49 6224 1600402 Nordisch by Nature | How to make an American Quilt | Fax: *49 6224 1600421