# HELP really weird eth0 problem.. GURUs needed

## noobler

first some background history, i have: 

- xp and gentoo (which i dual boot)

- a broadcom 4400 network card integrated into my asus p4pe mobo

- a billion 4-port adsl modem router (www.741ge.com)

- when i talk about port X, i'm talking about the 4 lan ports on my router

- my server is connected to port 1, this computer is connected to port 2, my dads computer connected to port 3, port 4 is free

- i use dhcp for everything, as i only have 3 computers and their ips don't change much

I lugged my computer over to a friends house (front door neighbour) to share a few files. I had samba running in gentoo and for fun, tried to connect it to his comp (running xp) via a crossover cable. eth0 wouldn't start, so i figure i'll just let it connect to his box via my xp (i was a bit hesitant at first to do so because his xp might have viruses  :Smile: ). but that had a few problems as well, namely the link was down, until he pulled the crossover cable into his lan port a bit more and then it worked. we file shared away.

when i got home, i reconnected my computer and everything but it failed to bring up eth0 when i tried to boot into gentoo. i had everything working before, and didn't change _anything_ from the state before i took it over to my friends house. 

thinking it was weird, i tried to boot with the gentoo live cd and that didn't work as well. above the cdimage# prompt it reports " * Network device eth0 detected, DHCP broadcasting for IP...". when i do net-setup eth0, it reports "bcm4400: eth0 NIC Link is Down".

in gentoo itself, here are the outputs of what i thought might be useful:

```

>> dmesg

Linux version 2.4.20-gentoo-r9 (root@navi) (gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r3, propolice)) #7 Mon Dec 8 21:57:27 WST 2003

BIOS-provided physical RAM map:

 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)

 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)

 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)

 BIOS-e820: 0000000000100000 - 000000001ffec000 (usable)

 BIOS-e820: 000000001ffec000 - 000000001ffef000 (ACPI data)

 BIOS-e820: 000000001ffef000 - 000000001ffff000 (reserved)

 BIOS-e820: 000000001ffff000 - 0000000020000000 (ACPI NVS)

 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)

 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)

 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)

511MB LOWMEM available.

ACPI: have wakeup address 0xc0001000

On node 0 totalpages: 131052

zone(0): 4096 pages.

zone(1): 126956 pages.

zone(2): 0 pages.

ACPI: RSDP (v000 ASUS                       ) @ 0x000f52d0

ACPI: RSDT (v001 ASUS   P4PE     16944.11825) @ 0x1ffec000

ACPI: FADT (v001 ASUS   P4PE     16944.11825) @ 0x1ffec0c0

ACPI: BOOT (v001 ASUS   P4PE     16944.11825) @ 0x1ffec030

ACPI: MADT (v001 ASUS   P4PE     16944.11825) @ 0x1ffec058

ACPI: DSDT (v001   ASUS P4PE     00000.04096) @ 0x00000000

ACPI: BIOS passes blacklist

Kernel command line: root=/dev/hda4 video=ywrap,mtrr,vesa=1280x1024 vga=0x51A

Initializing CPU#0

Detected 2789.283 MHz processor.

Console: colour dummy device 80x25

Calibrating delay loop... 5557.45 BogoMIPS

Memory: 512464k/524208k available (1612k kernel code, 9180k reserved, 120k data, 264k init, 0k highmem)

Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)

Inode cache hash table entries: 32768 (order: 6, 262144 bytes)

Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)

Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)

Page-cache hash table entries: 131072 (order: 7, 524288 bytes)

CPU: L1 I cache: 0K, L1 D cache: 8K

CPU: L2 cache: 512K

CPU:     After generic, caps: 3febfbff 00000000 00000000 00000000

CPU:             Common caps: 3febfbff 00000000 00000000 00000000

CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz stepping 04

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Checking 'hlt' instruction... OK.

POSIX conformance testing by UNIFIX

mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)

mtrr: detected mtrr type: Intel

ACPI: Subsystem revision 20021122

PCI: PCI BIOS revision 2.10 entry at 0xf1e40, last bus=2

PCI: Using configuration type 1

    ACPI-0511: *** Info: GPE Block0 defined as GPE0 to GPE31

ACPI: Interpreter enabled

ACPI: Using PIC for interrupt routing

ACPI: System [ACPI] (supports S0 S1 S4 S5)

ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15, disabled)

ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 9 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 14 15, disabled)

ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)

ACPI: PCI Root Bridge [PCI0] (00:00)

PCI: Probing PCI hardware (bus 00)

Transparent bridge - Intel Corp. 82801BA/CA/DB PCI Bridge

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI2._PRT]

PCI: Probing PCI hardware

ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11

ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 10

PCI: Using ACPI for IRQ routing

PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'

Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039

Initializing RT netlink socket

IA-32 Microcode Update Driver: v1.11 <tigran@veritas.com>

Starting kswapd

Journalled Block Device driver loaded

devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x1

NTFS driver 2.1.4a [Flags: R/O].

udf: registering filesystem

vesafb: framebuffer at 0xe8000000, mapped to 0xe0809000, size 2560k

vesafb: mode is 1280x1024x16, linelength=2560, pages=1

vesafb: protected mode interface info at c000:ea90

vesafb: scrolling: redraw

vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0

Console: switching to colour frame buffer device 160x64

fb0: VESA VGA frame buffer device

vga16fb: initializing

vga16fb: mapped to 0xc00a0000

fb1: VGA16 VGA frame buffer device

pty: 256 Unix98 ptys configured

Real Time Clock Driver v1.10e

Uniform Multi-Platform E-IDE driver Revision: 6.31

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

ICH4: IDE controller on PCI bus 00 dev f9

PCI: Device 00:1f.1 not available because of resource collisions

ICH4: BIOS setup was incomplete.

ICH4: chipset revision 2

ICH4: not 100% native mode: will probe irqs later

    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA

    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA

hda: WDC WD400JB-00ENA0, ATA DISK drive

hdb: WDC WD1200JB-00CRA1, ATA DISK drive

hdc: LITE-ON LTR-48125W, ATAPI CD/DVD-ROM drive

hdd: Pioneer DVD-ROM ATAPIModel DVD-113 0113, ATAPI CD/DVD-ROM drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

blk: queue c0149e64, I/O limit 4095Mb (mask 0xffffffff)

hda: 78165360 sectors (40021 MB) w/8192KiB Cache, CHS=4865/255/63, UDMA(100)

blk: queue c0149fa4, I/O limit 4095Mb (mask 0xffffffff)

hdb: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=14593/255/63, UDMA(100)

hdc: ATAPI 48X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)

Uniform CD-ROM driver Revision: 3.12

hdd: ATAPI DVD-ROM drive, 512kB Cache, UDMA(33)

Partition check:

 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4

 /dev/ide/host0/bus0/target1/lun0: p1

Floppy drive(s): fd0 is 1.44M

FDC 0 is a post-1991 82077

Linux agpgart interface v0.99 (c) Jeff Hartmann

agpgart: Maximum main memory to use for agp memory: 439M

agpgart: Detected Intel i845G chipset

agpgart: AGP aperture is 128M @ 0xf0000000

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP, IGMP

IP: routing cache hash table of 4096 buckets, 32Kbytes

TCP: Hash tables configured (established 32768 bind 65536)

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

FAT: bogus logical sector size 0

UDF-fs DEBUG lowlevel.c:65:udf_get_last_session: CDROMMULTISESSION not supported: rc=-5

UDF-fs DEBUG super.c:1419:udf_read_super: Multi-session=0

UDF-fs DEBUG super.c:412:udf_vrs: Starting at sector 16 (2048 byte sectors)

UDF-fs DEBUG super.c:1159:udf_check_valid: Failed to read byte 32768. Assuming open disc. Skipping validity check

UDF-fs DEBUG misc.c:285:udf_read_tagged: location mismatch block 256, tag 3472890163 != 256

UDF-fs DEBUG super.c:1213:udf_load_partition: No Anchor block found

UDF-fs: No partition found (1)

reiserfs: checking transaction log (device 03:04) ...

Using r5 hash to sort names

ReiserFS version 3.6.25

VFS: Mounted root (reiserfs filesystem) readonly.

Mounted devfs on /dev

Freeing unused kernel memory: 264k freed

Adding Swap: 1004052k swap-space (priority -1)

Broadcom 4401 Ethernet Driver bcm4400 ver. 1.0.1 (08/26/02)

eth0: Broadcom BCM4401 100Base-T found at mem e4800000, IRQ 9, node addr 00e018b54e5c

0: nvidia: loading NVIDIA Linux x86 nvidia.o Kernel Module  1.0-4496  Wed Jul 16 19:03:09 PDT 2003

bcm4400: eth0 NIC Link is Down

blk: queue c0149e64, I/O limit 4095Mb (mask 0xffffffff)

blk: queue c0149fa4, I/O limit 4095Mb (mask 0xffffffff)

```

```

>> lsmod

Module                  Size  Used by    Tainted: P  

smbfs                  38640   0  (unused)

nvidia               1631424  11 

bcm4400                27104   0 

```

```

>> ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:E0:18:B5:4E:5C  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:100 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interrupt:9 Memory:e4800000-e4801080 

```

here is what i notice:

before, the green light for port 2 (the port this box is connected to) would come on as soon as i switch the computer on. now it only comes on when xp boots (right at the black windows xp bootscreen). yes it all still works with xp which is really weird and i'm posting this on xp. the green light doesn't come on at all in gentoo, or the live cd.

here is what i have done:

i've tried different cat5 cables, namely tried to use the cat5 cable my server is using. 

i've tried using different ports, resetting the router each time, only to get the same problem.

i've tried using my server on port 2, no problems

this is what i think:

i might have somehow fried something on my motherboard/networkchipset/lanport which linux needs to work, but xp doesn't.

the green light not coming on to port 2 when i turn my computer on is a big clue to the problem. 

everything working with xp is just weird, is this Bill coming back to haunt me?

using a crossover cable with samba wasn't a good idea.

any help would be appreciated, and although i can go purchase another $10 Realtek NIC (my server on port 1 is already using one), i would ideally like to remedy the problem with my onboard bcm4400 NIC.

to all the readers of this post:

thank you for reading this far and any help and possible solutions to this problem would be greatly appreciated. i will check back on this post every hour for the next few hours, and everyday thereafter.

----------

## Pcassimans

did you do an emerge lately without rebooting? There was a problem with the /etc/conf.d/net script. It has been solved with the latest emerge sync, but as now you havn't got network, you'll have to patch it manualy to get your network back if that was the problem.

Pierre

----------

## noobler

i do reboot at least once a day (to play games in xp), so i don't think that's the error. also should that effect why eth0 doesn't even work with the live cd?

----------

## Pcassimans

nope, sorry, missed that part.

Some stuff you could do:

- Power off and on the router.

- Put a static ip addres on your card in /etc/conf.d/net

Hope this helps.

----------

## NeddySeagoon

noobler,

Can you bring eth0 up manually?

/sbin/ifconfig eth0 192.168.0.1/24

That will not work on your network, unless you happen to use network 192.168.0.0 and 192.168.0.1 is free on your network but it will let you attempt to bring eth0 up.

/sbin/ifconfig will tell if you have been successful or not.

Look in /etc/conf.d/net.

The line #iface_eth0="dhcp"

should not have the '#' at the front if you intend to use DHCP.

Regards,

NeddySeagoon

----------

## noobler

Pcassimans: as i have already stated i have tried turning off and turning on my router, several times, to no avail   :Sad: 

as for the static ip address in /etc/conf.d/net, i tried that before (forgot to say it), and eth0 did come up (as it was no longer trying to dhcp my router through the link). however, the physical link itself was down (no green light on port 2) and i couldn't ping anything (to be expected).

i couldn't stand being in gentoo and not having the net any longer so i just rushed out and bought a $10 realtek NIC. everything seems up and working now and i have just disabled my onboard NIC in the bios and i'm using the realtek NIC in xp and gentoo. i just hope this NIC works just as well my broadcom onboard NIC.

i would still like to find the cause/solution to the problem though and it seems to me that this problem is more hardware related, so i will request that mods move this to the hardware forum.

----------

## noobler

NeddySeagoon: thanks for the advice but i think i've already tried what you've suggested as i can bring eth0 up manually without using dhcp (and yes i had uncommented from when i was using it before this problem occured). however, i cannot ping anything (even my server on 192.168.1.1) and doing ifconfig eth0 returns "bcm4400" eth0 NIC Link is Down". the problem remains that the green light on my port 2 on the router doesn't come on (as it should) in both gentoo and the live cd. thus i am more compelled to feel that this is a hardware issue.

thanks everybody for your help and suggestions thus far.

----------

## NeddySeagoon

noobler,

You haven't goy your cables mixed up have you?

Using (or trying) the crossover cable between the hub and your PC may well have dissapointing results?

Edit:- Some hardware (drivers?) sorts out the mess without telling you.  

Regards,

NeddySeagoon

----------

## noobler

NeddySeagoon: my router is autosensing and can use both crossover and straight cat5 cables on all four ports. i use straight cat5 for this computer and server, my dad uses crossver and he hasn't had any problems.

----------

## fleed

I'd suggest looking at your BIOS to see if you can get your onboard nic working again (assuming you want to.) Maybe, just by disabling and reenabling it, you might refresh something that reenables it for gentoo.

Also, see if your bios has a setting for plug and play os or something like that. Try disabling it to see what happens. It might be that WinXP has configured the port/irq of the card in a way that the bios/gentoo cannot see. If the card's configuration is reset then it might just work.

----------

## noobler

fleed: thanks for the suggestion, i shall try that now. also, i had disabled pnp os right from the beginning   :Wink:  .

----------

## noobler

that did it!   :Surprised: 

but i still don't get how the problem was caused in the first place..

i'm recompiling my kernel with the bcm4400 NIC now and i guess i'll keep the realtek one around. never hurts to have 2 NICs..   :Rolling Eyes: 

----------

## noobler

 *noobler wrote:*   

> that did it!  
> 
> 

 

until the next reboot from windows xp...

in which case the green light on port 2 turned off until i was in xp, and turned itself off when i wasn't xp. i then used the realtek card for a while. unsatisfied with the broadcom NICs failure to work in linux, i thought beyond the square a little and remembered i had installed newer broadcom drivers in xp after coming back from my friends house, as i had reinstalled xp that same day (i didn't know how to turn off the stupid logon prompt at every reboot that was enabled when my friend and i were trying to enable file sharing and a reinstall was the quickest way to fix  :Wink: ). i switched back to the older drivers (which i found on a floppy, as broadcom's site don't host them anymore) and used that. as expected, the green light on port 2 doesn't turn on _exclusively_ when i'm in xp, rather it says on constantly regardless of xp (just as it was working before i had this problem). the new drivers were dated 26/11/03 and i have come to the assumption that broadcom has added a new setting or changed a default setting in the newer driver version. i didn't muck around with the NIC's driver settings and i never have, so i am positive the new drivers are to blame. however, i cannot be certain.

currently, i am using the broadcom NIC and it's behaving the same as it was before. i am currently emailing broadcom with my findings to determine if my assumption is indeed true.

thanks again to everyone for their help.

----------

## fleed

Good luck getting a reply from the manuf! I've never had much luck with any of the hardware folks, they seem to not like slightly more involved questions.

----------

## slestak

 *Quote:*   

> Posted: Tue Dec 09, 2003 6:03 am    Post subject:  
> 
> --------------------------------------------------------------------------------
> 
> that did it!  
> ...

 

I did run into a problem when installing off of basic livecd, when I had two nics installed, neither would come up.  I had to physiclaly uninstall either one to get net-setup eth0 to work.

----------

## squealie

 *Pcassimans wrote:*   

> did you do an emerge lately without rebooting? There was a problem with the /etc/conf.d/net script. It has been solved with the latest emerge sync.....
> 
> Pierre

 

Can you, (or anyone) elaborate on this please?

Where can I find more info, and a step by step fix?

----------

## Chol

I've got the same problem, BCM4401 @ ASUS P4PE.

It doesn't work any more, and sometimes I get

```
b44: eth0: BUG!  Timeout waiting for bit 80000000 of register 428 to clear.

b44: eth0: BUG!  Timeout waiting for bit 80000000 of register 428 to clear.

b44: eth0: BUG!  Timeout waiting for bit 80000000 of register 428 to clear.

b44: eth0: BUG!  Timeout waiting for bit 80000000 of register 428 to clear.

b44: eth0: BUG!  Timeout waiting for bit 00000002 of register 42c to clear.
```

A few weeks ago, it worked without Problems. When I remember correctly, the error occures since I updated the BIOS to version 1007.

What's your BIOS version, noobler? Perhaps one should try to downgrade to an older version.

----------

## noobler

Sorry i saw your post really late   :Sad: 

My bios rev is 1007 too, though I don't think my problem is related to yours. The problem with mine was that the drivers failed to initialize the NIC properly between reboots (or so I think). I hope you're still not having problems with you bcm still.

----------

## Chol

Hmm, I discovered that I only have this problem when I reboot from Windows into Linux. When I switch of my PC for a minute, switch it on and directly boot into Linux, the NIC works without problems.

(scheiß Englisch, ich weiß  :Wink: )

----------

## apfelsaft

i've got the same problem with a dell inspiron 1100. it also has a bcm440x network adapter. i've read that there is a problem with power saving after windows shuts down. linux cannot wake up the network adapter, which windows put in a deep sleep mode when shutting down.

when i did a bios downgrade (BIOS A26 in my case) it worked, but with the current bios (BIOS A29) it doesn't. but the new bios has big improvements regarding the video adapter so i cannot downgrade  :Sad: 

so far so good, my suggestion: if you want to boot linux after win, simply shutdown completely and switch off and then boot linux. for me, sometimes it works, sometime not  :Sad: 

good luck!

----------

## d0lby

I have the same problem, but windows can't wake up the nick unless windows is started from a complete cold boot (switch power supply off). 

Also, I'm having problems enabling WOL, using bcm4400 enable_wol = 1 in modules.autoload - cat /etc/proc/nicinfo shows its still disabled. This is strange, because it used to work - I'm using bcm4400 from portage (i think 3.0.7) and support is not compiled in my kernel or as a module.

Any updates on these issues?

----------

## TheBrain1986

The solution is very simple

Im sure you have a Notebook with wlan 

In my case the broadcom card was on eth1

You only have to change every setting to eth1

This should work!

----------

## d0lby

Ahh, no? It's a desktop, no wireless lan, only one network adapter...  :Very Happy: 

----------

## Kentar

Hi Guys

I've got just the same problem, with my Broadcom nic, but I think I solved it. 

As I mentioned, the Windows Driver shuts the nic down, so Linux cannot start it anymore. This Problem only occurs with a newer driver from Broadcom. I just installed the Original Driver from ASUS, and everything works again. 

I can use the Nic under Linux, without putting my Computer off, after using Windows. 

I hope, that it helps.

Greetings Kentar

----------

