Somehow, I got realtek drivers to work on Linux (not exactly how I want it, but I do get client networking). But, I ONLY have it working because Windows has internet and I was able to install the drivers to Debian.
If I could run this virtual machine, with the drivers already in it, I could pass that to a host Linux system and have a working setup. But, without wireless drivers, I’d have to run a very long 25+ foot cable until I had that working again.
I currently run W10 (and it has working wireless drivers–and I can do “hotspot” and share my setup wirelessly). So, since I can get wireless networking, I run a virtual machine with Debian. In the VM, I have setup firewall rules, and pi-hole.
I would like to use this usb wireless chip, in other computers running linux. Well, without ethernet, I can’t install a blooming package whatsoever, at least I sure don’t know how. So, if I had a distro I could install, that had some kind of virtualization software built in (and I’ve tried this on Windows, so I’m assuming it would actually work), I could just run the VM that also (thankfully) has the working Linux drivers, and pass that back to the host Linux system.
This would in theory, take away the burden of having to find working wireless drivers for every Linux distro I ever wanted to use, and which just may not even exist.
What I’ve done in Windows, is “turn off” the wi-fi, so there is literally no accessible networks, nor is there the option to pick a wireless network. Then, in Virtualbox, I choose to take the USB from the host, and pass it to the guest.
Then, in the guest, I use the network manager icon to select a wireless network, and it does seem to work. So, in theory, this should work just the same on Linux hosts.
But wouldn’t your linux host have no connectivity then? Passing through devices works only in one direction: host to guest, and it’s an exclusive arrangement, so then the host doesn’t have access to that device.
I’m pretty sure that there are easier ways to that kind of stuff these days, and pretty much any package manager can install packages from local media.
It is true that once upon a time in a linux land far, far away we did something similar. We used windows wifi drivers on linux using a compatibility layer(somewhat like wine, but limited to wireless drivers), but that was ages ago.
Basically your goal is to get that usb wireless dongle working on linux right? Plug it into any linux machine and type: # lsusb
and share the output with us please. Like I said - I’m sure there’s an easier way to make things work for you.
But it’s an 8811cu wireless chip, if that helps at all.
I don’t see any possible way, to pass back, the wireless internet connection into the host again. I guess this wouldn’t work on Linux either. Well, there goes that idea.
I have a program that can make ISO files (and USB somethings, just a folder), but it says my (would be ISO) is over 4GB (over 5 actually) and so I’ll have to re-create now that I’ve deleted some files, and see where that goes. That’s for tomorrow. At the moment, I have this “linux” folder that I have to put on my USB drive, and run a file to “make it bootable” like that shit’s gonna work, but why not just waste my time trying? I’ll update on that.
So, the only way I can get wireless is to run Debian with the realtek drivers that I KNOW work, haven’t found any for Fedora. Even if I were to, how would I get the wireless to work, so that I could get all the dependencies installed that some driver needs, before I have a network connection?
Ok. So this seems doable to me. You have these and these drivers on github. These drivers need to be compiled as modules for the specific kernel version that you’re running, which means that you’ll either have to build your own linux livecd, or make sure that that you’re actually connected by wire(or with something like this if it’s too far), once you get the bloody thing going it shouldn’t be a problem. Another possibility is to use a distro that already ships the drivers and in that case the next release of kali might be a good bet, and use that to chroot into the local installation to get the drivers working there.
My live usb did boot to its grub menu but it was unable to find the gigantic 5GB file. I will try again using the iso method as I would like to keep using ventoy. For some reason it says there is an arbitrary 4GB file size limit. Do you have a surefire wauy to create an iso mimicking the running system with drivers and all?
Also I’m not using those drivers, I’ll link to the one’s I chose just if anyone else has similar hardware.
Link: This is for the 8821cu firmware model, but it still works fine?
I’ll try those other one’s if I can get it to work.
Also I don’t have a usb data cable so no go on tethering.
well I got what I “wanted”. Using the USB iso image with networking on another PC. How would I put this USB drive install onto a real system? I used “linux-live” and it actally worked.
The 4GB limit is a filesystem restriction. If you need to have an actual OS on a usb stick, then just install it to a usb stick. Just be careful not to accidentally install it to your actual hard drive. After installing it to the usb drive you can take it to a computer with a wired internet connection and install the drivers on the usb installation there, once that’s done you’ll have a working live installation with rt8811uc wifi drivers on a usb stick. From there you’ll be able to use that usb install to start a system, chroot into another linux installation already on the HDD and install the drivers there too.
I usually don’t create bootable usb drives - I use my trusty Zalman ZM-VE300 hdd enclosure for those tasks.
Well I got the system running from the usb directly. But it’s like a portable version of running my system in the virtualbox where it usually runs.
I mean have no click install to disk option. What do I do to transfer this “installation” to a hard disk? I wouldn’t know where to begin. The best I could think up is installing debian regular, then having grub on there, just replace the entire / filesystem with a direct copy from this system. But maybe you have a way that would actually work?
You can create you partitions from the commandline, copy everything over, chroot into the destination system and update the bootloader from there. You could also clone the whole partition table(with clonezilla for example) to the destination drive, and later grow it using gparted, but this will also probably require you to update the bootloader. Another option is to install a fresh system from a second usb drive with the debian installer, then use the usb with the system already installed on it, copy over the driver from the live system(to /root/ for example, but anywhere will do), chroot into the fresh hdd installation and and build and install the driver there.
So three options of clean installation from the top of my head, but if you already have a system installed on the hdd, then you can just use your usb installation to copy the driver over, chroot into the hdd install and build and install the driver on the destination system.
A chroot is an operation that changes the apparent root directory for the current running process and their children.
When a program is run in such a modified environment, one cannot access files and commands outside that environmental directory tree i.e., the files of the system from which you chrooted, cannot be accessed after chrooting. This modified environment is commonly referred to as chroot jail.
I feel like banging my head against a wall reading this. This is why nobody uses Linux.
So, it seems to my exceptionally limited knowledge of this system, using it since before 2010 or so, modifying an ISO would be the easiest way.
Can I download a linux live ISO to a usb, or download it to anywhere, and “chroot” into the ISO file itself, and then somehow (and it will be command-line only right? That just makes it so much worse!) copy the driver installation folder into the ISO chroot place, and run the “build” there?
But see, then it will be missing dependencies needed, so how would I first, install those dependenices etc, all without internet access? I mean, how in the world would this “chroot” iso environment be connected to the internet? It all goes back to that.
Could this possibly work in a VM?
So then, I’d install the dependencies needed for the driver, (in a VM with internet access, with Windows as the host) then, run the build script for the driver after I’ve installed the dependencies. OK.
Then, how do I save the ISO? And what am I missing, I’m sure I’ve missed about 199 other steps.
Relax. Don’t spin out, because then you’ll start to overcomplicate stuff, and things will start to seem insurmountable. You’re doing fine, just take things one step at a time.
Realtek network chips are everywhere, but they’re a nightmare on any operating system(that’s one of the reasons intel network adapters are pretty much universally recommended).
I’m doing my best to help you out, and explain things, but maybe I should be more verbose.
Honestly I think that if you stick to you’ll not only solve this problem, but also learn a lot doing it. Don’t be frustrated with what you don’t know, take a deep breath, ask questions, and treat it like a learning opportunity.
During my time with linux I needed help on many occasions, so I was in your shoes once.
So at this point I assume that you have a usb drive with linux installed to it, so that when you plug it in and boot from it you can create files on it, and change the configuration and everything gets saved right? It’s like a local installation, only it’s to a flash drive and not to an internal drive. I also assume that you’ve installed drivers to this usb installation of your linux, so that whenever you boot your pc using it you can access the internet using your rtl8811uc wifi.
Am I correct so far? If so, then great! We’re on the right track! Tell me if we’re on the same page and if so I’ll continue explaining next steps best I can.
Yes, if you wouldn’t mind taking the time to really draw this all out, I’d be happy to follow the steps. I’ve chrooted into an opensuse install (I think I deleted too many snapshots, and destroyed the system basically–couldn’t reinstall / “upgrade” it) but I’ve never chrooted an ISO.
So, Yeah, I literally took my virtual machine hdd, and turned that into an ISO file. I cannot however copy anything outside of the installation–like to another hard drive as I “don’t have sufficient permissions” even though I was root user? So that’s a huge limitation that may need to be worked around.
I can make changes yes, but I don’t know how many – I did an upgrade, and it completely froze the system, so… nothing too major I guess, and it will be saved.
So, it’s either modify this system, or grab a fresh ISO and mod it. Since I already have this system with wi-fi, I’d like to turn it into something or move it somewhere that I can boot it on a hard disk, without the usb.
The way I see it you want to have an installed system with working wifi drivers, so although creating a custom installation iso is possible, I think it’s too much work for what you actually need.
So in broad strokes(we’ll go into more detail as we go along ok?) the way I would do it would be(you mentioned debian earlier, so I’ll go with that):
Install debian on the hard drive using an official vanilla ISO from the debian website. Once this is done you’ll have a fresh install without working wifi. If this is already the stage you’re at we can go to the next step.
Plug in the usb drive with debian installed on it and working wifi and boot from that.
Running the usb system connect to the internet.
Mount the hdd partition with the root filesystem and copy over the driver files(following the link that you provided earlier - here’s the repo that you’ll need)
Chroot into the system on the hard drive. What that means that you’ll still be running the kernel and drivers that you’re running now, so the wifi will keep working, but from the filesystem and shell environment perspective it will look like you’re on the system installed on the hard drive. So for example if your hdd install is located on /dev/sda1 and in the previous step you’ve mounted it in /mnt/, and then you chroot into /mnt/, once you do that, inside the chroot environment / will have all the same files that /mnt/ does(it’s the same directory after all, but the perspective has changed).
Now you’re inside the system on the hard drive, but you have wifi provided by the usb system. But we want to have wifi natively on the hard drive system. So at this point if you go to the directory where you copied the driver installation files you can perform the driver installation and the driver will be installed on the hard drive system. Wifi works, so you can also download and install all the dependencies needed and they’ll install on the hard drive system as well.
Exit chroot and boot into the hard drive system.
Reading the installation instructions it looks like wifi should work at this point. If not(you might have different kernel on the live usb and on the hard drive, due to the problems with updates that you mentioned), you can just reinstall the driver while running from the hard drive(you already have all the files and dependencies because you downloaded them using the usb system), and the wifi should start working after a reboot.
Does that sound like a solution that would work for you?
I’m going to jump in here and let you know that for whatever reason, I can’t mount ANY drives inside my usb installation, even though they are listed in the file manager. I get an error, even as root user, that I don’t have sufficient permussions.
Edit: re-created the iso in an attempt to remove nomodeset from sysyem and use GPU drivers but I’m sure there’s more to it then removing it from the brub.cfg. I’ve read I need to regenerate major system files, I’ll do that in the regular system.
Update: I’m DL debian DVD now. I like the idea of having more programs already on file, I wanna know what’s in it. It’ll be maybe an hour or two before that’s up though. Also once it is installed, I only have one flash drive (I know) and so I’ll need to reformat it with unetbootin using the debian wifi iso. So maybe two and a half hours or so and I’ll be ready to try these steps.
I’m going to perform a dry run of this setup in a vm, using a passed through flash drive. Of course I don’t have that wifi card, but that doesn’t matter, what matters is that the module is loaded in the end.
Thank you very much! I’ve been fighting this system for a while, had to re-create the usb a second time and and now ready to get started. What sucks is I’m in root on wi-fi, good thing there isn’t much (yet) malware on Linux.
Maybe it SHOULD stay this technical at least to thwart off enmass use–but then there is Common Base Linux Mariner, 1 and 2 so…
I’ll update on how far I get. Good luck to you on getting the modules running.
O.K. I’vedone all I know how to do and I’m stuck not being able to install most packages. I’ve researched how to change bebian sources and I’m partial to using gatech servers and haven’t had issues–until now.
I don’t know what to do:
Package libelf-dev is not available, but is referred to by anotherr package.
Package build-essential what the above says.
Same thing with git???
E: Package ‘build-essential’ has no installation candidate.
E: Unable to locate package dkms
E: Package ‘git’ has no installation candidate.
E: Package ‘libelf-dev’ same.
Any ideas?
Edt: Got it. Found proper URLs but would like to reconfigure for gatech servers exclusively if possible.
Thank you for your help, I’ll update this 20th post if I hit a snag.
Edit: I hit a snag. The install file complains that it cannot find kernel jeaders for my kernel 5.10.0.18 so how might I install the kernel headers? I thought I already did this as a requirement before I insta–tried to install the driver.
Also without dkms, it still fails.
make[1] Entering directory '/usr/lib/modules/5.10.0.18-amd/build
*** No rule to make target ‘modules’. Stop.