.

.

.

.

.

之前家里台式机上安装的是win7+CentOS双系统,但是CentOs的无线网卡驱动不知为何无论如何都安装不上,再加上这段时间一直很忙,所以一直使用着win。这几天事情忙得差不多了,再加上win的分区告急了(硬盘总共2TB,win分配了500G,剩下的是Linux分区),便想好好弄一弄机器上的Linux。没想到CentOS居然不能启动了,于是只能换成Ubuntu碰碰运气。另外我一直比较喜欢用Ubuntu,虽然换成Unity的界面后看着不太爽,不过用了好些年了还是这个系统比较顺手。

总之这次安装系统+安装无线网卡驱动相当的不顺利,不过最终还是成功的装好了,所以顺便记录下来提供给遇到类似问题的童鞋参考。

机器配置:

CPU:AuthenticAMD A4-3300

内存:4GB

硬盘:2TB

主板:七彩虹 C.A55T V15

无线网卡:瑞昱RTL8188C USB

显卡:(主板集成)amd-catalyst

从官网下载了Ubuntu 12.04 LTS 版,并刻录成光盘。用光盘启动后刚出现桌面背景图片就死机了,反复修改N次BIOS的磁盘模式(无论是AHCI、RAID或者Native IDE)都不行。后来发现用Ubuntu 10.04 的可以正常启动,不知道是什么原因,于是就直接安装了Ubuntu 10.04。系统安装完成后重新启动进入新系统当中,然后从无线网卡附赠的光盘中将驱动包拷出来(/tmp/bx, bx是我自己创建的目录)。

unzip RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip

mv RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911 rtl8188cu

cd rtl8188cu

chmod 777 install.sh

sudo ./install.sh

然后报了一个编译错误:

/tmp/bx/rtl8188cu/core/rtw_pwrctrl.c:
In function 'LeaveAllPowerSaveMode':
/tmp/bx/core/rtw_pwrctrl.c:712: error 'HAL_DATA_TYPE\ has no member named 'autosuspend_disabled'
make[2]: *** [/tmp/bx/rtl8188cu/core/rtw_pwrctrl.o] Error 1
make[1]: *** [_module_/tmp/bx/rtl8188cu] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-2.6.32-28-generic'
make: *** [modules] Error 2
Compile make driver error: 2, Please check error Mesg

遂请教Google,找到了一篇帖子,帖子里的回答类似修改core/rtw_pwrctrl.c文件的LeaveAllPowerSaveMode函数,712行。果然找到了这个函数,将

Adapter->dvobjpriv.pusbdev->autosuspend_disabled = pHalData->autosuspend_disabled;
修改为:
Adapter->dvobjpriv.pusbdev->autosuspend_disabled = 0;

既然修改了源文件就不能使用外面的install.sh脚本了,否则脚本会删掉我修改后的文件重新解压压缩包里的源码。于是只能手工编译:

cd /tmp/bx/rtl8188cu/core/driver/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/

sudo make

sudo make install

编译很顺利,可是系统还是认不出无线网卡,输入iwconfig指令也查看不到无线网卡,于是只能重启系统。

重启后依然无法识别无线网卡,只好先把系统升级到12.04LTS,用有线连接上网络之后用系统的升级工具自动升级,出去洗了个澡,回来后系统还没有升级完,边看书边等待系统升级结束。。

一个多小时后,系统终于升级完成了,于是乎赶紧重启准备体验下新系统。谁知重启之后..........

花屏了。。

于是重启到win中,从官网下载了一个显卡驱动:amd-catalyst-13.9-linux-x86.x86_64.run

用恢复模式启动后安装了这个驱动:

chmod 777 amd-catalyst-13.9-linux-x86.x86_64.run

sudo ./amd-catalyst-13.9-linux-x86.x86_64.run

显卡驱动装好后重启,桌面终于正常了。

于是乎继续折腾无线网卡的问题。

这回从官网重新下载了一份无线网卡的驱动,依然按照上面的步骤进行傻瓜式安装,编译成功,安装成功。

终于在状态栏中看到可爱的无线网卡图标了,也搜索到了我的无线路由器了,于是乎赶紧输入密码进行连接......连接成功!

打开浏览器赶紧上网。。。。结果。。。。上不去。。

ping 192.168.0.1(网关地址)返回网络不可到达的错误消息。。

在浏览器中访问:http://192.168.0.1 也是访问失败。

杯了个催的,这是怎么回事呢?

继续重新安装无线网卡驱动,结果居然好了,能上网了,我心里那个激动。。

别急,重启试试吧。重启系统后。。。可想而知。。又杯具了。。

于是继续Google,有幸又找到了一篇文章

根据文章的描述,我在想是不是由于之前安装失败了的驱动覆盖了我新安装的驱动的配置。于是屏蔽掉现有的网卡驱动模块后重新编译驱动并安装,对比一下安装驱动之前和安装之后,内核模块的加载又什么差别。

发现安装驱动之前,加载的模块如下:(仅列出无线网卡相关模块)

命令:lsmod,输出:

amd76x_edac
rtl8192cu
rtl8192c_common
rtlwifi
mac80211
cfg80211

干掉以上模块,为安装新的网卡驱动做准备:(执行如下命令)

rmmod amd76x_edac
rmmod rtl8192cu
rmmod rtl8192c_common
rmmod rtlwifi
rmmod mac80211
rmmod cfg80211

重新编译安装无线网卡驱动,再次 lsmod 查看已加载的内核模块的变化。

发现多出了一个 8192cu 模块,于是网络功能又恢复了。看来这个模块式正常的,而上面那一堆都是不正常的模块,于是屏蔽掉它们:

sudo vi /etc/modprobe.d/blacklist.conf

在文件的最后面添加:

blacklist amd76x_edac
blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi
blacklist mac80211
blacklist cfg80211

保存,退出,重启系统。

重启后一切都正常了。

至此系统的安装和无线网卡驱动的安装就结束了。

由于Unity实在用不习惯,遂改成 Gnome 3,安装方式详见这里

最近在win里安装了Rime输入法,感觉不错,于是打算给Linux也装上,于是今晚边写这篇博客边安装了Rime输入法。

跟着官方的安装步骤(源码编译安装)每一步准备工作执行得都挺顺利,结果最后一步执行 ./install.sh 的时候报了个错误,看有人提出了疑问却没人回答。(错误如下)

if -e ../brise; then cp -R ../brise/ data/; fi mkdir -p build (cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_STATIC=OFF ..) -- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) -- Found yaml-cpp: /usr/local/lib/libyaml-cpp.so -- Found kyotocabinet: /usr/local/lib/libkyotocabinet.so CMake Error at cmake/FindOpencc?.cmake:22 (message):

Could not find opencc library.

Call Stack (most recent call first):

CMakeLists.txt:50 (find_package)

-- Configuring incomplete, errors occurred! make: librime? 错误 1

最终为了方便,只好用源的方式进行安装了,不过很顺利:

# this repo provides libkyotocabinet, libgoogle-glog for Ubuntu 12.04;
# these packages are officially supported since Ubuntu 12.10.
sudo add-apt-repository ppa:fcitx-team/nightly # providing libyaml-cpp0.5, librime, rime-data, ibus-rime
sudo add-apt-repository ppa:lotem/rime sudo apt-get update
sudo apt-get install ibus-rime

如果是Ubuntu10.04以上的版本,直接执行

sudo apt-get install ibus-rime

命令就行了,因为 Rime 已经被收录到 Ubuntu 源中了。

Ubuntu 12.04 LTS(64 bit) + RTL8188CU无线网卡驱动的更多相关文章

  1. ubuntu 12.04 LTS 64位兼容运行32位程序

    安装完Goagent,运行的时候出现了问题,在网络上翻看一些关于ubuntu的文档时,突然记起自己安装的是64位版,而goagent应该是32位的,于是通过sudo apt-get install i ...

  2. 如何让Ubuntu 12.04 LTS更炫更具吸引力

    Ubuntu 12.04 LTS震撼发布   适逢七周岁生日之际,Ubuntu正式推出了第四个LTS长期支持版本,开发代号Precise Pangolin的Ubuntu 12.04在2012年4月26 ...

  3. Lamp(Ubuntu 12.04 LTS) 之 htaccess的使用

    环境说明:Ubuntu 12.04 LTS Lamp (以apt方式分别安装) 一.明确目标:要确保.htaccess文件起作用,只需要三个重要点: 1.开启apache rewrite模块: (1) ...

  4. Installing OpenCV 2.4.10 in Ubuntu 12.04 LTS

    转自 http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/ EDIT: I published a ...

  5. (转)Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

    本文的英文版本链接是 http://www.mrxuri.com/index.php/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html ...

  6. MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE

    MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE So you want to mount your HFS+ ( ...

  7. 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角

    原文网址:http://www.4byte.cn/learning/114801.html ubuntu 12.04 LTS将关闭最大化最小化移动到右上角   还是按下“ALT +F2”组合键,输入g ...

  8. Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

    本文的英文版本链接是 http://xuri.me/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html MySQL Cluster 是 ...

  9. ubuntu 12.04 LTS server 中文乱码【转】

    ubuntu 12.04 LTS server 中文乱码 最近装了一台ubuntu 12.04 server装完后是没有桌面的,后来又手动安装了桌面,但进行后发现桌面是乱码,应该是缺少字体在googl ...

随机推荐

  1. 自定义 iPhone 铃声

    1.iPhone 铃声格式 iPhone 的来电铃声时长限制为 40 秒,短信铃声时长限制为 25 秒,且 iOS5 及以上的系统才支持 m4r 格式的短信铃声. 2.自定义 iPhone 铃声 1) ...

  2. unity, dll is not allowed to be included or could not be found

    player settings change to Net 2.0 ref: http://answers.unity3d.com/questions/485085/dll-is-not-allowe ...

  3. php分享二十五:跨域请求

    问题: 跨域请求有几种方式? jsonp支持哪几种请求方式? 支持post请求吗? 支持get请求吗? 由于浏览器同源策略,凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域 ...

  4. mysql获得60天前unix时间示例

    在mysql中获取多少天前的unix时间的方法.首先根据now()获得当前时间,使用adddate()方法获得60天前时间,使用unix_timestamp()方法转换时间类型 select UNIX ...

  5. APACHE LOG4J™ 2

    最近服务端开发需要用Log系统,于是研究了下APACHE下的Log框架. 目前日志系统,支持的语言有C++,PHP,.NET,JAVA.当然我是用Java服务端,选择用log4j吧.但突然发现log4 ...

  6. asp.net 中用easyui中的treegird的简单使用

    几乎每个‘数人头’项目中都会用到的功能,这里先记下来,以后直接到这里复制代码就行了,ASP.NET MVC中的使用 数据库用户表中的除了有个parentid父级ID外,我还多加了以个字段,parent ...

  7. Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案

    Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案 1. 迷茫的原因最大原因是未知1 1.1. 我在哪里??自己的定位,1 1.2. 正确方向是什么??1 1.3. 虽然找到方向 ...

  8. MD5 和的价值体现在哪里,它是用来做什么的?

    MD5 和的价值体现在哪里,它是用来做什么的? MD5 和是由字母和数字构成的字符串,起到了文件指纹的作用.如果两个文件有相同的 MD5 和值,那么,文件完全相同.您可以为每一软件下载使用所提供的 M ...

  9. 初学FPGA

    刚开始感觉FPGA不过也就是和51,ARM单片机那样写写程序就完事了,现在看来根本不是那么回事.从夏宇闻老师的Verilog HDL,黑金教程开始学起,但是感觉看到黑金时序篇时感觉少点什么,原来是缺少 ...

  10. Android学习之Design Support Library中TextInputLayout的使用

    今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...