Bug 9257

Summary: 2.6.24-rc1 kills onboard r8169 (rtl8111b) NIC
Product: Drivers Reporter: Rafael J. Wysocki (rjwysocki)
Component: NetworkAssignee: Francois Romieu (romieu)
Status: CLOSED CODE_FIX    
Severity: normal CC: kedgedev, linux, rathamahata, romieu, seraph
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.24-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 9243    
Attachments: Bandaid for unwanted bit-sign propagation in mdio_write
Fix r8169 for ASUS P5B motherboards

Description Rafael J. Wysocki 2007-10-28 14:51:30 UTC
Subject         : 2.6.24-rc1 kills onboard r8169 (rtl8111b) NIC
Submitter       : "Sergey S. Kostyliov" <rathamahata@gmail.com>
References      : http://lkml.org/lkml/2007/10/28/144
Handled-By      : Francois Romieu <romieu@fr.zoreil.com>
Comment 1 seraph@xs4all.nl 2007-10-29 13:38:46 UTC
Yeah, I just experienced this too. My motherboard is an Asus P5B, and the onboard NIC is listed as follows:

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

Upon booting a 2.6.24-rc1 kernel, the module loads correctly, but the device will drop any and all TX packets.

Worse, upon rebooting the NIC is completely gone from the PCI bus, even with kernels other than 2.6.24-rc1, until the machine has been completely powered down and back up.
Comment 2 Sergey S. Kostyliov 2007-10-30 02:45:29 UTC
In my case after about 2 days and 3 complete cycles of { power down; rest (for hours); power up} my NIC still hasn't reappeared.
Comment 3 seraph@xs4all.nl 2007-10-30 11:36:22 UTC
Make sure you have removed all power from the main board, by completely unplugging the system if needed.

In my case, just bringing the system down to standby was not enough, I had to cut the power with the main switch on the back on the machine to get the NIC working again.
Comment 4 Sergey S. Kostyliov 2007-10-30 13:52:40 UTC
(In reply to comment #3)
> Make sure you have removed all power from the main board, by completely
> unplugging the system if needed.
> 
> In my case, just bringing the system down to standby was not enough, I had to
> cut the power with the main switch on the back on the machine to get the NIC
> working again.
> 

Thank you for your suggestion. It does work for me :)
Comment 5 Francois Romieu 2007-10-30 15:20:56 UTC
Can you disable MMCONFIG and check if the device appears again (workable or not)  ?

Your .config should include something like:
[...]
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set                                              
CONFIG_PCI_GODIRECT=y                                                           
# CONFIG_PCI_GOANY is not set                                                   
CONFIG_PCI_DIRECT=y                                                             


-- 
Ueimor
Comment 6 Roman Jarosz 2007-11-05 14:57:31 UTC
I have the same problem. I tried PCI direct access but it didn't help.
When I booted to 2.6.24-rc1-git14 I saw the eth0 but it didn't find ip address (dhcp) and after reboot to stable kernel 2.6.23 the eth0 was missing so I had to unplug battery from my laptop. The same thing happened with MMCONFIG.

kernel: 2.6.24-rc1-git14
laptop: Asus A6Jc
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
Comment 7 Francois Romieu 2007-11-05 15:10:36 UTC
Created attachment 13407 [details]
Bandaid for unwanted bit-sign propagation in mdio_write

Oops.

Some of the new xyz_hw_phy_config() functions are probably not happy.

Please give it a try once the interface appears again.

-- 
Ueimor
Comment 8 Roman Jarosz 2007-11-05 15:32:52 UTC
The patch didn't change anything :( (with pci direct access)
Comment 9 Mark Lord 2007-11-07 10:04:13 UTC
Created attachment 13441 [details]
Fix r8169 for ASUS P5B motherboards

Submitted on LKML today.