Thursday, 11 March 2010

From Windows to Ubuntu – Part Three – Going Wireless

In case you haven’t already read them then may I suggest starting with parts one and two of my journey from the shackles of Windows to the promise land of Linux and Ubuntu.  To recap my old laptop is struggling to function with any recent version of Windows and rather than retire it completely I decided I should give Linux a try to see if it could breathe some life back into the old girl.

So far I have managed to get the latest version of Ubuntu downloaded and fully installed on the laptop all in a single night without too many problems.  The only basic function I haven’t gotten to work yet is the wireless adapter; currently the laptop is plugged into the router which is far from ideal.

The reason I am devoting an entire entry to this one problem is because it highlights the potential issue that has caused me to have reservations about making the switch to Linux from something as safe as Windows.  With Windows you can always be pretty confident that as long as your hardware was made in roughly the same decade as the version of Windows you are running there should be a driver just a quick trip to the manufacturer's website away.  With Linux, there is no such certainty.

As far as my wireless adapter goes, thus far I have managed to establish that it is not recognised by Ubuntu and of course the HP website does not offer any Linux drivers, in fact the most up to date drivers it has are for XP. 

15-driverschooseosIs this HP saying their laptop couldn’t handle anything beyond XP?

After extensive web research I establish that I need a utility called Ndiswrapper which as far as I can tell converts a Windows driver into a Linux compatible driver; very handy but not very 'new user’ friendly.  The instructions suggest downloading the Windows drivers, installing ndiswrapper by copying out several lines of cryptic terminal code (into the terminal that it assumed I knew about) and then hoping that the even more cryptic output meant that this utility had installed.  At least there was no UAC to deal with, that was pleasant.

Once I had ndiswrapper installed I moved onto extracting the drivers from the archive file that HP had given me. I double-click on the .exe file as I would in Windows, and I get this:

16-driverproblem1Now this to me looks like I’m trying to open an application file with the equivalent of WinZIP, but since I couldn’t find any way to tell it to run it as an executable, I was again stuck.  Luckily I still have my trusty desktop PC running Windows, so I download the driver file onto that, run the .exe, extract the driver files and move them onto the laptop.

At this point it is becoming more obvious that I am not using Windows anymore.  I didn’t expect it to be exactly like Windows, in fact I was hoping that it would be very different so that I get a new experience, but I guess there are certain underlying basics that I thought would be similar; sort of like when you get a different type of car, the pedals are always in the same place.

Anyway back the the story, I now have driver files on my laptop, ndisthingywhatsit installed and just a few more lines of nonsense to type into a terminal window and I should be ready and roaming.  Indeed after some time and quite a bit of confusion and hair pulling I actually did get the drivers working, but I was left with the feeling that I really could have done that much easier in Windows and was starting to wonder if this was par for the course, after all I still have a printer, scanner and memory card reader to get working.

19-doneithink I think that means something is finished.

Based on this experience I get the impression that Linux and Ubuntu are pretty good at setting things up themselves, which means if doesn’t work instantly in Ubuntu then there is no easy way to set it up and it’s going to take an awful long time to get it going manually.

If you found this article because you have a similar problem then I seriously recommend these instructions.  Just remember that when it asks you to type something and you don’t know where you are supposed to type it, you probably need the Terminal (Applications > Accessories).

In some respects Ubuntu is reminding me of Windows 3.1, mostly the dependency it seems to have on the command line in the same way DOS was always pulling the strings behind Windows’ icons.  This may not be the best time to draw conclusions since I’m still pretty frustrated by the wireless experience, but at the moment I feel that the Ubuntu experience isn’t as slick as Windows, certainly not Windows 7 which is a beautiful operating system (from a non-programmer’s perspective at least).  I get the impression that so much emphasis is put on allowing you to change every little detail to taste that you spend your entire time setting it up and getting nothing productive done.

Still, it’s early days.  I shall now continue on with my next objective which was originally to find a replacement to my standard applications, but now I feel like I should not only replace the originals, but find something better.

More to come soon.

3 comments:

  1. I'm a programmer and that's a big reason why I'm on a Linux operating system right now. I use the terminal every single day, I think some stuff are easier to do in the terminal then they would be with guis. But yes, non programmers usually don't feel like typing codes because they can't be bothered learning them.

    As for me, my operating system gets friendlier every single day. When I want do to something, like search files with a specified pattern, and add them to a file, format these, etc. I usually just stick this in a little bash file, and put it in a folder which I add to the path so I can use it as a command the next time I want to do this same operation.

    You could say, "you can do that in DOS as well", that's true, nevertheless the main reason why I chose to dump windows and use Ubuntu as my primary operating system was really the functionality it has for programmers. There is a C++ compiler available using 1 command, java jdk download and install + configuration in 1 command, python pre installed, apache2 web server installable like it's nothing, etc.

    Then there is the customization of Linux, you can adjust about everything, you can clear your cache , edit your memory handling, configure your work environment in every way possible. Then not to forget security. The security is without a doubt a lot better than it is on windows.

    All of this, in a non-bloated operating system that is fast, responsive, lightweight, customizable, not dependent on virus scanners, not in need of defragmentation. The only price is that it's a little less friendly for "normal" users. I as a developer am interested in these things, I still learn new commands every single day that make my life easier so I'm don't mind paying the price, because eventually it got way user friendly than windows in my mind.

    ReplyDelete
  2. Out of curiosity, what wireless card do you have?

    I've seen wireless drivers getting better with every release. Nowadays, I can usually go to System -> Administration -> Hardware drivers if I"m connected directly to the router. You should have been able to do the same to get ndiswrapper working.

    Also, about the command line, If you start to use the command line, you will find it is insanely powerful, and that is the reason it's so prominent even to today. If you have some spare time, it's definitely worth it to learn the command line.

    ReplyDelete
  3. I can't remember the make and model of my wireless card, but I do know it was a miniPCI card that I had to install to turn my 'wireless ready' laptop into a 'wireless enabled' laptop.

    I do intend to get myself a decent reference so that I can start to make use of the terminal. I am able to do a few things by using DOS commands, but I imagine I am only scratching the surface.

    Perhaps some of the appeal is lost on me because I am not a programmer, but I am always looking for a better way to do something so I am happy to devote the time to allow Linux to get under my skin.

    ReplyDelete