volcanol

      今天晚上,我突然想在自己到笔记本上安装linux系统,因为我自己第一次接触到的linux是红帽支持到Fedora Core 4,所以一直最中意的linux

发行版本是FC系列,同时由于FC 15以后到版本有点类似于winodows 8的风格,我个人又不是很喜欢,因此弄了个FC 13安装。

      安装过程,没有必要细说,只是安装完成后,有线能上网,但是无线无法上网,于是自己就想弄的无线也能上网。弄了很长时间都没有成功。

于是就各种求助和搜索。

  下面是我解决这个问题到整个过程:

1、确定无线网卡到型号

     利用lspci命令结合grep命令取得无线网卡到型号:

[volcanol@volcanol ~]$ lspci | grep Network
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8192SE Wireless LAN Controller (rev 10)

       可以发现,linux到内核已经找到并识别出我到机器的无线网卡为 Realtek 的 RTL8192SE 版本为Rev 10

2、登录到Realtek的官网下载驱动程序

       http://www.realtek.com.tw/

  在页面到搜索中搜索:RTL8192SE

       在新打开到页面中可以看到有很多版本到驱动程序,这里我们需要选择合适到版本,因为linux下各个版本到内核驱动模块

具有依赖性关系,因此需要查看内核版本。     

[volcanol@volcanol ~]$ uname -a
Linux volcanol 2.6.33.3-85.fc13.i686.PAE #1 SMP Thu May 6 18:27:11 UTC 2010 i686 i686 i386 GNU/Linux

      可以发现,内核版本为2.6.33
      在realtek官网上我们可以发现有很多版本的驱动程序包,这里我们下载这个链接到驱动程序包:Linux driver for kernel 2.6.24 (and later, up to 3.2.x)

 3、解压缩驱动程序包

      下载完后驱动程序包的名称是:92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz

       解压:

tar -zxvf 92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz

  4、安装驱动

        首先,我直接make想编译一下:

[volcanol@volcanol rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011]$ make
make -C /lib/modules/2.6.33.3-85.fc13.i686.PAE/build M=/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011 modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE\'
mkdir: 无法创建目录"/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/.tmp_versions": 权限不够
  CC [M]  /home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.o
Assembler messages:
Fatal error: can\'t create /home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.o: Permission denied
In file included from /home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:34:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.h:143: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.h:143: 警告:它的作用域仅限于此定义或声明,这可能并不是您想要的
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘_rtl_init_mac80211’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:‘IEEE80211_HW_CONNECTION_MONITOR’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:所在的函数内也只报告一次。)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_watchdog_wq_callback’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1274: 错误:隐式声明函数‘ieee80211_connection_loss’
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在文件层:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1332: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1332: 错误:形参 2 (‘smps’) 的类型不完全
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_make_smps_action’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1352: 错误:‘WLAN_HT_ACTION_SMPS’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1354: 错误:‘IEEE80211_SMPS_AUTOMATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1355: 错误:‘IEEE80211_SMPS_NUM_MODES’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1357: 错误:‘IEEE80211_SMPS_OFF’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1359: 错误:‘WLAN_HT_SMPS_CONTROL_DISABLED’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1361: 错误:‘IEEE80211_SMPS_STATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1363: 错误:‘WLAN_HT_SMPS_CONTROL_STATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1365: 错误:‘IEEE80211_SMPS_DYNAMIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1367: 错误:‘WLAN_HT_SMPS_CONTROL_DYNAMIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在文件层:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1376: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1376: 错误:形参 3 (‘smps’) 的类型不完全
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_send_smps_action’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1404: 错误:实参 2 的类型不完全
make[2]: *** [/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.o] 错误 2
make[1]: *** [_module_/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE\'
make: *** [all] 错误 2

        结果没有成功。后来以为是root权限到问题,切换到root后,依然不能编译

[root@volcanol rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011]# make
make -C /lib/modules/2.6.33.3-85.fc13.i686.PAE/build M=/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011 modules
make[1]: Entering directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE\'
  CC [M]  /home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.o
In file included from /home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:35:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.h:143: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.h:143: 警告:它的作用域仅限于此定义或声明,这可能并不是您想要的
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘_rtl_init_mac80211’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:‘IEEE80211_HW_CONNECTION_MONITOR’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:322: 错误:所在的函数内也只报告一次。)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_watchdog_wq_callback’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1274: 错误:隐式声明函数‘ieee80211_connection_loss’
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在文件层:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1332: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1332: 错误:形参 2 (‘smps’) 的类型不完全
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_make_smps_action’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1352: 错误:‘WLAN_HT_ACTION_SMPS’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1354: 错误:‘IEEE80211_SMPS_AUTOMATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1355: 错误:‘IEEE80211_SMPS_NUM_MODES’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1357: 错误:‘IEEE80211_SMPS_OFF’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1359: 错误:‘WLAN_HT_SMPS_CONTROL_DISABLED’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1361: 错误:‘IEEE80211_SMPS_STATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1363: 错误:‘WLAN_HT_SMPS_CONTROL_STATIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1365: 错误:‘IEEE80211_SMPS_DYNAMIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1367: 错误:‘WLAN_HT_SMPS_CONTROL_DYNAMIC’未声明(在此函数内第一次使用)
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在文件层:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1376: 警告:‘enum ieee80211_smps_mode’在形参表内部声明
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1376: 错误:形参 3 (‘smps’) 的类型不完全
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c: 在函数‘rtl_send_smps_action’中:
/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.c:1404: 错误:实参 2 的类型不完全
make[2]: *** [/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011/base.o] 错误 1
make[1]: *** [_module_/home/volcanol/Download/wireless/rtl_92ce_92se_92de_linux_mac80211_0005.1230.2011] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.33.3-85.fc13.i686.PAE\'
make: *** [all] 错误 2

        后来经过不断到摸索,因为内核版本到问题这里有点特殊,不能直接make ,然后 make install,而是需要用下面到方法。

        因为Realtek 这个型号到网卡不支持直接编译后安装。

具体原因如下所示:

We don\'t support kernel 2.6.24-2.6.34 directly, Because there are
lots of issues in mac80211 from kernel 2.6.24-2.6.34,
So we suggest you to use the latest kernel >= 2.6.35.

but if you want to use our driver in an old kernel,
you can use compat-wireless. this methord can support all kernel
versions higher than 2.6.24, and you can use all functions
of our driver like you use it in the latest kernel version.

  5、 compact安装     

 ./compat/script/compat-install.sh

      这个脚本执行到时候,需要root用户权限。

      等待脚本执行完毕,

6、reboot

      reboot 后就可以使用无线网卡了

7、重启后查看网络配置状态

[volcanol@volcanol ~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 60:EB:69:D1:B1:9B  
          inet6 addr: fe80::62eb:69ff:fed1:b19b/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:72 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17424 (17.0 KiB)  TX bytes:6445 (6.2 KiB)
          Interrupt:33 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

wlan0     Link encap:Ethernet  HWaddr 88:9F:FA:FB:64:12  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::8a9f:faff:fefb:6412/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3796 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3038 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4091390 (3.9 MiB)  TX bytes:565945 (552.6 KiB)

         这样就可以看到,我们到无线网卡识别代码 : wlan0 ,如果启用到是DHCP 那么就可以上网了。

 

          这个方法,同样适用于其他版本到Linux安装Thinkpad_E40_0578MDC的无线网卡驱动程序。当然,如果您到网卡是这个型号的,那么

都可以用这个方法安装,并且如果您到内核版本高到3.0以上到发行版本都可以用这种方法安装。

分类:

技术点:

相关文章:

猜你喜欢