User Name
Password

Go Back   Planetarion Forums > Non Planetarion Discussions > Programming and Discussion > Hardware and Tech Support

Reply
Thread Tools Display Modes
Unread 18 Jul 2003, 17:32   #1
meglamaniac
Born Sinful
 
meglamaniac's Avatar
 
Join Date: Nov 2000
Location: Loughborough, UK
Posts: 4,059
meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.
[Linux] Odd kernel errors and network cards...

The other day I was doing a lot of messing about with hubs (my brother wanted a lan party :rooleyes:)
Ever since then, I noticed internet access was extremely laggy - maybe 5 or 10 seconds to request a web page for example, although once a connection was established everything went at normal speed (we're on 600k cable).
Also, access to the linux router machine itself was terrible - remote console access through SSH was an interesting experience to say the least.

The setup on the machine is that eth0 is the internal network, and eth1 is connected to the cable modem.
The machine is not just a router - it also provides some firewall services, some proxy services, and is a DHCP server. I doubt these factors have anything to do with it, but you never know.
Until today, I hadn't had time to look into it to see what the problem was. I got around to investigating the kernel log, and found this:

Jul 13 22:39:43 harlequin kernel: eth0: Setting half-duplex based on MII #32 link partner ability of 0000.
Jul 13 22:39:49 harlequin dhcpd: DHCPREQUEST for 192.168.0.10 from 00:c0:49:b3:6c:c0 via eth0
Jul 13 22:39:49 harlequin dhcpd: DHCPACK on 192.168.0.10 to 00:c0:49:b3:6c:c0 via eth0
Jul 13 23:01:43 harlequin kernel: eth0: RTL8139 Interrupt line blocked, status 1.
Jul 13 23:15:43 harlequin kernel: eth0: RTL8139 Interrupt line blocked, status 1.
Jul 13 23:22:43 harlequin kernel: eth0: RTL8139 Interrupt line blocked, status 1.
Jul 13 23:23:43 harlequin kernel: eth0: RTL8139 Interrupt line blocked, status 5.
Jul 13 23:24:43 harlequin kernel: eth0: RTL8139 Interrupt line blocked, status 4.
..and so on, right up to today.

The date/time of the first line was when we were first fiddling with the hubs. Note that for some reason the connection got dropped down to half duplex.
After that, the log is FILLED with the "Interrupt line blocked, status <x>" messages (I mean literally hundreds, from jul 13th until today). There are also some which look like this:

Jul 14 14:35:43 harlequin kernel: eth0: SMP simultaneous entry of an interrupt handler.

And then yet more, that look like this:

Jul 18 11:36:35 harlequin kernel: eth0: Transmit timeout, status 0d 0004 media 00.
Jul 18 11:36:35 harlequin kernel: eth0: Tx queue start entry 1032643 dirty entry 1032639.

Initially, the port on the hub to which the router machine was connected to was accidentally set to be an uplink port because thats how the hub was in use before it was brought here.
Anyway, I have a few questions:
Could the port being set to uplink cause the drop to half duplex?
If it wasn't the port, what else could it have been (the hub supports full duplex)?
What exactly ARE these errors? I'm guessing the first example is something to do with the IRQ, but I have no idea about the others.
Why, given that the hub in question has since been disconnected (days ago, in fact) and all the clients have been restarted several times (and so renewed their DHCP leases), did the machine not bring the connection back up to full duplex mode?
Is there any way other than a restart of the machine (which I've just done) to fix the problem if it happens again?

Ta.
__________________
Worth dying for. Worth killing for. Worth going to hell for. Amen.
meglamaniac is offline   Reply With Quote
Unread 18 Jul 2003, 22:12   #2
Mit
Let battle commence
 
Mit's Avatar
 
Join Date: Feb 2002
Location: England
Posts: 732
Mit is a jewel in the roughMit is a jewel in the roughMit is a jewel in the rough
Quote:
Could the port being set to uplink cause the drop to half duplex?
Possibly, wouldn't have thought so thou.
Quote:
If it wasn't the port, what else could it have been (the hub supports full duplex)?
The drivers / kernel on the machine, the hardware? Is the machine running for some reason in 10Mbit/s mode, instead of 100Mbit/s - would cause a bit of a drop off on speed if a few users are accessing it.

Quote:
What exactly ARE these errors? I'm guessing the first example is something to do with the IRQ, but I have no idea about the others.
Googling around, seemed to suggest an error in the kernel / network card module's code. Suggesting a recompile of the kernel to a newer version was the main fix. Its not something i've noticed, and i've got 2 Linux machines here, both with RTL8139 network cards. (had to change one for 3com now, i managed to somehow blow the card up of the work machine \o/)

Quote:
Why, given that the hub in question has since been disconnected (days ago, in fact) and all the clients have been restarted several times (and so renewed their DHCP leases), did the machine not bring the connection back up to full duplex mode?
Cos it requires THE machine to restart the network to change from Half to Full duplex.
Quote:
Is there any way other than a restart of the machine (which I've just done) to fix the problem if it happens again?
/etc/rc.d/net.eth0 restart
or
/etc/init.d/net.eth0 restart

or similar, basically, restart the network using the init scripts.



Quote:
From: "X"
> After I started to use RTL8139 in 100 Mbit mode I started to get this
> under heavy traffic:


AFAICS, you can ignore these messages:


> eth3: RTL8139 Interrupt line blocked, status 4.
> eth3: RTL8139 Interrupt line blocked, status 4.


The driver uses a timer to recover from hung transceivers. The timer noticed
that the card has new packets pending, but that the interrupt is not (yet)
called. How many of these messages do you receive, and how many interrupt
arrive? (cat /proc/interrupts). It's possible that they are caused by the
latency between "hardware triggers the interrupt" and "driver has
acknowledged the interrupt"


> eth3: SMP simultaneous entry of an interrupt handler.
rtl8129() is running on both cpus: [i guess because]
* one cpu because the hardware interrupt arrived
* one cpu because the timer called the function.

I guess that "dev->interrupt" enforces the synchronization, but I don't
understand why "dev->interrupt" is reset to 0:
rtl8129_interrupt():
> [...]
> /* A lock to prevent simultaneous entry bug on Intel SMP machines.
*/
> if (test_and_set_bit(0, (void*)&dev->interrupt)) {
> printk(KERN_ERR"%s: SMP simultaneous entry of an interrupt
handler.\n",
> dev->name);
> dev->interrupt = 0; /* Avoid halting machine. */
> return;
> }
Taken from http://web.gnu.walfield.org/mail-arc...uary/2181.html

might help explain whats going on...
__________________
Mit
http://tim.igoe.me.uk - Development Blog
Whats on TV now - UK TV Guide

<Mendosa> mit is a cute cudlly toy that will be in the shops by christmas
<mig-work> ur now my eternal fav pa god
<Squiz> i name thee, Sir Mit
<Zeus> u my friend are a true gamer I knew u were
Mit is offline   Reply With Quote
Unread 18 Jul 2003, 23:53   #3
meglamaniac
Born Sinful
 
meglamaniac's Avatar
 
Join Date: Nov 2000
Location: Loughborough, UK
Posts: 4,059
meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.
Hmmm - I'm not convinced of the heavy traffic explanation, since it's under heavy traffic a lot of the time (downloads maxing the cable bandwidth anyway).

Solution?
Buy a decent autosensing, autonegotiating switch and not some cheap plastic hub for £5 off the back of a lorry, methinks.

__________________
Worth dying for. Worth killing for. Worth going to hell for. Amen.
meglamaniac is offline   Reply With Quote
Reply


Thread Tools
Display Modes

Forum Jump


All times are GMT +1. The time now is 09:11.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2002 - 2018