fedora9下NetLink bcm57788 驅動安裝

前幾天裝了個fedora9實體機,無奈網卡一直不能用,今天終於搞定了,這裏記錄下。

下載驅動源碼:下載地址

安裝完對應的kernel-devel後,解壓tg3壓縮包,按照README.txt中描述安裝,其中介紹了2種方法,我採用的是下面這中rpm的方式:

 

  1. The following are general guidelines for installing the driver. 
  2.  
  3. 1. Install the source RPM package: 
  4.  
  5.    rpm -ivh tg3-<version>.src.rpm 
  6.  
  7. 2. CD to the RPM path and build the binary driver for your kernel: 
  8.  
  9.    cd /usr/src/{redhat,OpenLinux,turbo,packages,rpm ..} 
  10.  
  11.    rpm -bb SPECS/tg3.spec 
  12.  
  13. or 
  14.  
  15.    rpmbuild -bb SPECS/tg3.spec (for RPM version 4.x.x) 
  16.  
  17. Note that the RPM path is different for different Linux distributions. 
  18.  
  19. The driver will be compiled for the running kernel by default. To build 
  20. the driver for a kernel different than the running one, specify the 
  21. kernel by defining it in KVER: 
  22.  
  23.    rpmbuild -bb SPECS/tg3.spec --define "KVER <kernel version>
  24.  
  25. where <kernel version> in the form of 2.x.y-z is the version of another 
  26. kernel that is installed on the system. 
  27.  
  28. 3. Install the newly built package (driver and man page): 
  29.  
  30.    rpm -ivh RPMS/<arch>/tg3-<version>.<arch>.rpm 
  31.  
  32. <arch> is the architecture of the machine, e.g. i386: 
  33.  
  34.    rpm -ivh RPMS/i386/tg3-<version>.i386.rpm 

但是在進行到第2步

  1. rpmbuild -bb SPECS/tg3.spec 

的時候出錯了,提示如下錯誤

 

  1. make -C /lib/modules/2.6.25-14.fc9.i686/build SUBDIRS=/usr/src/redhat/BUILD/tg3-3.116j modules 
  2. make[1]: Entering directory `/usr/src/kernels/2.6.25-14.fc9.i686' 
  3.   CC [M]  /usr/src/redhat/BUILD/tg3-3.116j/tg3.o 
  4. /usr/src/redhat/BUILD/tg3-3.116j/tg3.c: In function 'tg3_napi_fini': 
  5. /usr/src/redhat/BUILD/tg3-3.116j/tg3.c:5821: error: implicit declaration of function 'netif_napi_del' 
  6. make[2]: *** [/usr/src/redhat/BUILD/tg3-3.116j/tg3.o] Error 1 
  7. make[1]: *** [_module_/usr/src/redhat/BUILD/tg3-3.116j] Error 2 
  8. make[1]: Leaving directory `/usr/src/kernels/2.6.25-14.fc9.i686' 
  9. make: *** [default] Error 2 
  10. error: Bad exit status from /var/tmp/rpm-tmp.81225 (%build) 

解決方法如下:

打開/usr/src/kernels/2.6.25-14.fc9.i686/include/linux/netdevice.h 文件,在netif_napi_add函數下添加

 

  1. static inline void netif_napi_del(struct napi_struct *napi) 
  2. #ifdef CONFIG_NETPOLL 
  3.         list_del(&napi->dev_list); 
  4. #endif 
  5. }  

保存後重新運行

  1. rpmbuild -bb SPECS/tg3.spec  

沒有錯誤,搞定。。。

這時候你會在/usr/src/redhat/RPMS/i386目錄下看到剛生成的tg3-3.116j-1.i386.rpm文件,用rpm安裝即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章