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?
3 Answers
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.320, but 4.19.118 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
On Debian 10, replace
stretch
withbuster
; on Debian 11, withbullseye
.(Yes, we’re adding
contrib
andnon-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. Again, use
buster-backports
instead ofstretch-backports
on Debian 10, andbullseye-backports
on Debian 11.
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
As before, use buster-backports
instead of stretch-backports
on Debian 10, and bullseye-backports
on Debian 11.
In both cases, reboot to pick up the new or improved hardware support...
-
Hi, I tried this solution as you suggested here. This solved everything discribed in the question (Thank you very much) but the screen tearing was still there. As a blind shot, I ran
apt-get -t stretch-backports upgrade
and surprisingly it worked. Now is there any way to find which exact package solved it? Feb 23, 2019 at 11:13 -
I imagine it would be the Mesa packages (see the other answer I’d linked); the
apt
logs in/var/log/apt
will tell you what was upgraded, you’d then have to read the changelogs to attempt to identify a likely candidate. Feb 23, 2019 at 12:00 -
It must be. I remember that I see 'mesa' while upgrading. Thanks :-) Feb 23, 2019 at 12:12
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 an experiment :
First things first:
Reconfigure sources.list:
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
Configure Sudo
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
Update
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade -y
Examine, other possible firmware missing:
sudo update-initramfs -u
Identify the Packages:
apt-cache search firmware.bin
or
apt-file search firmware.bin
Search for Graphic Adapters:
lspci -nn | grep VGA
or
spci -nn | grep '\[03'
or
sudo dmesg | grep -E 'drm|radeon' | grep -iE 'firmware|microcode'
or
https://kmuto.jp/debian/hcl/index.rhtmlx
Install microcode
for Intel CPU, sudo apt install intel-microcode
(for Intel i686 and Intel X86-64 processors)
for AMD64 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
or
apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati
Reboot
sudo reboot
Enjoy!
-
Every step should BE PRECISELY made it for to AMD Graphics in new Debian 9.7, note this is only for AMD(open source) and (not fglrx and/or any NVIDIA). Feb 21, 2019 at 16:02
-
I only don't understand the malice behind of down vote of my answer, I've TESTED and I'm using in my machine right now, a part is updated and related to the recently manual Debian 9.7, other possibilites has been discarded, since is old and could harm your OS. Feb 21, 2019 at 16:06
-
1you guys are thinking that I'll change my answer and I'm REALLY will not! Call the admin for more support. I read all debian manual from the official website. Thanks! Oct 21, 2019 at 18:15
-
1I don't know why @Satoshi Nakamoto got down voted, It's helpful info, I just applied this to Debian 11 Bullseye that I was having trouble with missing video drivers, and it worked fine.– SusanMar 24, 2022 at 11:51
-
ndiswrapper
(some network cards, especially wireless) then things should Just Work