1 |
On Sunday 16 Oct 2011 15:52:51 CJoeB wrote: |
2 |
> On 10/16/11 06:43, Mick wrote: |
3 |
> > On Sunday 16 Oct 2011 00:05:01 CJoeB wrote: |
4 |
> >> Hi everyone, |
5 |
> >> |
6 |
> >> |
7 |
> >> However, now I have a networking issue. |
8 |
> >> |
9 |
> >> In past, when I booted to the install CD and my ethernet connection was |
10 |
> >> not active, I typed net-setup eth0 and was able to set it up. This |
11 |
> >> time, when I booted to the install CD and typed net-setup eth0, the |
12 |
> >> network card was not recognized. |
13 |
> > |
14 |
> > This means that your kernel is not configured with the corresponding |
15 |
> > modules for your network card, or that there is some other configuration |
16 |
> > problem with e.g. firmware loading (if such a thing is necessary for |
17 |
> > your card). |
18 |
> |
19 |
> I use genkernel. Granted, rather than just running genkernel all, I run |
20 |
> genkernel --menuconfig all because I remove stuff that I know I won't |
21 |
> need. However, in the network section, everything related to broadcom |
22 |
> and tg3 is built as a module. I even tried building tg3 directly into |
23 |
> the kernel and it didn't help. I had to do the 'modprobe -r broadcom' |
24 |
> and 'modprobe -r tg3' and then, 'modprobe broadcom' and 'modprobe tg3' |
25 |
> prior to running net-setup even when booted to the install CD. |
26 |
|
27 |
From what your dmesg shows tg3 fails to load. So there should not be a need |
28 |
to remove it. |
29 |
|
30 |
|
31 |
> >> I googled and found a post where |
32 |
> >> someone said that they had to 'modprobe -r broadcom' and 'modprobe -r |
33 |
> >> tg3' and then 'modprobe broadcom' and 'modprobe tg3' and then, run |
34 |
> >> net-setup. I did this and then ifconfig returned my eth0 connection. |
35 |
> >> |
36 |
> >> Of course, later you have to do the cp -L /etc/resolv.conf |
37 |
> >> /mnt/gentoo/etc/ .... which I did and dhcpcd has been added to my |
38 |
> >> default runlevel. |
39 |
> >> |
40 |
> >> However, when I boot, eth0 does not start. |
41 |
> > |
42 |
> > What does dmesg show? |
43 |
> |
44 |
> On line states: |
45 |
> tg3 0000:03:00.0: Problem fetching invariants of chip, aborting |
46 |
|
47 |
It fails to load. Something is blocking it from accessing the NIC chipset. |
48 |
|
49 |
|
50 |
> > What does cat /var/log/syslog | grep -i tg3 show |
51 |
> |
52 |
> Don't have a syslog file .... however, |
53 |
> |
54 |
> 'cat /var/log/rc.log | grep -i tg3' shows: |
55 |
> *Loading modul tg3 ... |
56 |
> |
57 |
> The line is repeated a total of 7 times. |
58 |
|
59 |
It should only be there once, unless you tried to load it 7 times? |
60 |
|
61 |
|
62 |
> >> I can start it manually by |
63 |
> >> doing 'modprobe -r broadcom' and 'modprobe -r tg3' and then 'modprobe |
64 |
> >> broadcom' and 'modprobe tg3' |
65 |
> > |
66 |
> > So the question is why when you remove and install the module manually |
67 |
> > your NIC driver loads, but at boot time it does not ... |
68 |
> |
69 |
> Good question and I have no idea! :-) |
70 |
|
71 |
I looked into it and the answer seems to be a bug in the kernel (there are |
72 |
patches out which fix this) that does not make sure that broadcom is loaded |
73 |
before tg3. |
74 |
|
75 |
|
76 |
> > ifconfig and ifconfig -a (before and after you modprobe the driver) |
77 |
> |
78 |
> Before loading: |
79 |
> |
80 |
> ifconfig just lists: |
81 |
> lo Link encap:Local Loopback |
82 |
> inet addr:127.0.0.1 Mask:255.0.0.0 |
83 |
> UP LOOPBACK RUNNING MTU:16436 Metric:1 |
84 |
> RX packets:11 errors:0 dropped:0 overruns:0 frame:0 |
85 |
> TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 |
86 |
> collisions:0 txqueuelen:0 |
87 |
> RX bytes:198 (198.0 B) TX bytes:198 (198.0 B) |
88 |
> |
89 |
> ifconfig -a lists: |
90 |
> lo Link encap:Local Loopback |
91 |
> inet addr:127.0.0.1 Mask:255.0.0.0 |
92 |
> UP LOOPBACK RUNNING MTU:16436 Metric:1 |
93 |
> RX packets:18 errors:0 dropped:0 overruns:0 frame:0 |
94 |
> TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 |
95 |
> collisions:0 txqueuelen:0 |
96 |
> RX bytes:324 (324.0 B) TX bytes:324 (324.0 B) |
97 |
|
98 |
The module is not loaded and the kernel has not seen the NIC. |
99 |
|
100 |
|
101 |
> After doing ''modprobe -r broadcom' and 'modprobe -r tg3' and then, |
102 |
> 'modprobe broadcom' and 'modprobe tg3' |
103 |
> |
104 |
> ifconfig lists: |
105 |
> |
106 |
> eth0 Link encap:Ethernet HWaddr 78:2b:cb:ad:9e:47 |
107 |
> inet addr:192.168.2.15 Bcast:192:168.2.255 Mask:255.255.255.0 |
108 |
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
109 |
> RX packets:1727 errors:0 dropped:0 overruns:0 frame:0 |
110 |
> TX packets:908 errors:0 dropped:0 overruns:0 carrier:0 |
111 |
> collisions:0 txqueuelen:1000 |
112 |
> RX bytes:1826702 (1.7 MiB) TX bytes:67525 (65.9 KiB) |
113 |
> |
114 |
> |
115 |
> lo Link encap:Local Loopback |
116 |
> inet addr:127.0.0.1 Mask:255.0.0.0 |
117 |
> UP LOOPBACK RUNNING MTU:16436 Metric:1 |
118 |
> RX packets:46 errors:0 dropped:0 overruns:0 frame:0 |
119 |
> TX packets:46 errors:0 dropped:0 overruns:0 carrier:0 |
120 |
> collisions:0 txqueuelen:0 |
121 |
> RX bytes:828 (828.0 B) TX bytes:828 (828.0 B) |
122 |
> |
123 |
> ifconfig -a lists |
124 |
> |
125 |
> eth0 Link encap:Ethernet HWaddr 78:2b:cb:ad:9e:47 |
126 |
> inet addr:192.168.2.15 Bcast:192:168.2.255 Mask:255.255.255.0 |
127 |
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
128 |
> RX packets:2024 errors:0 dropped:0 overruns:0 frame:0 |
129 |
> TX packets:958 errors:0 dropped:0 overruns:0 carrier:0 |
130 |
> collisions:0 txqueuelen:1000 |
131 |
> RX bytes:1846649 (1.7 MiB) TX bytes:70725 (69.0 KiB) |
132 |
> |
133 |
> |
134 |
> lo Link encap:Local Loopback |
135 |
> inet addr:127.0.0.1 Mask:255.0.0.0 |
136 |
> UP LOOPBACK RUNNING MTU:16436 Metric:1 |
137 |
> RX packets:50 errors:0 dropped:0 overruns:0 frame:0 |
138 |
> TX packets:50 errors:0 dropped:0 overruns:0 carrier:0 |
139 |
> collisions:0 txqueuelen:0 |
140 |
> RX bytes:1062 (1.0 KiB) TX bytes:1062 (1.0 KiB) |
141 |
> |
142 |
> > It may also help to know what is your card (lshw and lspci -v). |
143 |
> |
144 |
> Okay, I had to install pciutils before I could get the output so, |
145 |
> obviously, this was done after the drivers loaded. |
146 |
> |
147 |
> lspci -v shows: |
148 |
> |
149 |
> 03:00.0 Ethernet controller: Broadcom Corporation Netlink BCM57788 |
150 |
> Gigabit Ethernet PCIe (rev 01) |
151 |
> Subsystem: Dell Device 04aa |
152 |
> Flags: bus master, fast devsel, latency 0, IRQ 47 |
153 |
> Memory at fe500000 (64-bit, non-prefetchable) [size=64K] |
154 |
> Capabilities: [48] Power Management version 3 |
155 |
> Capabilities: [60] Vendor Specific Information: Len=6c <?> |
156 |
> Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ |
157 |
> Capabilities: [cc] Express Endpoint, MSI 00 |
158 |
> Capabilities: [100] Advanced Error Reporting |
159 |
> Capabilities: [13c] Virtual Channel |
160 |
> Capabilities: [160] Device Serial Number |
161 |
> 78-2b-cb-ff-fe-ad-9e-47 |
162 |
> Capabilities: [16c] Power Budgeting <?> |
163 |
> Kernel driver in use: tg3 |
164 |
> Kernel modules: tg3 |
165 |
|
166 |
As I said above the kernel ought to manage the order in which the modules and |
167 |
dependencies are loaded. This is a bug. There are patches out to address |
168 |
this in future kernels. |
169 |
|
170 |
Until then you can try to: |
171 |
|
172 |
1. Configure your /etc/conf.d/modules as suggested here: |
173 |
|
174 |
http://www.gentoo.org/doc/en/openrc-migration.xml |
175 |
|
176 |
and have broadcom before tg3. |
177 |
|
178 |
2. Configure broadcom in the kernel and tg3 as module (in case it makes a |
179 |
difference, or swap and see if that helps). |
180 |
|
181 |
3. Have a custom init script (re)loading them in the right order as Florian |
182 |
has already suggested. |
183 |
|
184 |
HTH. |
185 |
-- |
186 |
Regards, |
187 |
Mick |