zoukankan      html  css  js  c++  java
  • 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以上到发行版本都可以用这种方法安装。

  • 相关阅读:
    内存警告
    倒影效果
    设计模式六大原则
    设计模式
    GCD线程
    字符串颜色值转换
    下划线按钮
    电池栏上弹窗
    项目发布相关
    UINib xib加载
  • 原文地址:https://www.cnblogs.com/volcanol/p/3147513.html
Copyright © 2011-2022 走看看