A Man with a mission: Enable Humans with Technology the GNU/Linux way! Disclaimer: This is my personal web blog. The opinions expressed here represent my own and not necessarily those of my employer.

Apr 5, 2012

On Helping Others Get their GNU/Linux & Consider Doing So

So one day I'm looking at my Google + page and I get this notification of a message:

"Can you help me to configure chip ralink rt2870 on Ubuntu(GNU/Linux), please?"

I
really can't imagine at all, I mean I am absolutely dumbfounded as to
why this person would contact me.. Really, it's not like I post (on
average) 5 stories about GNU/Linux a day or anything... haha..

Turns out the driver this person needed was one of the types where it hadn't made it into the Linux kernel just yet, but the source code was out there. And so a module had to be built from source and installed on the machine to make the wireless adapter work.

Usually these types of problems are relatively easy to get fixed, because: a.) GNU/Linux is open source and so bugs can get fixed (or worked around) by anyone with the technical know-how, and b.) there are kind people out there that take their own time to post the specific step-by-step instructions to repair the problems. However, sometimes finding the correct "fix" to match your specific hardware configuration can be tricky. GNU/Linux has a great many tools to detect what type of hardware is in the machine, but(luckily) there are many different types of hardware out there.

Aside from finding a fix that applies to your specific hardware, another problem (and this can apply to any OS), is that you can get into these situations where, if you don't
cleanly de-install previous attempts at a fix that you have made, the residual clutter can mess things up for anything new that
you're trying to install. When this happens, a crucial ingredient to success can sometimes be lost. That is, the "faith" in a person that they actually can fix the problem in the first place.

So, as it turns out, this person needed to
remove the older (and incorrect version) driver that he had installed (
sudo make uninstall from within the source folder ), then start fresh, rebuilding the driver from the correct source, installing the driver, and configuring things correctly for use. I'm fairly certain this person could have knocked this out, had they de-installed the incorrect version they had on their machine and taken a few more steps.

So I respond:

"Which rt2870? Is it the USB stick? Also, which Ubuntu,
is it 10.04? If both true then according to this article, you need to
blacklist a module, along with a few other seemingly ugly things: http://linuxforums.org.uk/index.php?topic=852.0 (Thanks to: Mark Greaves for posting there ) and http://ubuntuforums.org/showthread.php?t=960642 (Thanks to: Nilsa5 for posting there). But,
we'd want to see exactly what you have in terms of wireless adapter and
version of Ubuntu before we jump in. You can see the version of Ubuntu
with the terminal command 'cat /etc/issue', and the kernel with 'uname
-r' or 'uname -a' to show whether you have 32bit or 64bit, and if you
have a built-in wireless adapter 'sudo lspci |grep -i network' or USB
adapter 'sudo lsusb |grep -i network'. Also, you could see which module
is loaded with 'sudo lsmod | grep rt2870sta' or 'sudo lsmod | grep
rt2800usb'."

And after some back and forth, I figured we could save time if I were just to connect to this person's machine and help him fix the problem directly. This is another place where the free stuff comes in, this time it's teamviewer.com (Teamviewer is one of those cross-platform-compatible applications where I could control the remote computer and they
could see what I am doing at the same time). There are definitely FOSS alternatives to this, like VNC server/client (some setup required), or we could have used Google Chrome Remote Desktop instead of course. But to me, the main thing is that I only use tools that are cross-platform-compatible(this is a must), and in this case, free of charge.

How awesome is it that there are FOSS/GNU/Linux supporting individuals and and companies out there that continue to help to make GNU/Linux better for all of us?
Very awesome indeed I say. And also how great is it that some other FOSS-supporting
companies (and a few Freeware ones too ) are outright handing us all the tools we
need to provide one another support for Technical issues for Free?! Fabulous! How cool is
that? So by helping this person get their wireless up and running,
that's how I contribute to GNU/Linux/FOSS myself. This brings me great
satisfaction, not only as a technologist, but it's also a great feeling to be able to help someone else free themselves from the
dungeons of the coercive monopolists and their restrictive software.

So anyway, when I get connected
to this person's computer, I am a bit surprised
that my left click on the mouse was reversed to the right click! And
the person apparently had the language setup for something totally different than mine.
Talk about adding a layer of difficulty! What a nice delicious challenge! So then I bring up the gedit on his machine and type to him a message, and it's in this foreign language.. So I'm thinking, that's not going to work.. so then I open his web browser and navigate to google.com/translate (another awesome FREE tool), and we proceeded to use that to communicate, right there on his computer, for the rest of
the time.

So, working at the command line, I'm already knowing what
commands to use, and so I'm cranking away, de-installing the older
driver, checking to ensure dependencies are installed, compiling the new
driver, installing the new driver. Then, after some rmmod, insmod, and
reboot between.. voila! The driver is finally working! The person, having watched how easy it was, and now seeing that his wireless was working perfectly, was elated and Thanked me profusely. This is a very delightful aspect of FOSS in my eyes, to be helping others and not having to call into some paid-for "support case" because the proprietary OSes come with no warranty.

Recapping it all, the point I wanted to make is how very proud that I was to be able to help a fellow human being with their GNU/Linux. If you have tried GNU/Linux, and have figured out something worth sharing, I suggest you do as well. But you don't have to be a technical person to do good things for FOSS/GNU/Linux. Nope. You can help by simply telling others your stories. Post them on your blog, mention them in comments, correct those nay-sayers, yell it from rooftops! Also, I want to say that I am grateful for FOSS/GNU/Linux, all the people that make those possible, and also for the free tools like Google+, Google Translate, Teamviewer, etc. (the list is exhaustive). Helping others (and ourselves) is the spirit of Technology! Don't let some profiteering, coercive monopolist change your mode of thinking.