c210cd74d8b279cc1609309c5a04a5304895093b
[linux-2.6.git] / drivers / net / bcm5700 / DISTRIB.TXT
1 \r
2            Additional Installation Notes for Various Linux Distributions\r
3                        Broadcom BCM5700 Linux Driver\r
4                               Version 8.3.17c\r
5                                 03/10/2006\r
6 \r
7                           Broadcom Corporation\r
8                           16215 Alton Parkway,\r
9                           Irvine, CA 92619-7013\r
10 \r
11                 Copyright (c) 2000-2006 Broadcom Corporation\r
12                            All rights reserved\r
13 \r
14 \r
15 Table of Contents\r
16 =================\r
17 \r
18   Introduction\r
19   Limitations\r
20   Prerequisites\r
21   Enable Loadable Module Support on Turbolinux 10\r
22   Remove tg3 Driver\r
23   Edit /etc/modules.conf\r
24   Patching PCI Files (Red Hat - Optional)\r
25   Patching module-info Files (Red Hat - Optional)\r
26   Network Installation (Red Hat)\r
27   Message-"no version for "struct_module" found"\r
28 \r
29 Introduction\r
30 ============\r
31 \r
32 This file contains additional installation notes for the Broadcom NetXtreme\r
33 bcm5700 Linux driver that are specific to certain Linux distributions. General\r
34 installation notes are contained in README.TXT.\r
35 \r
36 \r
37 Limitations\r
38 ===========\r
39 \r
40 The current version of the driver has been tested on selected Linux\r
41 distributions for i386, ia64, and x86_64. Limited testing has also\r
42 been done on PPC64 systems. Testing is normally focused on the\r
43 following distributions:\r
44 \r
45    Red Hat 4.0 and 3.0AS\r
46    SuSE 9\r
47  \r
48 \r
49 Prerequisites\r
50 =============\r
51 \r
52 In order to compile your Broadcom NetXtreme Linux driver, you must first\r
53 have a properly compiled kernel source tree which matches your running\r
54 kernel.  You must also have a working C/C++ compiler and all the associated\r
55 dependencies installed before attempting to compile the driver.\r
56  \r
57 On Red Hat distributions, if you have opted for a custom installation, you\r
58 need to select "Development Tools" and "Kernel Development" to install\r
59 the necessary tools and kernel source tree.\r
60    \r
61 On Linux distributions, you must change the software packages\r
62 installed by default when presented with the Installation Settings.  Under\r
63 software selelction, select "Detailed Selection".  In this area ensure that\r
64 "C/C++ Compiler and Tools" is selected.  This should install the C/C++\r
65 compiler as well as the kernel-source files.\r
66    \r
67 For further assistance, please review your Linux documentation. \r
68     \r
69       \r
70 Enable Loadable Module Support on Turboilinux 10 \r
71 ================================================\r
72 \r
73 When attempting to compile the driver, the following message may be displayed:\r
74 \r
75    The present kernel configuration has modules disabled. Type 'make config'\r
76    and enable loadable module support. Then build a kernel with module\r
77    support enabled.\r
78 \r
79 Do the following to enable loadable module support:\r
80 \r
81    cp /usr/src/configs/kernel-x.x.x-i586.config /usr/src/.config\r
82 \r
83 \r
84 Remove tg3 Driver\r
85 =================\r
86                                                 \r
87 Many newer distributions and newer kernels may already contain and use the\r
88 tg3 driver by default for Broadcom BCM5700 series devices. While tg3 is a fully\r
89 functioning driver written by Red Hat, Broadcom recommends users to use\r
90 the bcm5700 driver written and tested by Broadcom.\r
91                                                 \r
92 1. Use ifconfig to bring down all interfaces used by tg3, then use `rmmod` to\r
93    remove the module if loaded.  The following assumes eth0 and eth1 are both\r
94    Broadcom devices using the tg3 driver.\r
95 \r
96    ifconfig eth0 down\r
97    ifconfig eth1 down\r
98    rmmod tg3\r
99                                                                     \r
100 2. Now it may be necessary to manually edit your /etc/modules.conf file to\r
101    allow the bcm5700 driver to load at boot time instead of the tg3 driver.  See\r
102    below.\r
103 \r
104 \r
105 Edit /etc/modules.conf\r
106 ======================\r
107                                                                         \r
108 If there is an alias entry in your /etc/modules.conf file referencing the\r
109 tg3 driver, make sure that you replace tg3 with bcm5700.  Otherwise, add the\r
110 entry below if necessary.\r
111                                                                          \r
112 Example:\r
113 \r
114 alias eth0 bcm5700\r
115                                                                                \r
116 \r
117 Patching PCI Files (Red Hat - Optional)\r
118 =======================================\r
119 \r
120 To use the Red Hat kudzu hardware detection utility, and to list the\r
121 BCM5700 series devices by name using lspci, a script has been included\r
122 in the bcm_sup-<version>.tar.gz package.\r
123 The /bin/bash script to update the Red Hat PCI device list and patch\r
124 files for the latest kernels by running this script. \r
125 \r
126 For example, on Red Hat 3 i386, apply the script in the following way:\r
127 \r
128    ./update_ids.sh\r
129 \r
130 Run kudzu:\r
131 \r
132    kudzu\r
133 \r
134 \r
135 Network Installation (Red Hat)\r
136 ==============================\r
137 \r
138 For network installations through NFS, FTP, or HTTP (using a network boot disk\r
139 or PXE), a driver diskette that contains the bcm5700 driver is needed.  The\r
140 driver diskette images for the most recent Red Hat versions are included. Boot\r
141 drivers for other Linux versions can be compiled by modifying the Makefile and\r
142 the make environment. Further information is available from Red Hat's website.\r
143 \r
144 To create the driver diskette, select the appropriate image file, gunzip it,\r
145 and do the following:\r
146 \r
147 dd if=dd.img of=/dev/fd0H1440.\r
148 \r
149 \r
150 Message -"no version for "struct_module" found"\r
151 ==============================================\r
152 If you see this message, bring the kernel version.h file up to date by \r
153 executing the following command, then remake the bcm5700 module.\r
154 \r
155 (cd /usr/src/linux; make include/linux/version.h)\r
156 \r
157 \r
158 'rpm -e' does not uninstall the bcm5700 module\r
159 ==============================================\r
160 On some linux installations, the bcm5700 module comes as part of the kernel\r
161 package.  In these cases, the administrator will have to install a newer\r
162 version of the module by using the --force flag.  While this flag does\r
163 allow the newer version module to be installed, it does not change the\r
164 ownership of the file to the newer package.  Consequently, the 'rpm -e'\r
165 command will not remove the file, since it is not associated with that\r
166 package.\r