I just installed Debian 9 on my laptop, however Wifi isn't working and I'm not sure if my graphic card is either. I'm sure that it's just a lack of drivers, but I've never actually had to update drivers on Linux before. So how do I do that?
In Debian, if you run into issues with wi-fi or graphics support, there are usually two things to check.
The first is the kernel, especially for graphics. You can usually get a newer kernel by looking at backports; currently, the Debian 9 kernel is 4.9.168, but 4.19.37 is available as a backport with better support for newer graphics adapters. This is particularly true for Intel GPUs. To install a kernel from backports, proceed as follows:
Add the backports repository:
echo deb http://http.debian.net/debian stretch-backports main contrib non-free > /etc/apt/sources.list.d/stretch-backports.list
(Yes, we’re adding
non-free, they’ll come in handy later...)
Install the backported kernel:
apt update apt -t stretch-backports install linux-image-amd64
This won’t replace your current kernel, so you can always boot that instead if things go wrong.
The second is firmware. Most GPUs, and many wi-fi adapters, need firmware, which might not be installed by default (because source code is generally not available, so it’s not made available as part of Debian, but instead in the
non-free repositories). To install the available firmware, from backports too (might as well):
apt install -t stretch-backports firmware-linux
In both cases, reboot to pick up the new or improved hardware support...
Open up a terminal and try
lspci -kv | less
Here you can look at all your PCI devices. I notice in my output these two devices:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV670 [Radeon HD 3870] (prog-if 00 [VGA controller]) Subsystem: Dell RV670 [Radeon HD 3870] Flags: bus master, fast devsel, latency 0, IRQ 27 Memory at d0000000 (64-bit, prefetchable) [size=256M] Memory at fe9f0000 (64-bit, non-prefetchable) [size=64K] I/O ports at dc00 [size=256] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> *Kernel driver in use: radeon* *Kernel modules: radeon* 04:05.0 Network controller: Ralink corp. RT2800 802.11n PCI Subsystem: Edimax Computer Co. RT2800 802.11n PCI Flags: bus master, slow devsel, latency 64, IRQ 17 Memory at fe7f0000 (32-bit, non-prefetchable) [size=64K] Capabilities: <access denied> *Kernel driver in use: rt2800pci* *Kernel modules: rt2800pci*
Take note of what the name of the device is, e.g. Radeon HD3870. See that I have appropriate drivers/modules listed (asterisks around them are mine) - what have you got?
Debian favour free software over guaranteed full function out of the box. If your wifi is not working, connect over ethernet and fix your problems first. Good luck!
Recently issued the same problem and after four days of research:
First things first:
su rm /etc/apt/sources.list editor /etc/apt/sources.list
then add (contrib + non-free):
deb http://deb.debian.org/debian stretch main contrib non-free deb-src http://deb.debian.org/debian stretch main contrib non-free deb http://deb.debian.org/debian-security/ stretch/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ stretch/updates main contrib non-free deb http://deb.debian.org/debian stretch-updates main contrib non-free deb-src http://deb.debian.org/debian stretch-updates main contrib non-free
Login as root and install sudo
su apt-get install sudo
Now add your subuser to sudo users and use that user from now on.
adduser $USER sudo
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade -y
Examine, other possible firmwares missing:
sudo update-initramfs -u
Identify the Packages:
apt-cache search firmware.bin
apt-file search firmware.bin
Search for Graphic Adapters:
lspci -nn | grep VGA
spci -nn | grep '\[03'
sudo dmesg | grep -E 'drm|radeon' | grep -iE 'firmware|microcode'
for Intel CPU,
sudo apt install intel-microcode
(for Intel i686 and Intel X86-64 processors)
sudo apt install amd64-microcode(necessary to install with graphics AMD only)
Install AMD Graphics in Debian 9.7
sudo apt install firmware-amd-graphics
apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati