networking half-working after S3 resume
Hey there!
After an S3 resume, my laptop comes back to life perfectly, with the exception of networking. I had originally blamed this on the card drivers until I noticed that my wireless card can still get a link. So, I tried playing around a bit, and I discovered the following:
* The wireless card correctly detects my AP (SSID, speed, link power, et cetera)
* I can see DHCP requests coming from the laptop's wired interface, but the responses from my DHCP server are ignored.
* If I manually configure the wired interface on my laptop and attempt to ping my desktop, I can see ARP requests coming from the laptop's IP looking for my desktop.
* If I run "arp -s <desktop_IP> <desktop_ETHER>" on my laptop to manually create an ARP table entry for my desktop, and then attempt to ping my desktop, I can see ICMP Echo requests coming from my laptop. My desktop acknowledges them, but my laptop still gets 100% packet loss.
* dmesg reports transmit timeouts, despite the fact the the packets are, in fact, reaching my switch:
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 0c 0005 c07f media 10.
eth0: Tx queue start entry 4 dirty entry 0.
eth0: Tx descriptor 0 is 0008a03c. (queue head) eth0: Tx descriptor 1 is 0008a03c. eth0: Tx descriptor 2 is 0008a03c. eth0: Tx descriptor 3 is 0008a03c.
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
So, networking is *half* working; I can send packets, I just can't receive any (the watchdog warnings notwithstanding). It's affecting two different cards, and persists after removing and reloading modules for each of them. Both cards seem to retain most basic link layer functionality. Could this be a bug higher up in the networking stack? (As opposed to a bug in the drivers.) I've never had an issue with any kernel networking code above the link layer. Is there a way to prod, smack or otherwise reload it?
Russell
-- Hardware --
Host: Toshiba Libretto L5
Wired Ethernet: Realtek RTL-8139/8139C/8139C+
Wireless: A MiniPCI thing of some kind (uses orinoco_cs)
-- Software --
Kernel: Plain-vanilla 2.6.7 built with gcc 3.3.4 (Debian 1:3.3.4-7) Drivers: 8139too, orinoco_cs, assorted ACPI modules
Quoted 2 lines · Russell Neches
After an S3 resume, my laptop comes back to life perfectly, with the exception of networking.
I saw this too on my laptop (Asus S5N, also with on-board Realtek ethernet), and it was fixed in the 20040715 ACPI patch. It was the fix for bug #2643 that did it:
http://bugme.osdl.org/show_bug.cgi?id=2643
Cameron.
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
Hi!
Quoted 32 lines
After an S3 resume, my laptop comes back to life perfectly, with the exception of networking. I had originally blamed this on the card drivers until I noticed that my wireless card can still get a link. So, I tried playing around a bit, and I discovered the following:
* The wireless card correctly detects my AP (SSID, speed, link power, et cetera)
* I can see DHCP requests coming from the laptop's wired interface, but the responses from my DHCP server are ignored.
* If I manually configure the wired interface on my laptop and attempt to ping my desktop, I can see ARP requests coming from the laptop's IP looking for my desktop.
* If I run "arp -s <
desktop_IP> <desktop_ETHER>" on my laptop to manually create an ARP table entry for my desktop, and then attempt to ping my desktop, I can see ICMP Echo requests coming from my laptop. My desktop acknowledges them, but my laptop still gets 100% packet loss.* dmesg reports transmit timeouts, despite the fact the the packets are, in fact, reaching my switch:
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 0c 0005 c07f media 10.
eth0: Tx queue start entry 4 dirty entry 0.eth0: Tx descriptor 0 is 0008a03c. (queue head) eth0: Tx descriptor 1 is 0008a03c. eth0: Tx descriptor 2 is 0008a03c. eth0: Tx descriptor 3 is 0008a03c.eth0: link up, 100Mbps, full-duplex, lpa
0x45E1
Quoted 8 lines
So, networking is *half* working; I can send packets, I just can't receive any (the watchdog warnings notwithstanding). It's affecting two different cards, and persists after removing and reloading modules for each of them. Both cards seem to retain most basic link layer functionality. Could this be a bug higher up in the networking stack? (As opposed to a bug in the drivers.) I've never had an issue with any kernel networking code above the link layer. Is there a way to prod, smack or otherwise reload it?
Looks like your cards are not getting interrupts? Try hooking them on timer interrupt.
Pavel
Signature · 9 lines
People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285