Configuring wireless Ethernet with SuSE Linux 10.0

Alex and I were debating the pros and cons of various operating systems during our geekfest (working on my latest website project, in the pub) last weekend – he’s just bought a new Mac (and works with them all day), so, like most Mac users I know, he can’t see why anyone would possibly want to use anything else (not quite true, but that’s the gist of it). Meanwhile I sat down at his Mac and couldn’t even work the mouse properly to open up Firefox and pull some information off the ‘net. I complained that standard keyboard shortcuts didn’t work (I had to use the Apple key instead of control) and he said it’s because I only use Windows. I disputed that – I like GNOME on Linux – and the reason I like it is that it works like Windows, only better. It’s got a cleaner interface but most of the keyboard shortcuts that I know still work. But even Linux is not ready for complete newbies. It’s come a long way since I first used it back in 1993 – in fact it’s advancing at a tremendous pace – but even Linux Format magazine acknowledges this month that it needs to be approached “with an awareness that it takes time and patience to use properly”. Linux is not for everyone. I’ve got nearly 20 years of PC experience under my belt (12 years designing, supporting and implementing systems using Microsoft software), and I’m still struggling with Linux (although getting on much better since I spent last week learning a bit about Red Hat Enterprise Linux).

So, what’s the point of this rambing? Well, last night, after weeks of wrangling, I finally got a non-Windows operating system to connect to my wireless network. I gave up trying to do this on Solaris (after the Solaris NDIS wrapper toolkit failed to compile on my system and I couldn’t get a satisfactory answer to my post at the forums) and instead went for a popular Linux distro (SuSE 10.0, which Novell very kindly sent me a copy of a few weeks back).

There are many reports on how to do this out there on the ‘net, but none of them worked exactly for me. What follows is what I did with SuSE 10.0 on an IBM ThinkPad T40, with a D-Link DWL-G630 PCMCIA card and a D-Link DWL-2000AP+ access point, configured to use WPA-PSK (TKIP) and proven to work using a selection of Windows clients.

SuSE 10.0 comes with packages for NdisWrapper (v1.2), wireless tools (v28 pre-8) and WPA supplicant (v0.4.4), I used YaST to check that these were all installed and located the netrt61g.inf, and rt61.sys files from the CD supplied with my network card. I don’t think the .cat file is required, but I copied them all to /tmp anyway.

Next, following the advice for installing NdisWrapper on SuSE Professional 9.2, I ran the following commands from a terminal window (logged in a root) to install the network card:

cd /tmp
ndiswrapper -i drivername.inf

In my case this was netrt61g.inf, and the response was Installing netrt61g. Next, I entered:

ndiswrapper -l

to check the status of the NDIS drivers and saw the response:

Installed ndis drivers:
netrt61g driver present

The next part is to load the module, using:

modprobe ndiswrapper

This doesn’t return a response, but using iwconfig should return details for a new interface (in my case it was wlan0). At this point, I hadn’t yet inserted the card, but all seemed fine with the card driver configuration.

I then used YaST to configure the new wlan0 interface (although I could have made the edits manually, YaST saves me from missing something). The instructions I followed used YaST to edit the system configuration (System, /etc/sysconfig Editor), although some settings need to be added into text files manually, so they might as well all be done that way:

  • Add MODULES_LOADED_ON_BOOT="ndiswrapper" to /etc/sysconfig/kernel
  • Add DHCLIENT_MODIFY_RESOLVE_CONF='yes' and DHCLIENT_SET_DEFAULT_ROUTE='yes' to /etc/sysconfig/network/ifcfg-wlan-wlan0

That should be it for a basic wireless Ethernet configuration (although it may also be necessary to set any other network interfaces to start on cable connection, on hotplug, etc., rather than at boot time). For those of us using a secure network, there’s still more to do as it’s necessary to configure WPA Supplicant. It should be as simple as configuring /etc/wpa_supplicant.conf, then issuing a few simple commands:

ifconfig wlan0 up
wpa_supplicant -Dndiswrapper -iwlan0 -c/etc/wpa_supplicant.conf -dd

Sadly, that didn’t work for me. Even now, I’m not sure that the contents of my /etc/wpa_supplicant.conf file are correct – that’s why I haven’t published them here; however it maybe useful to know that the package also includes command line (wpa_cli) and graphical (wpa_gui) utilities for troubleshooting and managing the interface. wpa_cli was pre-installed as part of the package on my system, but I didn’t get anywhere until I obtained wpa_gui from the latest stable release of wpa_supplicant (v0.4.8).

To do this, I needed to add the gcc (v4.0.2), gcc-c++ (v4.0.2) and qt3-devel (v3.3.4) packages to my installation, then compile and install wpa_gui using:

make wpa_gui
cp wpa_gui /usr/sbin

Only after typing wpa_gui -iwlan0 was I able to scan for an AP and locate the available networks:

wpa_gui scanning for networks

Then I could connect using the appropriate WPA key:

wpa_gui scanning for networks

wpa_gui scanning for networks

The connection doesn’t last long (it drops a few seconds after the 4-way handshake shown above), but at least it seems I have a working configuration (if not a stable one…).

So, it wasn’t easy. In fact, I’d say that wireless support is one of Linux’s weak spots right now, not helped by the fact that the device manufacturers generally only support Windows. Even now, I have some issues – like that my connection drops and then I can’t re-establish it – but I think that might be an issue with using Windows drivers and NdisWrapper. At least I know that I can get a connection – and that’s a step in the right direction.

4 thoughts on “Configuring wireless Ethernet with SuSE Linux 10.0

  1. Mark,

    I totally agree. I, like your associate, am a big user of Mac hardware and software. I’m in college currently working on a degree in Information Technology and CompSci. Anyway, because I’m paying for school out of pocket, I actually can’t afford to purchase a Mac laptop of my own. So I have been trying to give Linux a shot on an old ThinkPad 600X that I have managed to get my hands on.

    You are right, Linux STILL has a long way to go. I have tried Fedora Core, Ubuntu, Kubuntu and SUSE and I have never managed to get any of those distros stable (and I mean, to the point where I can basically use it every day without issue like I can a Mac). Really with Fedora, I think that my machine was just not up to snuff. Ubuntu refuses to install, locking up my machine at every try. Kubuntu has shown the most promise, but when I went to configure my wireless my machine started crashing and experiencing kernal panics (no kernal compiling was done) after I rebooted the machine. Never did find out if the WiFi connection worked. And just now, I tried installing SUSE 10.0 on my ThinkPad and GNOME crashed on me (why oh why didn’t I just stick with KDE?). So now I have to go back thru the longer than needs to be installer just so i can have KDE. Crazy!

    I hear so many Linux enthusiasts screaming how this will be the year that Linux clobbers Windows, and I’m afraid that it’s just not so. None, and I mean NONE, of the distros offers the average everday user the ease of use that even comes close to Windows. And this is from a guy who hates using Windows! The average everday user does not want to be concerned with having to program and compile code from scratch just to get some application to work. Windows users are just used to downloading and installing apps by the click of a mouse. Until a Linux distro comes up with an Installation system where the user will not have to compile or type anything in other than registration info, you can forget about mass migration away from Windows.

    It is also my opinion that Linux suffers from what I call “tooitis”. Yes, I made that word up! But seriously, there is just TOO MUCH STUFF TO CHOOSE FROM for the average user to really be productive. First, a user is confronted with the choice of which distro to use. Then the user must decide which desktop system to use. Then you have to decide which browser to use, then which MP3 player to use, then this, then that. In Windows, there is one standard install. Sure there’s a ton of stuff out there that a person can use besides the standard install, but a person could install Windows and be perfectly productive using the standard installation. And let’s not mention how utterly easy it is to use Mac OS X.

    Yes, Linux has a long way to go in terms of being the next desktop OS with large number of users. As a server platform, Linux is great and even at times, blows Mac OS X Server out of the water, but as a viable, productive desktop platform there is still a lot of work to be done. I think that all of the distro companies need to come to the realization that thry aren’t going anywhere fast by producing so many disparate versions of Linux. They should pool their resources together and decide on one standard form of Linux. One distro, one name, no confusion. KDE and GNOME should merge since they are the two dominent desktop developers for Linux and come up with one standard desktop system that works and is stable. Then they need to come up with a system installation process that is as easy if not easier than OS X. Anyone that has ever installed OS X knows without a doubt that Apple has put together the best system installtion process ever. SUSE comes third just after Windows, but it still needs some work. Then a standard application installer needs to be developed. Again, apple holds the benchmark in this area. To install an app in OS X, all that a person has to do is drag the application from the ISO or disk image to their Application folder. If I want to install an app on CD/DVD, I jsut click on the app and the system installer activates and does all of the work for me. Even Windows offers ease of use isntallation to its users. These are all basic things that Linux will require if it is ever to make a serious dent in the Dektop market. The sooner that the Linux community sees this, the sooner things can be done. Thanks for listening!


  2. Well, I actually think Linux _is_ userfriendly it’s just particular about who it’s friends are.

    Sorry couldn’t help myself ;)

    Viper –
    If you’re looking for point and click install Linux distro, may I suggest Linspire?

Leave a Reply