Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 370625 - eth0 does not work with Broadcom BCM57788
Summary: eth0 does not work with Broadcom BCM57788
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: InstallCD (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Release Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-08 07:43 UTC by Igor Levicki
Modified: 2013-06-16 23:41 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Levicki 2011-06-08 07:43:55 UTC
I downloaded this CD image:
http://distfiles.gentoo.org/releases/amd64/autobuilds/current-iso/install-amd64-minimal-20110421.iso

Mainboard I am using is Intel DG43RK which has Broadcom PCIe Gigabit Ethernet chip BCM57788.

# lspci -v
06:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57788 Gigabit Ethernet PCIe (rev 01)
        Subsystem: Intel Corporation Device 0029
        Flags: bus master, fast devsel, latency 0, IRQ 47
        Memory at e0500000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [48] Power Management version 3
        Capabilities: [60] Vendor Specific Information: Len=6c <?>
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [cc] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel
        Capabilities: [160] Device Serial Number 00-22-4d-ff-fe-47-fb-f9
        Capabilities: [16c] Power Budgeting <?>
        Kernel driver in use: tg3
        Kernel modules: tg3

I figured out what the problem is -- tg3 gets loaded but broadcom phy driver module does not. If I do the following:

# rmmod tg3
# modprobe broadcom
# modprobe tg3

Then it works.


Reproducible: Always
Comment 1 Igor Levicki 2011-06-08 11:27:40 UTC
Let me add that I also tried booting the image in VirtualBox 4.0.8.

I set bridged network adapter with Intel Pro/1000 (desktop) and the same thing happens -- Gentoo install CD does not see the network (i.e. no eth0).

This time I could not resolve the problem by manually loading modules. I had to select PCnet-FAST III.

I am greatly disappointed -- if you cannot even get networking to work right out of the box, and network install is your main install mode, how do you expect people to use your distribution?

Bear in mind that I have used Gentoo before, and I know my way around Linux so someone less tech-savvy would see this issue as a showstopper.
Comment 2 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2011-06-08 13:49:35 UTC
(In reply to comment #0)
> I downloaded this CD image:
> http://distfiles.gentoo.org/releases/amd64/autobuilds/current-iso/install-amd64-minimal-20110421.iso
... 
> I figured out what the problem is -- tg3 gets loaded but broadcom phy driver
> module does not. If I do the following:

This is a kernel driver issue (tg3 depending on broadcom)

> # rmmod tg3
> # modprobe broadcom
> # modprobe tg3
> 
> Then it works.

(In reply to comment #1)
> Let me add that I also tried booting the image in VirtualBox 4.0.8.
> 
> I set bridged network adapter with Intel Pro/1000 (desktop) and the same thing
> happens -- Gentoo install CD does not see the network (i.e. no eth0).

How doesn't "it work"? What is failing? Does ifconfig -a show the device?

> This time I could not resolve the problem by manually loading modules. I had to
> select PCnet-FAST III.

That uses a different network driver.

> I am greatly disappointed -- if you cannot even get networking to work right
> out of the box, and network install is your main install mode, how do you
> expect people to use your distribution?

What is your argument? That we haven't enabled the kernel drivers for those cards? The only one you say doesn't work, but don't explain how, is intel pro/1000. I can assure you that e1000 is in the kernel specs[1] for the CD.

> Bear in mind that I have used Gentoo before, and I know my way around Linux so
> someone less tech-savvy would see this issue as a showstopper.

One thing users need to be able to do to install Gentoo is to configure their kernel.
The issue with the broadcom driver is not a Gentoo issue, but a Linux kernel issue. Even though I understand it makes it a lot harder to install Gentoo on such a box, even if the CD were to load broadcom and tg3 in the correct order, the user would likely face that same issue when compiling a kernel to boot that system.

[1] - http://sources.gentoo.org/cgi-bin/viewvc.cgi/releng/trunk/releases/weekly/kconfig/amd64/installcd-2.6.34.config?revision=767&view=markup
Comment 3 Igor Levicki 2011-06-08 14:30:46 UTC
Hello,

Thanks for a reply.

> This is a kernel driver issue (tg3 depending on broadcom)

Most likely, but for me and for anyone else trying to install using minimal install CD it is also an install CD issue.

> How doesn't "it work"? What is failing? Does ifconfig -a show the device?

As I said, there is no eth0 (meaning ifconfig -a shows only loopback).

> That uses a different network driver.

I am aware of that (it uses pcnet32) -- I am just saying what I had to chose to get networking operational with minimal install CD and VirtualBox.

> What is your argument? That we haven't enabled the kernel drivers for those
> cards? The only one you say doesn't work, but don't explain how, is intel
> pro/1000. I can assure you that e1000 is in the kernel specs[1] for the CD.

My argument is that TWO cards do not work:

1. Physical Broadcom BCM57788 (Intel DG43RK mainboard)
   /module phy/broadcom.ko exists but it is not loaded before tg3/

2. Virtual Intel PRO/1000 MT Desktop 82540EM (VirtualBox 4.0.8)
   /tried e1000 and e1000e, in both cases ifconfig -a does not show eth0/

> One thing users need to be able to do to install Gentoo is to
> configure their kernel.

First, this is the kernel provided on minimal install CD we are talking about. Therefore, it should have "just worked".

> even if the CD were to load broadcom and tg3 in the correct order,
> the user would likely face that same issue when compiling a kernel
> to boot that system.

I have to disagree -- if the issue was resolved with install CD kernel, then it would also have a fix in gentoo-sources so compiling your own kernel would produce operational networking as well.

Regarding the e1000 driver, I cannot blame Gentoo install CD without testing some other distro with the same Intel PRO/1000 MT emulation provided by VirtualBox -- I am just pointing out that it also doesn't work for some reason.

> [1] - http://sources.gentoo.org/cgi-bin/viewvc.cgi/releng/trunk/releases/weekly/kconfig/amd64/installcd-2.6.34.config?revision=767&view=markup

I am not sure what am I supposed to learn from that link except that broadcom.ko is compiled as a module -- current gentoo-sources is 2.6.38-gentoo-r6.

When we are at that, default kernel config is full of debugging and experimental options enabled. I am at my third attempt of building a kernel that will actually boot instead of hanging half-way through. If my memory serves me well, it was almost impossible to produce broken kernel in Gentoo few years ago.

Regards,
Igor
Comment 4 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2011-06-08 15:26:50 UTC
From your last comment I gather your argument is about the kernel, so I'm adding the kernel team to CC.
My previous comment was made with the RelEng hat on. I've been working on the specs for the livecd kernels trying to ensure we enable support for common hardware. Many kernel options have been enabled at the explicit request of Gentoo users.
The releng and kernel teams don't cooperate about the specs for the livecd, something I'd be interested in changing. At least, getting a review by the kernel team of the specs.
If I read your last comment correctly, your argument is about the default options set on the kernel packages. I'll let the kernel team comment on that.
Comment 5 Igor Levicki 2011-06-08 15:57:50 UTC
Actually, I have commented on two different issues here (which I admit is a bad practice and I apologize for that):

1. install CD network driver problems (for both physical and virtual hardware)
2. default kernel options in gentoo-sources

Issue #2 is something I can cope with (I managed to get a working kernel).

However, issue #1 should not have existed in a network-based install.

Regards,
Igor
Comment 6 Mike Pagano gentoo-dev 2011-06-08 18:36:58 UTC
gentoo-sources does not provide a modified default config.
Comment 7 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2011-06-13 21:37:27 UTC
@kernel:

any comments about the tg3 and broadcom dependency? Are there any tg3 devices for which enabling the broadcom phy driver will break them?
Comment 8 Mike Pagano gentoo-dev 2011-06-13 22:52:02 UTC
This appears to be a known issue where broadcom needs to be loaded before tg3
Comment 9 Igor Levicki 2011-06-14 00:22:03 UTC
(In reply to comment #8)
> This appears to be a known issue where broadcom needs to be loaded before tg3

I wonder... if it appears to be a known issue why don't you at least set it to CONFIRMED?

As I said, I found my way around although figuring out the name of missing module was a bit of a hurdle because I wasn't aware that there should be two modules to begin with, but many people might get discouraged because without networking you cannot even open the online handbook to see what to try next.
Comment 10 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2011-10-24 17:21:26 UTC
@kernel,

is there anything we can do on Gentoo to address the tg3 / broadcom issue or should this be addressed by Linux kernel developers? If the latter, do you have any links / suggestions?
Comment 11 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2012-05-26 15:14:56 UTC
*ping*
Comment 12 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2012-10-01 04:22:56 UTC
(In reply to comment #10)
> @kernel,
> 
> is there anything we can do on Gentoo to address the tg3 / broadcom issue or
> should this be addressed by Linux kernel developers? If the latter, do you
> have any links / suggestions?

ping ?
Comment 13 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2012-12-24 05:22:27 UTC
Robin,

iirc you looked at this at one point. Do you have any info you can share with us?
Comment 14 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2012-12-25 07:20:25 UTC
(In reply to comment #13)
> Robin,
> 
> iirc you looked at this at one point. Do you have any info you can share
> with us?

Igor's original post was correct.
The tg3 module should probe & possibly load the phy module. Worse case for now, declare a module dependency, so that broadcom is always loaded before tg3, regardless of it being needed.
Comment 15 Jorge Manuel B. S. Vicetto (RETIRED) gentoo-dev 2013-06-16 23:41:35 UTC
I've done a few tests today with 3 different Dell boxes with tg3 cards: 330N, 360N and 380N. On all 3 the autoloading is working, so I'm going to close this bug as works for me.

I've checked on a Dell 380N (BCM57780 card using tg3+broadcom drivers), on a 360N (BCM5784M card with tg3+libphy drivers) and on a 330N (BCM5787 card using tg3+libphy drivers).

If anyone is able to duplicate this issue, feel free to reopen the bug. If you can, please follow Robin's request for more info:

01:42 <@robbat2> jmbsvicetto, drivers/net/phy/phy_device.c
01:42 <@robbat2> in phy_device_create
01:42 <@robbat2> print out the args to request_module
01:42 <@robbat2> that's where the problem is I think
01:43 <@robbat2> it should be some string like mdio:0000000101000011101111000011????