Linux will, indeed, always have driver issues, but for several reasons that may not be apparent to all of us. First, new devices are developed and released every day. The manufacturers are in a constant arms race to have a better device with more features and, often, cheaper. In almost every case, they have no concern for the 3% or so of Linux users and therefor don't provide a working driver.

Second, most new Linux users come to the party with what they have now that they bought with working Windows drivers. That device may work well or not at all in Linux. Experienced Linux users always check the forums and are sure the device works in Linux.

Here is a device that I personally own and that works perfectly with no additional driver or firmware installation: Be certain to get that exact device, the newer model has a different NOT working out of the box chipset. The same is true for many USB devices that have been released as a version 2 or version 3. The chipset may and probably did change making it no longer working in Ubuntu.

You can get some ideas here: and here:

Finally, Amazon is a great resource because, first, if the device is listed as available for order, then it’s currently produced and, well, available. Second, Amazon encourages customer questions and answers. You can search for USB wireless devices and, under Q&A search for Ubuntu. If you search the device I suggested above, you find:

“Yes works fine with Ubuntu.” and: “Also it works with Ubuntu 16.04 LTS.” and: “I bought it so I can use it on my ubuntu linux like everyone else is doing, and it worked perfectly”

You can search the Q&A for Ubuntu with any USB wireless.

Finally, if your internal, PCI wireless device is not working well or at all, you can temporarily use a USB device until the driver development for your internal device improves.