Friday, September 19, 2014

[Second Attempt] Getting Ralink RT3290 Wifi working on Linux Mint 15 (and HP Envy 17)

Last year, I posted a short tutorial about a failed attempt at getting a stable wifi connection on HP Envy 17 under Linux (Mint 15) with the crappy Ralink RT3290 card it uses. Initially, things looked promising with that fix... that is, until I was about 90% complete writing that article, and the whole machine locked up, in what I soon came to learn was known as a "kernel panic".

Yesterday, in preparation for a potential repartitioning attempt sometime "soon" to resolve some upcoming disk-space availability issues (i.e. I initially set aside > 500GB of my disk for Linux, but since I'm not using it that much now, the measly 200 GB for Windows is almost exhausted now), I finally got around to uploading to Github the sources for the patched driver I've had running on Linux since my last post.



Quick Links + Instructions
* The sources can be downloaded from:
 https://github.com/Aligorith/ralink3209_drivers/tree/x64_PanicFixesPorted
(NOTE: To be clear, you need to be on the "x64_PanicFixesPorted" branch, NOT the master)

* IIRC, you should be able to just compile that straight (without any further tweaks), and then install it as per the instructions in my previous tutorial.

Some details about how this code came to be...
It's been quite a few months since I did this, and since I'm currently writing this from Windows, I can't really check on the details. That said, from what I remember, for this repository, I took the basic driver sources the Ralink (now Mediatek IIRC) offered on their site, and modified to compile + do the things we want (as per the tutorial).

On top of that, in the" x64_PanicFixesPorted" branch, I manually (i.e. by-hand, line by line) applied a patch circulating around on a forum for the "rt3573sta" card instead. That patch was from another Github repo for another one of Ralink's crappy cards that some community members had hacked to get it working correctly. From what I remember, the changes involved basically amounted to a few tweaks to several macros related to how several buffers got created and accessed, making them safe for usage on 64-bit computers.


How well does it work?
From what I've been able to tell in the time that I've used it (which admittedly is not that much, since less than a month after that, I ended up giving up on Linux as my fulltime computing environment - the software and hardware incompatibility issues I'd been fighting each and every day up till that point just got too tiring), it seems to be much more stable than the system was originally. If nothing else, the connection doesn't keep dropping when using the routers at home. As for speed, it probably feels a tad slower than it did without the patch to make it reliable, but at least it works.

The only caveat that I should probably add is that, when I was still using this patched driver with the old Belkin router we retired earlier this year, startup times were quite bad. For some reason which I never really investigated (I was sick and tired of doing that by that stage, so you can't really blame me!), it seemed that because the driver was having difficulty connecting to that router, it would block the desktop manager startup until it could (or decided that it couldn't find the bloody thing). As a result, you'd be left staring at the wallpaper for about 2-5 seconds everytime you booted up, and only after that would the taskbar and icons show up.

That said, with the new router we're using now, I haven't noticed any problems of that sort anymore. So, whatever it is, it might have been something to do with a bad pairing of devices.

Hopefully by posting these sources, somebody out there may just find the silver bullet they'd been praying for to solve the woeful wifi worries!

No comments:

Post a Comment