Oct 28 2007

How to install a ENPWI-G2 WiFi adapter in Puppy Linux 3.0

Tag: Linux, Linux on laptops, LiveCDs, WiFiVlogcanic @ 7:24 pm

I bought the ENPWI-G2 WiFi Cardbus adapter knowing full well that it’s Realtek RTL8185 chipset is not the most Linux friendly piece of hardware in the world. The thing is the card is really cheap (about $15) and the chipset is also present in a bunch of other cheap cards so I wanted to see actually how hard it was going to be to get it up and running just because the whole Linux and WiFi thing kind of gets my attention.

To my suprise, having it fully funcional in Puppy Linux 3.0 was so straightforward that I’m not so sure it merits a write-up, but just in case, here it is.

So you grab your Puppy Linux 3.00 LiveCD and use it to boot up your computer with the ENPWI-G2 plugged into the Cardbus slot. You need to download the latest Windows drivers for the chipset (it wasn’t so straightforward as to just plug the thing in) from the Realtek web site. There are a few options, I used the ones dated 2007/7/26 –make sure you download the drivers for the RTL8185L chispet.

Once downloaded unpack them to your home directory, and use the ROX file manager to navigate into the WINXP folder. There already? Open up a terminal session in the WINXP directory (right click on the file manager’s window, then click on Window and Terminal Here).

In the terminal, install the Windows XP driver to NDISWrapper by typing

ndiswrapper -i net8185.inf

and then insert ndiswrapper into the kernel

modprobe ndiswrapper

and that’s it! Your card should be working now (the lower LED will be blinking) so that you can now go to the RutilT wireless network gadget included in Puppy Linux 3.0 and set up your wireless network link.

Afterwards.

I found the card to work well enough with Puppy Linux 3.00. All the basic tricks get done (connection to open access points and WEP) quickly so I thought that having it work in my Ubuntu Edgy would be just as simple. Boy, I was wrong!. More on that later.


Oct 10 2007

How to install an Encore ENUWI-G2 USB WiFi adapter in Ubuntu 6.10 Edgy Eft

Tag: How to, Linux, Ubuntu, WiFiVlogcanic @ 2:53 am

As it happens with the whole Linux and WiFi thing, getting the Encore ENUWI-G2 to work properly with Ubuntu Edgy Eft takes a bit of work but it’s not that hard.
I’m dividing this post in two parts:

  1. Getting it to work with open access points.
  2. Getting it to work with WEP access points.

I have a good reason for such division: I’m using this WiFi adapter in a very old machine with no ethernet, modem or other LAN device; since most of the first part can be done by installing packages from the LiveCD and downloading the drivers elsewhere and then transferring to the computer in question. The second part needs some other packages not in the LiveCD with a lot of dependencies so trying to install them all without an internet connections is really really unpractical.
The procedure is to blacklist the native module, and then install the Win98 driver through NDISWrapper –why the Win98 driver and not the WinXP driver, I hear you ask? Because the former is the one that works. That’ll get you going in keyless accesspoints.
The next thing is to install the RutilT gadget, the GUI wireless network manager for ralink chipsets. That will get your WEP working.

The WiFi adaptor: Encore ENUWI-G2. The Chipset: Ralink RT73, Realtek RTL8187

This is a USB adaptor, very small and cheap. The range is not exaclty great but it delivers good value for the approximate $15 it costs.
The chipset is Realtek/Ralink RTL8187/RT73. Ralink is one of the companies notably supporting Linux by publishing kernel modules themselves. In fact, Edgy Eft’s default kernel supports the chipset via a native module. The thing is that it doesn’t work, at least with this particular adaptor.

Enabling ENUWI-G2 WiFi adaptor to associate with open access points in Ubuntu Edgy.

You’ll need to start by downloading the chipset Windows drivers from this page. Unpack them in you Ubuntu system and keep them handy.
Also, install NDISWrapper (the program that will let you use a Win drive in Ubuntu). Launch your synaptics package manager look for ndiswrapper-common and ndiswrapper-utils-1.8 and install them. These are available from the LiveCD so you don’t need an internet connection, just to add your LiveCD as a repository in your Synaptics’ Edit>Add CD menu.
Next step: get rid of the module that is not doing its job. Open a console session and type

sudo rmmod r8187

and black listing by opening the module blacklist file

sudo gedit /etc/modprobe.d/blacklist

and adding the following line

blacklist r8187

Save and close.

Note: if in prior attempts to make the WiFi card work you installed other drivers you have to blacklist them as well.

Now open the network interfaces configuration file

sudo gedit /etc/network/interfaces

and search for wlan0, you will find something like this

auto wlan0
iface wlan0 inet dhcp

if you don’t, add it at the file’s end and then add

wireless-essid ******

substituting your access point’s SSID.
Save and close. Once it’s done, find the directory where you unpacked the Win98 driver and, from there, type in your console:

sudo ndiswrapper -i Netrtuw.inf

then

sudo ndiswrapper -m

and then

sudo modprobe ndiswrapper

What you are doing is: installing the Win98 driver to NDISWrapper, creating an alias and insterting it into your system.
At this point you should be able to connect the USB device, and having it scan succesfully

iwlist scan

but maybe it won’t connect. Patience, we are not done yet. In order to have ndiswrapper load itself with every boot type

sudo gedit /etc/modules

and add the line

ndiswrapper

save and close.
That’s it. Upon reboot, you system will connect succesfully to the open access point you specified in the network interfaces file. You can also try to restart the network devices, but USB adaptors, more often than not, need a full reboot.

Note: I am more or less assuming that you are working on a fresh installation as I was. If you are not and you already installed packages like the gnome network manager I’m sorry to tell you they are in the way. Uninstall them –these are not the things you need if you have this WiFi card, anyway. Go to your Synaptics Package Manager, find this packages: network-manager, network-manager-dev, network-manager-gnome and get rid of them.

Installing RutiliT in Ubuntu Edgy: enabling the ENUWI-G2 to associate with WEP access points.

And now for the WEP.
Goto http://cbbk.free.fr/bonrom/ and download the latest Rutilt version. It’s v0.15 in my case. Unpack it and open the directory.
Lanuch your Synaptics Package Manager. Find the following packages and install them

  • libgtk2.0-dev
  • g++-4.1

in case you haven’t set the g++ compiler also type in your console

sudo apt-get install build-essential

Once all that is done, it’s time to go the directory where RutilT source code was unzipped and become a root there

sudo bash

and run the configuration script by typing

./configure.sh

and compile the source code (a tiny bit of patience will be useful at this point)

make

then install

make install

and now you can run it by typing

rutilt

That’s it. Once it’s running you can go to the Site Survay tab click on the access point you want to use. You’ll be asked the WEP key and if you want to use dhcp. Now the ENUWI-G2 is fully functional.


Oct 02 2007

Linux and WiFi

Tag: Linux, WiFiVlogcanic @ 11:46 pm
A brief abstract from the current situation for users who are seriously considering to get Linux working under wireless and WiFi LANs.

While there’s no doubt that Linux is the right operating system for unleashing the full potential of a good WiFi card, it is also true that the range of workable cards under Linux is not yet as wide as in Windows and that, depending on your chipset, they can work well, not so well or not work at all.

The point in this post is to explain to the not-so-experienced users who think they’re ready to emmigrate the essentials of the current love-hate relationship between Linux and Wi-Fi so that their transition is as painless as possible.

Drivers vs. Modules.

Whatever advantages Linux offers over Windows (and there are many), hardware support is not among them. I hate to say it but that’s just the way it still is.

In Windows, as you probably know already, hardware is made to work with the OS with a bunch of little programs called drivers. Linux, on the other hand, has modules or kernel modules to accomplish the task. The thing about WiFi cards is that there are not as much Linux modules available as there are drivers in Windows, and this is why: consumer and personal use hardware manufacturers want to have their products available to the largest possible market in the cheapest way possible. In other words: they need their stuff to work properly under Windows while Linux compatibility is not so big a priority. As a result most of them don’t see the point in developing Linux modules.

All is not lost, however. There are a few companies which do support Linux and there are ongoing efforts by free and open source development communities aiming to provide Linux with the modules needed to use WiFi cards. Each new kernel version can recognize and work with more hardware than ever before.

And yet the fact remains that not all WiFi cards can be rendered useful under Linux, and those that can have varying degrees of functionality It all boils down to the little set of things that are responsible for the WiFi’s card magic: the chipset.

Chipsets.

The chipset is the key to comptibility. Not the brand, not even the model number–as those are both cosmetic elements introduced by the packager. It is the chipset that drives the WiFi card forward and there are only a handful of chipset manufacturers in the world –not unlike the CPU world in which, if you are in the personal desktop market you can only go with Intel or AMD regardless of the computer brand you choose.

The first thing any new user must realize is that the chipset is the relevant piece of equipment as many different brands use the same chipsets but some brands offer different chipsets in the same card model.

As I stated before, some chipset manufacturers (like Ralink) do support Linux and usually make modules available along with Windows drivers. Some of those modules are already available to you in your Linux kernel, some others require that you install them. You’ll know if the first case applies to you if your Linux system recognized your WiFi card and started working with it as soon as you plugged it in. If that wasn’t you, keep reading.

If your WiFi card didn’t start up upon pluggin it, there are other choices. Maybe you need to find out your chipset’s name and model –more on that below– and go to the manufacturer’s web page to search for Linux drivers. If and when they are available they usually need to be compiled and installed manually, have a careful look to the README file and follow the instructions.

Alternatively there are some very active development communities engaged in getting a particular chipset to work under Linux. MadWiFi, for instance, is focused on Atheros chipsets; Prism54 on prism chipsets. Once you know what chipset you own, you can select the appropiate communitie to fit your needs and visit their webpage for downloads and instructions.

If you’ve read this far, you are probably asking yourself these questions: How do I know if my WiFi card works with Linux? How can I choose the right card to work with Linux? or How can I find out what chipset is in my WiFi card? Keep reading.

How do I find out which WiFi chipset is in my WiFi card?

There’s a whole bunch of sites devoted to answer that very question. My favorite is Linux Wireless LAN Support, which has an extensive and updated list of WiFi cards sorted by brand, model, chipset and the kernel module’s state of the art for that chipset along with links to the download and development sites.

Also it will always be worth your while to go to your distro’s forums and do a bit of research about other users experiences with your card and your distro. You’ll find tips, how-to’s, and other important information.

There’s a chance you’ll find there is no Linux module for your card. There’s also a chance that you’ll find one that won’t work. It’s not a reason to give up, keep reading.

NDIS Wrapper.

NDIWrapper is yet another remarkable achievement by an open source/free software driven development community. It’s a Linux program designed  to use a Windows driver in a Linux OS. So if there’s no module for your card but you have a driver that works well under Windows, you can always give it a go with NDISWrapper. It won’t allways work but it’s worth the shot.

In order to do that, you must first download and install NDISWrapper and it won’t hurt to visit the NDISWrapper website and find out what other users say about your card and NDISWrapper.

There is a chance too that you won’t be able to make your card work even with NDISWrapper, depending on your chipset. If that happens then you might just be out of luck, and there’s nothing to do but wait or get a new card.

WiFi and special applications.

Last but not least, if what you want is a WiFi card to use in security applications, then you couldn’t made a better choice: Linux is the way to go. But the range of usable WiFi cards shrinks even more.

WiFi and wireless LAN security applications need your card’s driver to be able to put it in monitor mode, a feat which only a few drivers and chipsets are up to. Atheros and Prism are among the expert’s chipsets of choice for this kind of thing.

While some drivers can be patched for this purpose, the optimal thing to do is to choose the right chipset for the right task so if you want to go WiFi hacking you better get yourself a proper chipset for the job.

Conclusion.

Making a WiFi card work in Linux can be hell if you don’t choose the hardware at least a bit carefully. Newer and rarer chipsets are harder to install. So before you choose a wireless card, find out its chipset, check the module avilability, perfomance under NDISWrapper and see what other people is writing about it on your distro’s forums.

However long a time you spend getting all the information you need, it will be much shorter than the long frustrating hours needed just to find out, the hard way, that you have an unsupported, unworkable chipset.