Wifi Driver installation D-link dwa-x582

Hi, i've just upgraded my wifi card with the dwa x582 mentioned in the title but i can't get it to work.

it's an m.2 card that comes with a pcie x1 adapter; it supports wifi 6 and bluetooth; after the installation, bluetooth was working immediately but not wifi.
i downloaded the drivers from the product page and followed the instructions in the readme file but it didn't work.

all the documentation says, is to copy the .ucode files in the /lib/firmware folder.

for the old adapter (which was also pcie) i didn't have to do anything and it was installed correctly during the os installation. i've checked many other posts and copied a lot of commands but it still didn't work.

as far as i can understand, the system can see the device but the wifi button doesn't appear.
i've tried the adapter on a windows pc and it worked fine, so i think the problem is just software

i used the lshe -c network command and the device is listed correctly i think
Schermata del 2024-07-01 18-56-37

  1. If you're dual-booting Windows, please check for and disable both "fast boot" and "fast startup". One is a Windows setting and the other is a BIOS / UEFI setting you may or may not have; whether your BIOS / UEFI has the option, and where to find it if so, I can't say. Unfortunately, every BIOS and UEFI is totally different, using different names for the same features even within the same brand!
  1. Run the command rfkill list all in a terminal and see if your WiFi devices are blocked at all. If so, try sudo rfkill unblock all and then run rfkill list all again to see if it changes.

  2. I have also seen some mention previously of an Acer kernel module that can block certain WiFi drivers even on machines from other brands like ASUS and HP. If you see acer_wmi or acer-wmi in the output of sudo lsmod | grep acer then it may be worth trying this fix. WMI modules are for mapping the Fn keys on laptop keyboards to system functions, such as toggling WiFi or changing screen brightness. If linux chooses the wrong WMI for your keyboard - such as acer-wmi on a Dell or HP laptop - this somehow causes the WiFi driver to fail / be blocked in the system. Why? I have no idea, it just does! :joy:

Welcome to the Forum!

So, you have copied this File and it doesn't work?

i forgot to mention it, i found out about that on the zorin manual and disabled fast boot and secure boot.
i'm not dual booting, and tho there are other drives in the system, none of theme should have a windows bootloader installed anymore (i'm 99% sure but i'll check again) tho one might be formatted in ntfs, could that be a problem?

yes, i've checked and the files have been copied to the /lib/firmware folder tho the readme says this might not be the right place in every case (doesn't say what another location might be).
still, with the zorin updater, no third party drivers are found. is there another way?

You might just need to reload the module:

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi

Having other storage drives in NTFS shouldn't be a problem.

Did you try the other 2 things I suggested after the fastboot links?

thanks, i'll try

i don't know how, i completely ignored the second part, must have been sleepy. i'll test now and let you know, sorry for the inconvenience

just to be sure i didn't damage the pcie slot while installing the card, i popped in the old wifi card and it is still working tho the driver is not detected in the zorin updater

i tried rfkill unblock all but it didn't work, it just turned on bluetooth.

i forgot to mention this is a pc i build a few years back, it's not a laptop i'll check for the acer drivers anyway

with the first command i get an error saying the device is in use. which is weird since wifi doesn't work.

this is the content of the readme file:

Intel(R) Wi-Fi 6 AX201 160MHz
Copyright (C) 2019 Intel Corporation. All rights reserved.

Microcode Package README.iwlwifi-Qu-ucode

INDEX

  1. OVERVIEW

  2. INSTALLATION

  3. LICENSE

  4. OVERVIEW

The files iwlwifi-Qu-*-48.ucode provided in this package must be present on
your system in order for the Intel Wireless WiFi Link AGN driver for Linux
(iwlwifi) to operate on your system.

The "-48" in the filename reflects an interface/architecture version number.
It will change only when changes in new uCode releases make the new uCode
incompatible with earlier drivers.

On adapter initialization, and at varying times during the uptime of
the adapter, the microcode is loaded into the memory on the network
adapter. The microcode provides the low level MAC features including
radio control and high precision timing events (backoff, transmit,
etc.) while also providing varying levels of packet filtering which can
be used to keep the host from having to handle packets that are not of
interest given the current operating mode of the device.

  1. INSTALLATION

The iwlwifi driver will look for the files iwlwifi-Qu-*-48.ucode using the
kernel's firmware_class infrastructure.
More information can be found under Documentation/firmware_class in kernel
source. In order to function correctly, you need to have this support enabled
in your kernel. When you configure the kernel, you can find this option in
the following location:

    Device Drivers ->
            Generic Driver Options ->
                    Userspace firmware loading support

You can determine if your kernel currently has firmware loader support
by looking for the CONFIG_FW_LOADER definition on your kernel's
.config.

In addition to having the firmware_class support in your kernel, you
must also have a working udev and uevent infrastructure configured.
The steps for installing and configuring udev are very
distribution specific.

Once you have the firmware loader in place (or if you aren't sure and
you just want to try things to see if it works), you need to install
the microcode file into the appropriate location.

Where that appropriate location is depends (again) on your system
distribution. You can typically find this location by looking in the
udev scripts of your distro, the default is /lib/firmware.

Installation of the firmware is simply:

    % cp iwlwifi-Qu-*-48.ucode /lib/firmware

You can now load the driver (see the INSTALL and README.iwlwifi provided with
the iwlwifi package for information on building and using that driver.)

  1. LICENSE

The microcode in this package (iwlwifi-Qu-*-48.ucode) is provided under the
terms of the following license (available in the file
LICENSE.iwlwifi-Qu.ucode):

Copyright (c) 2019, Intel Corporation.
All rights reserved.

Redistribution. Redistribution and use in binary form, without
modification, are permitted provided that the following conditions are
met:
reproduce the above copyright notice and the
following disclaimer in the documentation and/or other materials
provided with the distribution.

  • Neither the name of Intel Corporation nor the names of its suppliers
    may be used to endorse or promote products derived from this software
    without specific prior written permission.
  • No reverse engineering, decompilation, or disassembly of this software
    is permitted.

Limited patent license. Intel Corporation grants a world-wide,
royalty-free, non-exclusive license under patents it now or hereafter
owns or controls to make, have made, use, import, offer to sell and
sell ("Utilize") this software, but solely to the extent that any
such patent is necessary to Utilize the software alone, or in
combination with an operating system licensed under an approved Open
Source license as listed by the Open Source Initiative at
http://opensource.org/licenses. The patent license shall not apply to
any other combinations which include this software. No hardware per
se is licensed hereunder.

DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

I think this is saying that you have to rebuild the iwlwifi driver after copying over the supplied .ucode file. I have no experience with or knowledge about that, though. The drivers I found for my Dell Venue 11 Pro, which worked by simply copying into /lib/firmware and rebooting, are .bin files.

Disclaimer: the following 2 possible fixes come from reputable sources but I haven't tested them.

  1. According to the Debian wiki's page on firmware, after manually copying firmware files you should run sudo update-initramfs -c -k all and reboot. Note this page is talking about .bin driver files, though.

  2. According to an Intel guide on manually installing .ucode drivers in Ubuntu (which Zorin is based on) you should run sudo apt-get install --reinstall linux-firmware and reboot.

the readme isn't very easy to understand for a newbie like me, and it also seems to refer to another readme file that does not exist.

i don't think the first option will work but i'll try anyway. the second sounds a bit risky but i'll try that as well

i tried both commands with no luck.

since i wasn't able to write to a folder inside my second drive (where i have moved files a couple weeks back) i was wondering if something could have changed that prevented my user from installing these drivers (since it appears you need to alter the firmware)

when i tried to change the owner of a folder that belongs to root, i got an error message saying i wasn't allowed, even tho i only have one user and it is in the sudo group.

should i try to redo every command but with root user?

i give up. going back to windows, for what this pc's doing it's not worth it to fight against the os for a simple driver installation