View Full Version : Linux: Network Card Installation

25-09-2004, 08:54 AM
I have successfully installed Linux Mandrake 10.0. I wish to install a Dick Smith XH8135 (wireless) NIC which comes with Linux drivers. Physical installation OK. Hardrake identifies an unknown PCI card; running the config tool only gives a large array of network/drivers to be tried, but no option to pick these up from the CD. Tried running files directly from CD, but either the editor programme opens the file, or I'm asked what to run the programme with. Tried iwconfig and ifconfig at command line, but with no response. Can anyone help with this - I thought Linux was supposed to be easy!

Jen C
25-09-2004, 09:29 AM
> ... running the config tool only gives a large array of
> network/drivers to be tried, but no option to pick
> these up from the CD. Tried running files directly
> from CD, but either the editor programme opens the
> file, or I'm asked what to run the programme with.

You need to copy the driver from the CD to your home directory. As it will be an compressed file, you will need to extract it. Once extracted, look at the contents and you will see a README which should give you the instructions for installing and any other vital information.

> Tried iwconfig and ifconfig at command line, but with
> no response.

You may not have the wireless-tools installed yet. Open up the Mandrake package manager (rpmdrake) and search for "wireless" and install wireless-tools.

> Can anyone help with this - I thought
> Linux was supposed to be easy!

Linux can be easy, but it is not Windows and people shouldn't expect it to behave like Windows. With installing drivers in Windows, you have a very limited range of OS's so a driver can be supplied for Win98 or WinXP etc. With Linux, there are many types of package formats that the different distro's can use and new kernels are always being released. So the easiest way for manufacturers to supply a generic driver, is to make one that can be installed on any distro (if compatible with that kernel series) and this ususally involves compiling the driver for your system. Sometimes a manuafacturer will release a pre-compiled driver in a package format specific for the most common distros and these will be available from the manufacturers website. :)

25-09-2004, 05:24 PM
Thanks for the advice Jen. The ReadMe file says to run 'make config' and then run 'make install'. Have tried running both of these - but messages indicate that there is no such file or directory, and they don't appear to be in the directory. Are these programs which should be run from somewhere else and require a path? Any ideas ...?

25-09-2004, 07:42 PM
Ignore the last posting. I have now been able to run 'make config' and 'make install' OK. The next installation instructions are to:

- run '/sbin/insmod rt2400.o' (as root)
run '/sbin/ifconfig ra0 inet YOUR_IP up'
run '/sbin/route add default gw YOUR_DEFAULT_GW dev ra0'
(where [YOUR_IP] like [], [YOUR_DEFAULT_GW] like [])
- run '/usr/local/bin/RaConfig' to start the Configuring Utility.

Things go wrong at the first instruction, which can't find the rt2400.o file. However, this file does exist, at lib/modules/2.6.3-4mdk/kernel/drivers/net/rt2400.o

How I get the run command to pick this up? (Also, what does GW stand for in the instructions above?)

Thanks for any assistance!

25-09-2004, 08:00 PM
try modprobe rt2400.o (loads module for current session only)
then lsmod
the last command will list loaded modules
post back results of last command
you must be logged in as root to run these commands
also have you tried modconf as a command

25-09-2004, 08:07 PM
GW I suspect stands for Gateway

25-09-2004, 10:25 PM
Thanks. Tried 'modprobe rt2400.o', but this failed to do anything. Tried 'modprobe -c rt2400.o', which produced a vast amount of text (lines beginning with 'alias symbol ...'). Then tried Ismod, but get the response: 'bash:Ismod: command not found'. I was logged in as root for these - any other ideas ...?

Jen C
25-09-2004, 10:30 PM
> Thanks. Tried 'modprobe rt2400.o', but this failed to
> do anything.

Nothing does appear to happen, this is normal for modprobe. You should just get a new prompt line if successful.

>Then tried Ismod, but get the
> response: 'bash:Ismod: command not found'. I was
> logged in as root for these - any other ideas ...?

You have typed I (capital i), it should be lowercase L (l for lima).


26-09-2004, 05:13 PM
Thanks for your persistance with Linux novices like me!
Typing 'modprobe rt2400.o' produced the message 'FATAL: Module rt2400.o not found' - so something seems to being wrong here. Does this mean it didn't install properly, or it just doesn't know where to find it? Typing lsmod did produce a screen full of module/size/use by. Modules in list were: sg, sr_mod, af_packet, hid, ide-floppy, ide-tape, ide-cd, cdrom, floppy, supermount, intel-agp, agpgart, ppa, parport_pc, imm, scsi_mod, parport, uhci-hcd, usbcore, rtc, ext3, jbd.
Does this provide any more clues...?

Jen C
26-09-2004, 05:49 PM
Hmm ... I think we need to start from the beginning here. I have taken a look at the README included in DSE's Linux driver (http://www.dse.co.nz/cgi-bin/dse.filereader?4156559103c7f96e273fc0a87f99072a+EN/catalogs/SUPXH8135) and also the newer driver available at the developer's (http://sourceforge.net/projects/rt2400) site, and the instructions appear different. From the last link, the rt2400-1.2.1 package includes a how-to for Mandrake 10.

Is it possible to post the contents of the README that you are following, or if this is too long, could you zip up the txt file and upload it to here (http://sal.neoburn.net/imagef1/?mode=home) (it accepts files with a .zip extension) so that we can see what the steps are? Post the URL given by ImageF1 for your upload.

A couple of things first to clarify:
1. Have you installed the wireless-tools from your Mandrake disc?
2. Have you got the current kernel source installed? To check this, enter in a konsole window and post the output here:
rpm -qa | grep kernel

26-09-2004, 06:18 PM
Hi Jen C
Here's the readme file:
1) Compatibility.

RedHat 7.1
RedHat 7.2
RedHat 7.3
RedHat 8.0
RedHat 9.0

2) Installation Procedure

- run 'make config' to set up module install directory.
(If the new kernel has a different version string, you need to
change the directory. The default answer is correct for most users.)

- run 'make install'
(This will do everything (install the driver and the necessary files ).
(make sure that you logged on as root).

- run '/sbin/insmod rt2400.o' (as root)
run '/sbin/ifconfig ra0 inet YOUR_IP up'
run '/sbin/route add default gw YOUR_DEFAULT_GW dev ra0'
(where [YOUR_IP] like [], [YOUR_DEFAULT_GW] like [])

- run '/usr/local/bin/RaConfig' to start the Configuring Utility.

3) Uninstall Procedure

- run "make uninstall"
(I've been assured by DSE that this driver is OK with Mandrake, despite what (1) above says, but could this be the problem?)
I have installed the wireless tools.
The response to your command was:
"kernel -"
"kernel -source-2.6.3-4mdk"

Many thanks for your advice!

Jen C
26-09-2004, 06:37 PM
Well I would go and download the latest driver from the developer's and use that instead. You can get it here (http://sourceforge.net/projects/rt2400). The driver supplied with the Network Card looks older than the old version available for download off DSE :p

26-09-2004, 08:02 PM
Hi JenC
Downloaded the driver, unzipped file to create file rt2400-1.2.1. Went through the previous procedures, but no change ie. when typed 'run /sbin/insmod rt2400.o' got response 'bash: run: command not found' and 'modprobe rt2400.o' produced same response as before.
Is it possible that this isn't compatible with Mandrake ...?

26-09-2004, 08:57 PM
Righto lets start from scratch.
(remember that everything is case sensitive and all)

Check The Dependencies:
terminal > su > iwc [tab] [tab]
if iwconfig pops up then Wireless Tools are installed.
Terminal can be any terminal program you want (gnome-terminal/konsole/rxvt/xterm - my personal favorite). The [tab] refers to pushing the tab button.

If "iwconfig" doesn't show then it's not installed - download it from here (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.26.tar.gz)

Kernel Support for Wireless:
Now to check that the kernel has wireless support enabled (either as a module or built-in).
cp /usr/src/linux/.config ~/Desktop
cd ~/Desktop
cat .config | grep CONFIG_NET_RADIO

The result will either be CONFIG_NET_RADIO=y or CONFIG_NET_RADIO=n
If the result is CONFIG_NET_RADIO=n then no matter what you do wireless won't work without recompiling your kernel.

Update Shared Libraries:

Install The Kernel Module:
cd /[path to drivers]/rt_2400_linux/Module/
./Configure - if there are any errors stop here and let us know
make install
exit (just to get back to a non-root user)
lsmod | grep rt2400

If something pops up then the kernel module has worked and the NIC works.
As to getting it to work - let us know - do you want to sign it a static IP or get one off DHCP? Do you want to connect to the internet through it? etc

The recommended "get used to linux" period is 6weeks - that's to get out of the "one click install", a new gui, everything being different, etc. Usually most people start off installing programs from rpms or similar, then move to compiling from source, etc - I don't know of many that jump straight in the deep end and add a new Wireless NIC.

26-09-2004, 11:35 PM
Thanks Wood-Chuck. 'Iwconfig' didn't show up, so have downloaded the file wireless_tools.26.tar to my (WinxP) laptop. So far efforts to get this to the linux PC via either a floppy disk (error copying) or CD (linux PC can't see the file burnt using the laptop) - but will keep trying and then will try rest of your suggestions

Graham L
27-09-2004, 01:48 PM
Don't use "user-fiendly" drag and drop (InCD, etc) to CDs on Windows you want to read on a Linux machine. Why go looking for trouble?
Make a standard "iso9660" CD (Joliet, Rock River, ... extensions don't hurt).

Floppies do work ... but DOS doesn't check for errors when writing. Do a "Full" format on floppies you are using for transfer and toss any with bad spots.

mcopy and the rest (mdir, etc) work very well.

If you are ftp-ing tar (or tar.gz, or tgz, or tar.bz2) to linux make sure you are using BINARY mode. If a binary file is treated as ASCII (text) characters are added or removed (depending on the direction) when files are moved from *nix to DOSix. Compressed files don't work if they have had bytes removed or added. :_|

27-09-2004, 09:20 PM
Thanks Graham L
Managed to copy wireless_tools.26.tar to a CD and then successfully onto the linux PC. Should I be trying to extract this into /sbin? Tried this using comment "tar xf filename" only to get responses ...
tar: this does not look like a tar archive
tar: skipping to next header
tar: archive contains obsolescent base-64 headers
tar: error exit delays from previous errors
.... is this what you meant in your last comment? If so, how can I avoid this?

27-09-2004, 09:37 PM
It's a gzip'd tarball
Try "tar -xzvf [filename]"

27-09-2004, 10:10 PM
Great Wood-Chuck - it expanded the file beautifully!
Went back to your earlier post and then used "cp /usr/src/linux/.config ~/Desktop" - this was OK.
But in response to "cd ~/Desktop" got response "Not a directory"
What I am trying to do here - copy files to the desktop?

27-09-2004, 10:17 PM
You got the idea.

~ is a symbolic link that should take you to /home
eg: ~ = /home/username
~/Desktop = /home/username/Desktop.

I used ~ because it meant I didn't have to use /home/username.
You don't need to use the Desktop - it's just a preference of mine, and as my Desktop is always empty it provides a nice environment to extract things and see how things are coming along, etc.

27-09-2004, 10:57 PM
Thanks again Wood-Chuck
Could be getting some traction here. Iwconfig is definately present. Following through other commands, I get "CONFIG_NET_RADIO=Y". Updated the shared libraries OK. Assume I still need to install the kernel module. A variant of your command "cd/ ...../rt2400-1.2.1/Module" was accepted OK, but the following command "./Configure" produced response "No such file or directory" -what's this doing ...?

29-09-2004, 10:10 AM
That was a mistake on my part sorry - I've just reread the instructions and ./configure isn't listed.
So, instead:

cd /[path]/rt2400-1.2.1/Module
make install
lmod rt2400

And that will install the drivers, check that the kernel knows it's there and so forth.
After that, the manual recommends installing RaConfig, so
cd ../Utility
./Configure (this one should work)
make install

Assuming that all works you can either use Mandrakes GUI to setup the NIC with the settings you want or do it via the terminal.

29-09-2004, 10:14 AM
> lmod rt2400

On hindsight I don't agree with the instructions on this one.
I'd recommend "lsmod | grep rt2400" and if anything appears beneath then you're sweet, if not then it's headding back to the drawing board and finding out why (which is a great learning curve)

29-09-2004, 07:19 PM
Thanks again Wood-Chuck.
Your commands worked OK until 'lmod rt2400', which wasn't recognised. Tried your 'lsmod | grep rt2400', for which nothing appeared underneath - so assume this means problems? Went on anyway and tried './Configure' which produced message 'we recommend you use the new version qt-x11-free-3.1.1 or later, otherwise make could be failed'. 'Make' then duly failed, producing message g++ command not found. Does this help identify where the problems might be ...?

29-09-2004, 11:35 PM
Have you installed the development tools for your Distro?

30-09-2004, 07:35 AM
Hi Chilling_Silence
I thought I'd done a full install from the Mandrake disks - how can I tell if the development tools are present, and will this make a difference? The network tools are present

30-09-2004, 09:07 AM
Chill@Stellar ~ $ gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Configured with: ../gcc-3.4.1/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++,f77,objc --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
Thread model: posix
gcc version 3.4.1

By typing:
gcc -v

It'll let you know you have gcc installed :-)
gcc = GNU C Compiler - Its used to compile programs from Source Code.

30-09-2004, 10:14 AM
Appears tools are installed - got similar text to yours. Final line was 'gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)'.
Does this help ..?

30-09-2004, 10:29 AM
whereis g++

I get:
Chill@Stellar ~ $ whereis g++
g++: /usr/bin/g++ /usr/man/man1/g++.1.gz /usr/share/man/man1/g++.1.gz

If you get that, I'd assume you should try:
./configure --prefix=/usr

Then see how you go!


30-09-2004, 10:40 AM
Response to the 'whereis g++' command was simply 'g++:'.
Does this indicate a problem ..?

30-09-2004, 11:02 AM
Yup - Means you dont have it.

Im not sure what Mandrake uses for downloading apps but IIRC its urpmi.

Hopefully BMason will catch onto this shortly, if not, look for a g++ mdk rpm :-)

08-10-2004, 03:32 PM
Could you explain what the relevance of the G++ is? Also, is it simply a question of locating this module and installing it, or should I be looking for a more recent version of Mandrake (I've installed 10.0, which I would have thought was pretty up to date ...). Any help on this, or experiences from anyone who has installed a wireless card under Mandrake would be much appreciated!

09-10-2004, 09:43 PM
G++ is a C compiler for Linux.
Because you are compiling programs from source, the machine is looking for a C compiler and not finding ones, so you cannot install programs from source (eg: you can only install by RPM).

You can download the G++ installer for Mandrake 10 Here (ftp://mirror.cs.wisc.edu/pub/mirrors/linux/Mandrakelinux/devel/10.1/i586/media/main/gcc-c++-3.4.1-3mdk.i586.rpm). Once that is done you should be able to follow the rest of the instructions previously mentioned and get your NIC working once and for all.

Sorry about the problems you've been having with this - I swear usually it's straightforward and simple. Anyway it appears the Mandrake guys are aware of the problem (see here (http://qa.mandrakesoft.com/show_bug.cgi?id=11293)) so yeah. Must've just been a development problem that never got found out until too late.