linux驱动安装
安装硬件驱动栈(HWE)
# Desktop sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 # Server sudo apt-get install --install-recommends linux-generic-hwe-18.04 # Check your support status # If you want a tool to determine if your install is still supported # please use hwe-support-status as documented on https://wiki.ubuntu.com/1204_HWE_EOL hwe-support-status --verbose
开启 TCP BBR
开机后uname -r
看看是不是内核 ≥ 4.9
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf # 保存生效 sysctl -p sysctl net.ipv4.tcp_available_congestion_control sysctl net.ipv4.tcp_congestion_control
如果结果都有bbr, 则证明你的内核已开启 TCP BBR!
lsmod | grep bbr
安装显卡驱动
- 用鼠标点击屏幕左侧Unity程序启动栏中的「系统设置」(齿轮扳手图标),
- 在弹出的窗口最下方的「系统」栏目中,鼠标点击(单击)「软件和更新」(纸箱地球图标),
- 或者:鼠标右键点击桌面 --> 更改桌面背景 --> 全部设置 --> 最下方的「系统」栏目 --> 软件和更新
- 点击「附加驱动」标签页会出现一个「正在搜索可用的驱动」的提示,稍候片刻,会显示出一个显卡驱动列表。
- 如果是刚刚安装新系统,没有设定软件源并更新的话,点击「附加驱动」标签页也许会没反应,更新软件后即可解决。
如何判断显卡驱动是否已经安装好?
可以通过以下好几种方法综合测试,但不能仅凭其中某一项来断定驱动是否安装成功。 以Nvidia为例,
- 方法a、可以点击左侧Unity程序启动器栏的「Dash主页」->「应用程序」->「系统」->「已安装」->「NVIDIA X Server Settings」,
如果没有安装成功,打开「NVIDIA X Server Settings」时会有英文的提示警告」显卡驱动未安装」。
或者如果遇到提示「You do not appear to be using the NVIDIA X driver.
Please edit your X configuration file (just run nvidia-xconfig
as root), and restart the X server.」。
而且在附加驱动里遇到提示「这个驱动已经激活但是没有使用」,那么解决的方法也很简单,就按提示所说的,
按下快捷键 Alt F2 打开「运行一个命令」对话框,输入以下命令配置显卡,然后就能打开N卡设置了:
万一以后升级Kernel时DKMS出错了,可能需要重新配置:
sudo dpkg-reconfigure nvidia-331 sudo dpkg-reconfigure nvidia-331-uvm
安装成功以后配打开nvidia配置管理器:
sudo nvidia-xconfig
- 方法b、默认的Ubuntu 12.04版只有黑屏的锁定屏幕程序,如果另外安装有屏幕保护程序,
点击左侧Unity程序启动器栏的「Dash主页」->「应用程序」->「自定义」->「已安装」->「屏幕保护程序」 屏幕保护里有很多需要显卡带3D渲染支持的3D动画,在左边的菜单逐个选择, 右边可以看到屏幕保护的预览效果,如果看不到3D屏幕保护动画,那就说明显卡驱动没有安装好。
Nvidia显卡驱动修复
需要首先到 NVIDIA 官网下载你设备对应的显卡驱动):
https://www.nvidia.com
# 先安装一些依赖库 sudo apt install build-essential libglvnd-dev pkg-config # 停止桌面管理器,进入命令行摸索 sudo telinit 3 # 删除已安装的 nvidia 驱动 sudo apt purge "nvidia*" # 手动安装显卡驱动 sudo bash NVIDIA-Linux-x86_64-440.82.run # 重启 sudo reboot
更多显卡驱动的安装方式可参考:
https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux
内核升级导致显卡驱动出错的修复
Ubuntu内核自动升级会导致nvidia-smi失败,显卡驱动与内核版本不匹配。解决的两种思路, 一是内核版本降级,二是更换与内核版本匹配的驱动。一没有实验成功(可能是配置错误), 所以按照二执行,参照网上大神的步骤,简单做一个 记录,以备后续遇到使用。
问题:
xxx@ubuntu: ~$ nvidia-smi NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
解决:
进入/usr/src
看到nvidia-418.xxx.xx
文件夹,说明nvidia驱动版本是418.xxx.xx。
根据网上的办法,使用以下命令:
sudo apt-get install dkms sudo dkms install -m nvidia -v 418.xxx.xx(NVIDIA版本号)
如果报错,出现错误提示:
Bad return status for module build on kernel: 5.4.0-42-generic on Ubuntu18.04. NVIDIA-SMI failed.Linux内核版本是5.4.0-42-generic,
这个内核版本网上也说与许多版本驱动匹配,需要升级到440版本的NVIDIA驱动。 执行下面步骤安装更高版本的驱动。
sudo apt-get autoremove --purge nvidia-* sudo apt-get install --reinstall linux-headers-$(uname -r) sudo apt-add-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-driver-440 sudo reboot
其中增加PPA源的部分可能会找不到key,需要添加。
注释:
/etc/default/grab
中=
两边空格敏感,若需改不要随手空格。
网卡驱动
Debian netinst安装镜像中并不带笔记本的WiFi模块固件,要手动从网站 https://packages.debian.org 下载以deb包:
- firmware-iwlwifi:WiFi 模块固件,从安装出错提示中获悉
- wireless-tools 及其依赖:无线工具集
- wpasupplicant 及其依赖:无线联网工具
配置/etc/network/interfaces
:
auto wlan0 iface wlan0 inet dhcp wpa-ssid <无线 ssid 名> wpa-psk <无线密码>
保存后,再执行:
ifup wlan0
即可正常连接无线网络了。
蓝牙
sudo apt-get install bluetooth bluez-btsco bluez-passkey-gnome \ bluez-pin bluez-utils gnome-bluetooth bluez bluez-hcidump
连接配对
$ lsusb Bus 001 Device 005: ID 0a5c:2039 Broadcom Corp. BCM2045 Bluetooth
安装:
apt-get install bluetooth bluez-utils bluez-compat blueman
$ sudo service bluetooth status [ ok ] bluetooth is running.
图形界面配对
可以在图形界面中右击蓝牙图标:「Setup New Device...」
手动配对
扫描设备:
$ sudo hcitool scan aa:bb:cc:dd:ee:ff Wireless Keyboard
匹配:
$ sudo bluez-simple-agent hci0 aa:bb:cc:dd:ee:ff 在这边输入一个密码(比如:0000),回车。 如果是蓝牙键盘,去蓝牙设备那边输入刚才设置的密码(0000)回车。 成功应该会说 …… Release
到这里就应该成功了。
手动连接
如果配对失败,
将这个新设备加入到信任列表:
sudo bluez-test-device trusted aa:bb:cc:dd:ee:ff yes
用这个命令手工开始连接:
sudo bluez-test-input connect aa:bb:cc:dd:ee:ff
每次自动配对所有
注意这样有风险,会自动连接所有的设备:
打开蓝牙键盘的on,启动搜索蓝牙适配器,灯一直闪着,不用管他
sudo hidd --search Searching ... Connecting to device BC:20:42:A0:00:00
搜索到就能用了。
开机自动配对:
/etc/rc.local
开头添加如下一行,保证下次开机就能使用。
/usr/bin/hidd --search
确认/etc/rc.local
以exit 0
结尾 。
每次开机前,需要打开蓝牙键盘的on,启动收索蓝牙适配器,灯一直闪着,不用管他, 系统会自动搜索键盘
bluez简介
安装bluez后,会提供两个工具hciconfig和hcitool进行蓝牙相关的配置。
查看当前蓝牙适配器参数配置(名字dbian-0,状态是Slave,MAC地址等):
$ sudo hciconfig -a hci0: Type: BR/EDR Bus: USB BD Address: 00:1A:7D:DA:71:13 ACL MTU: 310:10 SCO MTU: 64:8 ..... Link mode: SLAVE ACCEPT Name: ‘debian-0‘
查看蓝牙适配器提供的各种功能:
$ sdptool browse local
扫描蓝牙设备:
$ hcitool scan Scanning ... C4:17:FE:F6:65:FF PC-201209031236 CC:52:AF:4F:52:16 HR-6F1397D64651 18:DC:56:D2:1C:1A Coolpad 8297
获取手机蓝牙信息:
$ hcitool name 18:DC:56:D2:1C:1A Coolpad 8297
更加详细的信息:
$ sudo hcitool info 18:DC:56:D2:1C:1A Requesting information ... BD Address: 18:DC:56:D2:1C:1A Device Name: Coolpad 8297 LMP Version: 4.0 (0x6) LMP Subversion: 0x0 Manufacturer: MediaTek, Inc. (70) Features page 0: 0xbf 0x3e 0x8d 0xfe 0xdb 0xff 0x5b 0x87
配置蓝牙适配器使得能被其他设备搜索到:
$ sudo hciconfig hci0 iscan
这时在手机中搜索蓝牙设备可以搜索到"debian-0",但是使用手机配对时提示「PIN或者配对密钥不正确,无法和debian-0进行配对"。
在执行下面几条命令:
$ sudo hciconfig hci0 pscan $ sudo hciconfig hci0 noencrypt $ sudo hciconfig hci0 noauth
此时可以在pc上执行l2ping命令 :
host@debian:~$ sudo l2ping -c 3 18:DC:56:D2:1C:1A [sudo] password for host: Ping: 18:DC:56:D2:1C:1A from 00:1A:7D:DA:71:13 (data size 44) ... 44 bytes from 18:DC:56:D2:1C:1A id 0 time 15.00ms 44 bytes from 18:DC:56:D2:1C:1A id 1 time 26.16ms 44 bytes from 18:DC:56:D2:1C:1A id 2 time 26.14ms 3 sent, 3 received, 0% loss
上面这两种情况下都是在手机端发起配对请求,之后也只是能通过蓝牙发文件。
将其连接模式从SLAVE修改为master:
sudo hciconfig hci0 lm master
这时查看连接模式:
$ sudo hciconfig hci0 lm [sudo] password for host: hci0: Type: BR/EDR Bus: USB BD Address: 00:1A:7D:DA:71:13 ACL MTU: 310:10 SCO MTU: 64:8 Link mode: MASTER
使用rfcomm来连接手机蓝牙设备:
$ sudo rfcomm connect hci0 18:DC:56:D2:1C:1A Connected /dev/rfcomm0 to 18:DC:56:D2:1C:1A on channel 1 Press CTRL-C for hangup
连接成功,查看连接信息:
$ sudo hcitool con Connections: < ACL 18:DC:56:D2:1C:1A handle 72 state 1 lm MASTER AUTH ENCRYPT
可以执行hcitool中的cmd命令,例如下面的命令将当前设备的名称改成"ABCD":
$ sudo hcitool cmd 0x03 0x0013 0x41 0x42 0x43 0x44 < HCI Command: ogf 0x03, ocf 0x0013, plen 4 41 42 43 44 > HCI Event: 0x0e plen 4 01 13 0C 00
debian一键安装驱动安装
Debian是一个流行的Linux操作系统,它被广泛用于服务器和桌面应用程序的开发和运行。 在使用Debian时,你可能需要为你的硬件设备安装驱动程序,例如网络卡、显卡和打印机。 然而,这个过程可能会比较繁琐,因为你需要手动找到适合你的硬件的驱动程序,并安装它们。 为了简化这个过程,你可以使用一些工具来自动化这个过程。
这篇文章将介绍如何在Debian系统上使用一键安装驱动程序工具。 我们将使用一个名为「Driver Manager」的开源工具。 这个工具可以扫描你的系统并自动安装你所需要的驱动程序。
安装Driver Manager
Driver Manager是一个开源的工具,你可以通过以下命令在Debian系统上安装它:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install ubuntu-drivers-common sudo apt install ubuntu-drivers
运行Driver Manager
安装完成后,你可以按以下步骤来运行Driver Manager:
- 打开终端。
-
运行以下命令:
sudo ubuntu-drivers autoinstall
- 输入你的管理员密码。
- Driver Manager 将扫描你的硬件设备,并自动安装缺少的驱动程序。
- 手动安装驱动程序
如果Driver Manager不能安装你需要的驱动程序,你可以手动安装它们。以下是手动安装方式:
- 打开终端。
- 确定你需要安装的驱动程序的名称。
-
运行以下命令,用驱动程序的名称替换
<driver_name>
:sudo apt-get install <driver_name>
- 输入你的管理员密码。
- 等待安装完成。