Dell became a big pile of shit regarding linux. It used to be a company that had great support for this operating system. In fact, you still find them at the top of several lists, in particular for the XPS model, which is the one I use profusely. That is precisely why, years ago, I went from HP to this company instead. But as time passes by, they offer more and more negligent, and now even broken down service for Linux as well as idiotic support (lecturing you on how appropriate drivers are not guaranteed to work on Linux, etc.) I'm speaking here of the wifi problem you get on some XPS models due to their horrid choice of the, aptly named, killer wifi controller.
These are the possible options:
Then to have this little fellow working! The main problem when your access to the internet doesn't work, is that your solutions are precisely to be grabbed from the internet. So good luck for those wanting to compile a full kernel! The vast majority of guidelines I could find started with apt update and apt get...
In our case, we need the driver for the dongle, which is to be found from:
git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver
as I figured out from lsmod and googling what matched by new USB device.
The git-cloning I did from another (internet-enabled) computer (Wulfrun2, one of my XPS linux-computers). I passed it (Bluetooth and/or USB sticks are options) to the other computer, hostnamed covid by the way. But, one needs make, which, interestingly, is not installed by default. It was on the ISO image I downloaded to install Linux, though, but this didn't make it to the permanent install.
I therefore got the relevant packages to set up the module independently, from the live disk itself, I went:
apt-get -y install --print-uris dkms
since I initially wanted to have the module set up in the kernel dynamically. It appears this may have been unnecessary though, but this generated in any case the list of dependencies of other packages I need, including make (and gcc, etc.) This is, incidentally, the list:
Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu build-essential dpkg-dev fakeroot g++ g++-10 gcc gcc-10 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan6 libatomic1 libbinutils libc-dev-bin libc6-dev libcrypt-dev libctf-nobfd0 libctf0 libfakeroot libgcc-10-dev libitm1 liblsan0 libnsl-dev libstdc++-10-dev libtirpc-dev libtsan0 libubsan1 linux-libc-dev make manpages-dev patch rpcsvc-proto Suggested packages: binutils-doc menu debian-keyring g++-multilib g++-10-multilib gcc-10-doc gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-10-multilib gcc-10-locales glibc-doc libstdc++-10-doc make-doc diffutils-doc The following NEW packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu build-essential dkms dpkg-dev fakeroot g++ g++-10 gcc gcc-10 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan6 libatomic1 libbinutils libc-dev-bin libc6-dev libcrypt-dev libctf-nobfd0 libctf0 libfakeroot libgcc-10-dev libitm1 liblsan0 libnsl-dev libstdc++-10-dev libtirpc-dev libtsan0 libubsan1 linux-libc-dev make manpages-dev patch rpcsvc-proto 0 upgraded, 36 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/40.2 MB of archives. After this operation, 172 MB of additional disk space will be used. 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/binutils-common_2.35.1-1ubuntu1_amd64.deb' binutils-common_2.35.1-1ubuntu1_amd64.deb 211740 MD5Sum:11b7be1ba852c117084392ae09c6809e 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/libbinutils_2.35.1-1ubuntu1_amd64.deb' libbinutils_2.35.1-1ubuntu1_amd64.deb 481080 MD5Sum:3b7d83efdd3d6bbd30bbc636a267490f 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/libctf-nobfd0_2.35.1-1ubuntu1_amd64.deb' libctf-nobfd0_2.35.1-1ubuntu1_amd64.deb 48052 MD5Sum:57c6d2919a616db8e4fa634feffd5ad2 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/libctf0_2.35.1-1ubuntu1_amd64.deb' libctf0_2.35.1-1ubuntu1_amd64.deb 47600 MD5Sum:3207043075905dd734d7e50e38d37ba9 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/binutils-x86-64-linux-gnu_2.35.1-1ubuntu1_amd64.deb' binutils-x86-64-linux-gnu_2.35.1-1ubuntu1_amd64.deb 1645092 MD5Sum:3e37148e319441fe5174f70e8f688dde 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/binutils/binutils_2.35.1-1ubuntu1_amd64.deb' binutils_2.35.1-1ubuntu1_amd64.deb 3380 MD5Sum:1c08ed30c001767bec12eadb47d23575 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libitm1_10.2.0-13ubuntu1_amd64.deb' libitm1_10.2.0-13ubuntu1_amd64.deb 26332 MD5Sum:f2e48379c20765012eb90744ceae4df8 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libatomic1_10.2.0-13ubuntu1_amd64.deb' libatomic1_10.2.0-13ubuntu1_amd64.deb 9288 MD5Sum:19660a55263efce10c342f67975f3d6e 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libasan6_10.2.0-13ubuntu1_amd64.deb' libasan6_10.2.0-13ubuntu1_amd64.deb 344336 MD5Sum:58ef375c1cfc8d7ddf404681b813e889 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/liblsan0_10.2.0-13ubuntu1_amd64.deb' liblsan0_10.2.0-13ubuntu1_amd64.deb 144096 MD5Sum:29aa5ea32e7b0f9f385fc75d0a728631 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libtsan0_10.2.0-13ubuntu1_amd64.deb' libtsan0_10.2.0-13ubuntu1_amd64.deb 319216 MD5Sum:a065f5147f3bd16933482b8de0d9fd29 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libubsan1_10.2.0-13ubuntu1_amd64.deb' libubsan1_10.2.0-13ubuntu1_amd64.deb 136052 MD5Sum:66f1f7e3d35efcad04374a841d06f5f1 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libgcc-10-dev_10.2.0-13ubuntu1_amd64.deb' libgcc-10-dev_10.2.0-13ubuntu1_amd64.deb 2341232 MD5Sum:50a882460075913348017ddf75bd8e0f 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/gcc-10_10.2.0-13ubuntu1_amd64.deb' gcc-10_10.2.0-13ubuntu1_amd64.deb 16340248 MD5Sum:71483f011c1422be60dded00af10d08f 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-defaults/gcc_10.2.0-1ubuntu1_amd64.deb' gcc_4%3a10.2.0-1ubuntu1_amd64.deb 5208 MD5Sum:a46aca38a33821ed1c8fd9ffba9a1032 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/p/patch/patch_2.7.6-6_amd64.deb' patch_2.7.6-6_amd64.deb 104988 MD5Sum:5c3598f5800967732985b28546e0294e 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/m/make-dfsg/make_4.3-4ubuntu1_amd64.deb' make_4.3-4ubuntu1_amd64.deb 166680 MD5Sum:088cf1d9c1556d94c64d193ffed6be38 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/d/dpkg/dpkg-dev_1.20.5ubuntu2_all.deb' dpkg-dev_1.20.5ubuntu2_all.deb 758052 MD5Sum:96d192b5d5dbaae1a5415d3bd1053014 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/glibc/libc-dev-bin_2.32-0ubuntu3_amd64.deb' libc-dev-bin_2.32-0ubuntu3_amd64.deb 30856 MD5Sum:e51a52dc74e72dd649b31cae9f6690d9 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/l/linux/linux-libc-dev_5.8.0-25.26_amd64.deb' linux-libc-dev_5.8.0-25.26_amd64.deb 1165576 MD5Sum:b2152338514364f6c9dbc90743015b38 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/libx/libxcrypt/libcrypt-dev_4.4.16-1ubuntu1_amd64.deb' libcrypt-dev_1%3a4.4.16-1ubuntu1_amd64.deb 104156 MD5Sum:3b2268407642db0dbcdcf0380967dac3 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/r/rpcsvc-proto/rpcsvc-proto_1.4.2-0ubuntu4_amd64.deb' rpcsvc-proto_1.4.2-0ubuntu4_amd64.deb 62836 MD5Sum:b4e71a4373e2f885f7000c89a84e4873 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/libt/libtirpc/libtirpc-dev_1.2.6-1build1_amd64.deb' libtirpc-dev_1.2.6-1build1_amd64.deb 183588 MD5Sum:2b27c17cde59981ceb7e5fe2927a138c 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/libn/libnsl/libnsl-dev_1.3.0-0ubuntu3_amd64.deb' libnsl-dev_1.3.0-0ubuntu3_amd64.deb 66360 MD5Sum:2d44eed5949d6a778abffb3447755f46 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/glibc/libc6-dev_2.32-0ubuntu3_amd64.deb' libc6-dev_2.32-0ubuntu3_amd64.deb 2130204 MD5Sum:879989b4119a73c59dbf49ba7676b207 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/libstdc++-10-dev_10.2.0-13ubuntu1_amd64.deb' libstdc++-10-dev_10.2.0-13ubuntu1_amd64.deb 1750180 MD5Sum:0d0e4d9bf0f29025f5ddf5300ba13ff2 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-10/g++-10_10.2.0-13ubuntu1_amd64.deb' g++-10_10.2.0-13ubuntu1_amd64.deb 9061108 MD5Sum:7f08d78d4fa51ad4c22e60b7912a63c3 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/g/gcc-defaults/g++_10.2.0-1ubuntu1_amd64.deb' g++_4%3a10.2.0-1ubuntu1_amd64.deb 1608 MD5Sum:c8c6d051d937c71bc9da252481d062b5 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/b/build-essential/build-essential_12.8ubuntu3_amd64.deb' build-essential_12.8ubuntu3_amd64.deb 4640 MD5Sum:a5f1899f55358016ff32fca73e16f870 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/d/dkms/dkms_2.8.3-4_all.deb' dkms_2.8.3-4_all.deb 67776 MD5Sum:088c8d9e72d74df06b5ed5fb52b5535b 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/f/fakeroot/libfakeroot_1.25.2-1_amd64.deb' libfakeroot_1.25.2-1_amd64.deb 26600 MD5Sum:2c52a713bdd38400e820585ecb0a79b2 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/f/fakeroot/fakeroot_1.25.2-1_amd64.deb' fakeroot_1.25.2-1_amd64.deb 62832 MD5Sum:12ee7b66e81c964f2c6a865ce54d4608 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/liba/libalgorithm-diff-perl/libalgorithm-diff-perl_1.19.03-2_all.deb' libalgorithm-diff-perl_1.19.03-2_all.deb 46616 MD5Sum:03ca4c81021ae8a591beaab3b1a8cfc8 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/liba/libalgorithm-diff-xs-perl/libalgorithm-diff-xs-perl_0.04-6_amd64.deb' libalgorithm-diff-xs-perl_0.04-6_amd64.deb 11344 MD5Sum:b5eff93d3d9865bf8f5737bb1eec3c6a 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/liba/libalgorithm-merge-perl/libalgorithm-merge-perl_0.08-3_all.deb' libalgorithm-merge-perl_0.08-3_all.deb 11992 MD5Sum:6b456963b6629af0514be1b8ccbaa7fc 'cdrom:[Kubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/pool/main/m/manpages/manpages-dev_5.08-1_all.deb' manpages-dev_5.08-1_all.deb 2289892 MD5Sum:96544a87988e051eade97fcb3a620f4a
I then regexped this to fetch these packages into a separate folder:
cp /cdrom/pool/main/b/binutils/binutils-common_2.35.1-1ubuntu1_amd64.deb ~/mydebs/ cp /cdrom/pool/main/b/binutils/libbinutils_2.35.1-1ubuntu1_amd64.deb ~/mydebs/ cp /cdrom/pool/main/b/binutils/libctf-nobfd0_2.35.1-1ubuntu1_amd64.deb ~/mydebs/ ...33 other lines...
then tarred the whole thing and passed it to covid along with the driver files.
Here needs be mentioned that other ways could have been possible, including mounting from the USB image itself but as I didn't have the ISO at hand this didn't prove very easy or, what I tried first, to install it on disk from the live kernel, which proceeds roughly as follows:
mount /dev/nvme0n1p7 /mnt mount --bind /dev /mnt/dev mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc mount --bind /run /mnt/run # if needed, as noted above chroot /mnt apt update apt install dkms
But this didn't work for me, since rebooting on the installed system, these changes didn't take place. The problem there might have been related to the fact that as root I didn't have access to the apt-source list of the live disk, only as a sudo-user, but a sudo-user apparently didn't work on the chroot environment. Who knows. Anyway, I just turned to copying directly the debs onto the regular system anyway. There I installed the required components with:
sudo dpkg -i *deb
which maybe was a bit violent (as dependencies may have not been properly met and/or respected). In fact it appears some packages didn't install properly. But those needed, like make, did, and thus I could, in the RTL88x2BT-Linux-Driver directory have:
make sudo make install
which did all that it should. Final operation:
sudo modprobe 88x2bu
and the dongle came to life, greeting me with a blue wink from its LED. Now the wifi works, but not thanks to Dell. Assholes.
Upon reboots and/or updates, the module will erratically disappear. In this case, simply reloading it doesn't work. One needs to go the full sequence:
make clean make sudo make install sudo modprobe 88x2bu
Now with Internet, in principle, I suppose, one can compile a proper kernel and support the native Killer wifi card, although I found in countless places that it is a problematic chip, even for Windows user so the dongle might even be a better option. Why would Dell ever use such a crap? In any case, they can now be considered not-linux compliant or even only linux-friendly. I join a growing community of people recommending against Dell laptops for linux.