感谢支持
我们一直在努力

如何通过命令行为Linux安装驱动程序

一般来说,在安装操作系统之后,系统会推荐一定的驱动更新,如果有些不合适,那么你可以选择手动更新。例如有的wireless无线驱动工作不正常,sudo ifconfig也不存在wlan0,那么你就必须采取手动安装方法。


首先,先判断什么驱动工作不正常。是声卡,还是显卡,还是无线模块。


然后,在去官方网站下载驱动包,注意选择操作系统和应用平台(i386,X86,X86_64),


再根据安装包的不同采取操作。是需要编译的源代码,还是bin程序。


如果是源代码,一定要先阅读readme,执行


sudo make


sudo make install


sudo reboot


例如安装realtek的无线驱动


baidu@ww.baidu.org.tw:~/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011$ sudo make


[sudo] password for pp:


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011 modules


make[1]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/base.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rc.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/debug.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/regd.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/efuse.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/cam.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/ps.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/core.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/pci.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.o


Building modules, stage 2.


MODPOST 1 modules


CC      /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.mod.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtlwifi.ko


make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/hw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/table.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/sw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/trx.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/led.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.o


/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.c: In function ‘rtl92c_download_fw’:


/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/fw.c:240: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/phy.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rf.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/dm.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.o


Building modules, stage 2.


MODPOST 1 modules


CC      /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.mod.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce/rtl8192ce.ko


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/hw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/table.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/sw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/trx.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/led.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/fw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/phy.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rf.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/dm.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.o


Building modules, stage 2.


MODPOST 1 modules


CC      /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.mod.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se/rtl8192se.ko


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/hw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/table.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/sw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/trx.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/led.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/fw.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.o


/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.c: In function ‘rtl92d_phy_reset_iqk_result’:


/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/phy.c:3002: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rf.o


CC [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/dm.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.o


Building modules, stage 2.


MODPOST 1 modules


CC      /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.mod.o


LD [M]  /home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de/rtl8192de.ko


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de’


baidu@ww.baidu.org.tw:~/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011$ make install


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011 modules


make[1]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


rm: cannot remove `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/.tmp_versions/rtlwifi.mod’: Permission denied


make[1]: *** [crmodverdir] Error 1


make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make: *** [all] Error 2


baidu@ww.baidu.org.tw:~/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011$ sudo make install


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011 modules


make[1]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


Building modules, stage 2.


MODPOST 1 modules


make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


Building modules, stage 2.


MODPOST 1 modules


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192ce’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


Building modules, stage 2.


MODPOST 1 modules


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192se’


make[1]: Entering directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de’


make -C /lib/modules/2.6.35-28-generic/build M=/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de modules


make[2]: Entering directory `/usr/src/linux-headers-2.6.35-28-generic’


Building modules, stage 2.


MODPOST 1 modules


make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic’


make[1]: Leaving directory `/home/pp/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011/rtl8192de’


find /lib/modules/2.6.35-28-generic -name “r8192se_*.ko” -exec rm {} \;


find /lib/modules/2.6.35-28-generic -name “r8192ce_*.ko” -exec rm {} \;


baidu@ww.baidu.org.tw:~/Desktop/rtl_92ce_92se_92de_linux_mac80211_0003.0401.2011$


注意:有的linux操作系统默认没有安装gcc,如Fedora 14,需要先配置gcc


su root


yum -i gcc


如果是bin安装包,则如下操作:


例如:安装ati-driver


baidu@www.baidu.org.tw:~/Downloads$ sudo chmod +x ati-driver-installer-11-5-x86.x86_64.run


baidu@www.baidu.org.tw:~/Downloads$ sudo ./ati-driver-installer-11-5-x86.x86_64.run


在按照提示操作即可。

赞(0) 打赏
转载请注明出处:服务器评测 » 如何通过命令行为Linux安装驱动程序
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏