View previous topic :: View next topic |
Author |
Message |
scoobydoo n00b

Joined: 27 Apr 2005 Posts: 2
|
Posted: Wed Apr 27, 2005 1:28 am Post subject: dhcp fails every other boot |
|
|
Hi,
I've installed 2005.0 on a pentium-2, and I'm experiencing a weird problem. I'm using dhcp, and it works fine every other reboot. Alternating with that, it fails. I know the ethernet card works and the kernel is configured properly, because it works (ever other reboot). But on every second boot, it fails with:
Code: | dchpd[5326]: dhcpStart: ioctl SIOCGIFHWADDR: No such device |
Here's what dmesg says when it works:
Code: | PCI: Enabling device 0000:00:0f.0 (0114 -> 0117)
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:0f.0[A] -> GSI 10 (level,low) -> IRQ 10
3c59x: Donald Becker and others. www.ccyld.com/network/vortex
0000:00:0f.0:3Com PCI 3c905B Cyclone 100baseTx at 0x1080 Vers. LK1.1.19
|
And when it doesn't work:
Code: | PCI: Enabling device 0000:00:0f.0 (0000 -> 0003)
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:0f.0[A] -> GSI 10 (level,low) -> IRQ 10
3c59x: Donald Becker and others. www.ccyld.com/network/vortex
0000:00:0f.0:3Com PCI 3c905B Cyclone 100baseTx at 0x1080 Vers. LK1.1.19
PCI: Setting Latency timer of device 0000:00:0f.0 to 64
*** EEPROM MAC Address in invalid
3c59x: vortex_probe1 fails. Returns -22
3c59x: probe of 0000:00:0f.0 failed with error -22
|
There seems to be two differences: (0000->0003) versus (0114->0117) in the first line; and then the line about setting lattency timer. Somehow, each reboot toggles the configuration, but I have no idea how. Also, manually running dchp (/etc/init.d/net.eth0 start) doesn't toggle the behavior -- only rebooting does. Any help would be much welcomed.
Thanks,
Jason |
|
Back to top |
|
 |
rouben Apprentice


Joined: 07 Feb 2005 Posts: 159 Location: Thornhill, ON, Canada
|
Posted: Wed Apr 27, 2005 4:15 am Post subject: |
|
|
From what I can tell (and I may be wrong), there are two possibilities:
- The kernel module (or, if you built the driver into the kernel, the kernel itself) doesn't properly work with your card.
- Your network card is dying.
The first one is kinda obvious... I'd Google the issue (perhaps the same error message) to see if there are any other people with the same problem. Maybe someone has a patch? In fact, why not start your search Gentoo's BugZilla database?
The second problem is usually caused by faulty hardware. The card just goes bonkers and doesn't properly work (like the error message says, it doesn't properly report back its MAC address, which should be hardwired into it at manufacturing time).
Good luck!  |
|
Back to top |
|
 |
scoobydoo n00b

Joined: 27 Apr 2005 Posts: 2
|
Posted: Wed Apr 27, 2005 2:08 pm Post subject: |
|
|
Thanks for the response, rouben. Unfortunately, I don't think either of those is it (though I could be wrong). I have the same ethernet card in another computer also running 2005.0 (installed 2004.3 and upgraded later), and it works fine. Also, if it's a hardware problem, I wouldn't expect it to occur so regularly. I rebooted the computer about 15 or 20 times straight (login as root; reboot; login as root; reboot; etc). And it literally happens every other reboot.
I've searched google and these forums for the error messages, but everyone else can't get their ethernet to work at all. My works exactly half the time.
I guess, I should probably try swapping ethernet cards between the two computers and see what happens. |
|
Back to top |
|
 |
jsivak n00b

Joined: 16 Feb 2004 Posts: 9
|
Posted: Thu Apr 28, 2005 3:41 am Post subject: |
|
|
scoobydoo wrote: | Thanks for the response, rouben. Unfortunately, I don't think either of those is it (though I could be wrong). I have the same ethernet card in another computer also running 2005.0 (installed 2004.3 and upgraded later), and it works fine. Also, if it's a hardware problem, I wouldn't expect it to occur so regularly. I rebooted the computer about 15 or 20 times straight (login as root; reboot; login as root; reboot; etc). And it literally happens every other reboot.
I've searched google and these forums for the error messages, but everyone else can't get their ethernet to work at all. My works exactly half the time.
I guess, I should probably try swapping ethernet cards between the two computers and see what happens. |
I've been having the same problem with all of my 3c59x-based servers..
This "interchange" I found via Google Groups helps explain it a bit:
http://groups-beta.google.com/group/fa.linux.kernel/browse_thread/thread/a24fba25a69a5bd3/586f391337b2bfc5?q=3c59x:+vortex_probe1+fails&rnum=2#586f391337b2bfc5
I hand applied the patch (listed at the end of the discussion) and it fixed my "network doesn't start on every other boot" problem.
NOTE: If you're not using modules (I'm not) then you'll have to reboot the server from the console after rebuilding the kernel, since the bug is due to the NIC's configuration being "wrong" during the shutdown process.. After the reboot, the NIC should be in a "reliable" state after remote reboots.
I'll check the bug list for gentoo-sources tomorrow and add one if this issue isn't already listed. |
|
Back to top |
|
 |
jfalkner n00b

Joined: 28 Apr 2005 Posts: 1
|
Posted: Thu Apr 28, 2005 5:58 pm Post subject: The patch worked for me too |
|
|
I have an old dell laptop (latitude 300 I think...) and it has a 3c59x card. The card became really flakey after I upgraded to the latest kernel. It didn't seem to turn on and off every other boot. It mostly just turned off. Daniel Ritz's patch from the above thread fixed everything.
I've reposted it here for others:
Code: |
Signed-off-by: Daniel Ritz <daniel.r...@gmx.ch>
--- 1.77/drivers/net/3c59x.c 2005-03-03 06:00:42 +01:00
+++ edited/drivers/net/3c59x.c 2005-04-17 22:17:19 +02:00
@@ -1581,7 +1581,8 @@
if (VORTEX_PCI(vp)) {
pci_set_power_state(VORTEX_PCI(vp), PCI_D0); /* Go active */
- pci_restore_state(VORTEX_PCI(vp));
+ if (vp->pm_state_valid)
+ pci_restore_state(VORTEX_PCI(vp));
pci_enable_device(VORTEX_PCI(vp));
}
@@ -2741,6 +2742,7 @@
outl(0, ioaddr + DownListPtr);
if (final_down && VORTEX_PCI(vp)) {
+ vp->pm_state_valid = 1;
pci_save_state(VORTEX_PCI(vp));
acpi_set_WOL(dev);
}
@@ -3243,9 +3245,10 @@
outw(RxEnable, ioaddr + EL3_CMD);
pci_enable_wake(VORTEX_PCI(vp), 0, 1);
+
+ /* Change the power state to D3; RxEnable doesn't take effect. */
+ pci_set_power_state(VORTEX_PCI(vp), PCI_D3hot);
}
- /* Change the power state to D3; RxEnable doesn't take effect. */
- pci_set_power_state(VORTEX_PCI(vp), PCI_D3hot);
}
- |
There are three minor changes. If the patch won't automatically apply, do it by hand. Recompile your kernel and you'll be set. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|