# RT2500 install problems

## sirformatalot

 :Embarassed:  Unable to get my rt2500 pci card working . Module won't load after emerging net-wireless/rt2500. I tried installing drivers from CVS with no luck either. I've recompiled 2.6.15-gentoo-r1 kernel a number of times. dmesg seems to complain about SMP. I made sure kernel is not compiled with SMP ( have a single P4). This is a pretty fresh stage 1 on 3 install and everything's (including kernel) been compiled with GCC 3.4.5. Any thoughts?

dmesg:

rt2500: version magic '2.6.15-gentoo-r1* preempt PENTIUM4 gcc-3.4' should be '2.6.15-gentoo-r1* SMP preempt PENTIUM4 gcc-3.4'

modprobe rt2500:

FATAL: Error inserting rt2500 (/lib/modules/2.6.15-gentoo-r1*/net/rt2500.ko): Invalid module format

modinfo rt2500

filename:       /lib/modules/2.6.15-gentoo-r1*/net/rt2500.ko

author:         http://rt2x00.serialmonkey.com

description:    Ralink RT2500 802.11g WLAN driver 1.1.0 BETA3 2005/07/31

license:        GPL

vermagic:       2.6.15-gentoo-r1* preempt PENTIUM4 gcc-3.4

depends:

alias:          pci:v00001814d00000201sv*sd*bc*sc*i*

parm:           ifname:Network device name (default ra%d) (s)

parm:           debug:Enable level: accepted values: 1 to switch debug on, 0 to switch debug off. (i)

uname -r

2.6.15-gentoo-r1*

lshw (rt2500 section)

*-network:0 UNCLAIMED

                description: Network controller

                product: RT2500 802.11g Cardbus/mini-PCI

                vendor: RaLink

                physical id: 5

                bus info: pci@01:05.0

                version: 01

                width: 32 bits

                clock: 33MHz

                capabilities: bus_master cap_list

                resources: iomemory:febfe000-febfffff irq:3

gcc-config -l

 [1] i686-pc-linux-gnu-3.4.5 *

 [2] i686-pc-linux-gnu-3.4.5-hardened

 [3] i686-pc-linux-gnu-3.4.5-hardenednopie

 [4] i686-pc-linux-gnu-3.4.5-hardenednopiessp

 [5] i686-pc-linux-gnu-3.4.5-hardenednossp

----------

## NeddySeagoon

sirformatalot,

It looks like you have removed SMP from your kernel, recompiled and reinstalled it but got the install wrong because the running kernel has SMP support.

When you made the rt2500 module, it compiled without SMP support so will not work with your running kernel.

Do

```
uname -a
```

and check the date/time shown.

Is that when you recompiled the kernel last ?

Popular errors are forgetting to mount /boot and getting the name wrong in the copy

----------

## sirformatalot

NeddySeagoon,

Thanks for the quick reply. Looks like I'm doing something dumb. When I did make && make modules modules_install install  after recompiling kernel I was thinking it was automagically updating my config file in /boot. The uname -a is time stamped at my first (probably wrong with SMP) kernel install.when I looked in boot the latest config is from my last recompile (without SMP) but I can't even find my grub directory. Am i screwing up my /boot ?

Thanks

----------

## NeddySeagoon

sirformatalot,

Your /boot is not normally mounted - its easy to forget.

You have two places called /boot on your system. On your root partition is a directory called /boot.

You can put things there if you want but its normally not used that way. Its the mount point for your boot partition.

When the boor partition is mounted on /boot you see its contents there anything in the directory on root is hidden.

```
df 
```

will show if /boot is mounted now or not. If its not mounted /boot should be empty.

When boot is mounted your grub.conf is at /boot/grub/grub.conf.

Grub will attempt to load kernels from the boot partition, not the boot directory on root, which you are not supposedto use.

----------

## sirformatalot

Thanks NeddySeagoon,

I think the fog is beginning to lift. I guess I'm not use to doing things the right way and keeping my boot on a seperate partition. I mounted boot & sure enough there is grub & all my old (original) config & system.map files. I guess that's why I couldn't get splash to work either. So just copy my latest config & system.map over to /boot partition and everything should be cool right?

sirformatalot

----------

## NeddySeagoon

sirformatalot,

.... and your kernel file itself.  Thats the only file that actually matters for the boot process.

Its at /usr/src/linux/arch/<your_arch>/boot/bzImage now and must be copied to /boot under the name that grub expects to find.  Or you can make a new block in grub.conf to find the new kernel.

----------

## sirformatalot

NeddySeagoon,

Thanks for getting me straight on the kernel install. Common sense should have dictated mounting /boot before any changes could be made- opps. The learning curve continues. After getting the right kernel running the rt2500 module loads ok & I even got got connected to an open AP for a few seconds before things went south. A couple kernel panics later I checked dmesg & got:

                                         ra0 (WE) : Driver using old /proc/net/wireless support, please fix driver!

The driver I got from portage is rt2500-1.1.0-beta3. I guess I could try the latest CVS from rt2x00 project. Or maybe recompile the kernel a couple 3 more times now that I know how to get it running. Any more thoughts on this?

----------

## NeddySeagoon

sirformatalot,

You can ignore that error - its aimed at the modue maintainers, rt2500-1.1.0-beta3 is being replaced with rt2x00.

There is an emerge for that too.

Try the rt2x00 driver before you do any more to the kernel. You will need to remove the rt2500-1.1.0-beta3 driver first.

Installing two device drivers for the same hardware at the same time normally produces disappointing results - neither works.

What we the kernel panics aboout ?

----------

## sirformatalot

Well I'm working from memory now because I left the Gentoo box at work in the basement stockroom. There are some open AP's upstairs in the airport terminal that I can connect to with my homemade coffee-cantennae. The wife is tired of me spending hours at home in the basement staring at a CRT so I smuggled my Gentoo project into work. That's why I need to get my wireless working- no wired internet at work! Anyhow, I can't remember what the kernel panics were about, they happened as soon as I brought the wireless card up. I unmerged the rt2500 and installed the rt2x00-2.0.0 Beta3 from source because I happened to have that tarball sitting in my /tmp from downloading at home. That almost worked, the card started and I got assigned an IP thru dhcp and I could even ping the APs upstairs but no internet connect. The iwlist scan result showed the 2 APs upstairs but the signal strength was way low, like -200dbm. From my XP partition ethereal shows those same APs around -65 to -70 dbm with the same hardware setup.I didn't realize there was an emerge for rt2x00. 

Next noobe question. I noticed when I unmerged the rt2500 ebuild it left a rt2500.o binary in my /lib/module/2.6/net & the rt2500.dat in my /etc/Wireless. I deleted them before the rt2x00 beta 3 source install. When I installed rt2x00 b3 it spewed a bunch of stuff in my /lib/module/2.6 along with a rt2x00 dir in there. There not being an unmerge for a source install like that should I delete those files & rt2x00 dir & then attempt rt2x00 emerge ? Anything else I can do to minimize screwing up this install or is it too late? 

Oh, one other thing. I've used this wireless card in a couple other machines at work using slackware & (hate to say windows) & ended up having to spoof my MAC because it got denied - ifconfig eth1 hw ether blahblah. Same on this install- couldn't get assigned an IP until I spoofed MAC. I can connect ok thru winXP after MAC spoof. Can I download the rt2x00 ebuild on my XP partition & then copy that tarball to /usr/portage/distfiles & do emerge rt2x00?

thanks and sorry for long boring post,

sirformatalot

----------

## NeddySeagoon

sirformatalot,

The emerge for rt2x00 is the same as the source tarball - there is no point in changing.

However, one thing the emerge threw up for me is that it needs some of the crypto options in the kernel an its own wireless stack. The tarball didn't complain about that.

You can try 

```
make uninstall
```

in the same directory as you did make to build the module.

Many make files support the uninstall target.

Yes - you can download the sources you need for any emerge on another PC and move them to /usr/portage/distfiles.

Do 

```
emerge -fp rt2x00  
```

to get the list of urls you need to download. If you want Gentoo to get the file from a ntfs partition (XPs native filesystem) you need ntfs support for your kernel. A moduole will be fine.

----------

## sirformatalot

NeddySeagoon,

I think the source install stuck the wireless stack in as a module. Do you know what crypto options had to be compiled in  the the kernel?

I have ntfs support along with a fat32 share partition (can mount both parttions) but I'm still not clear about how to download the ebuild tarball to stick in the distfiles dir. How do I get the url list?

Thanks for your continued help- this is one of the main reasons I'm so impressed with Gentoo. Great docs & support from people like you.

sirformatalot

----------

## sirformatalot

Ok nevermind about url list- got it. Still working on the driver issue though. Could it be I don't have the right crypto options in my kernel?

----------

## NeddySeagoon

sirformatalot,

You need 

```
AES cipher algorithms (i586) 

ARC4 cipher algorithm

Michael MIC keyed digest algorithm
```

----------

## sirformatalot

Yep I got those in the kernel after emerge rt2x00 complained about them missing. I unmerged rt2500 before rt2x00 emerge but dmesg still gives me the fix driver message for rt2500-1.1.0-b3 . I got the kernel panic I think because I had /etc/init.d/eth0 & /etc/init.d/ra0 both symlinked to net.lo. Should I have linked ra0 to eth0 instead ? When I unplugged my eth0 wired input it booted OK. The rt2x00 still doesn't work though. It connects to AP when I start up the interface (it's not rc-updated to autostart) but then promptly drops the connection.

Oh yeah & when I do lsmod it still shows rt2500 loaded even though I have rt2x00 emerged. What gives? Think I've fouled up my kernel? I recomiled & installed for the crypto options & was hoping that would make my rt2500 stop trying to load. when I tried rmmod rt2500 it complained device was busy. At some point in between rt2500 & rt2x00 emerge I installed source rt2x00 CVS. I went into the rt2x00 CVS directory & tried the make uninstall but it didn't work. I ended up manually deleting all the files in /lib/modules/2.6 after its install that I could find.

Any ideas about how to straighten this out? 

Thanks,

sirformatalot

----------

## NeddySeagoon

sirformatalot,

The kernel modules you need to remove will be in 

```
/lib/modules/`uname -r`/...
```

If you want to be sure to get them, rebuild your kernel starting with the 

```
make clean
```

command in /usr/src/linux.

You will need to reinstall all the 3rd party kernel modules then too, like nvidia-kernel and emerge rt2x00, since the kernel modules will 'dop out'

The good news is that rt2500 will also be removed this way but perhaps not the code that attempts to load it. You can safely ignore errors aboyt rt2500 not loading.

Your symlinks to net.lo are correct. When the net.lo script runs, it runs as whatever file called it, so it behaves as if it is net.ra0 when the net.ra0 symlink calls it and net.eth0 when net.eth0 starts it.

----------

## sirformatalot

Ok I tried removing the modules in my /lib/modules/2.6.* directory and rebuilding the kernel starting with 'make clean' but the darn rt2500 kept trying load. I finally started over again with a backup of my original barebones stage 1/3 partition and made sure I had the correct crypto options in my kernel 

                 Code:

AES cipher algorithms (i586)

ARC4 cipher algorithm

Michael MIC keyed digest algorithm

Then I emerged rt2x00 and still no joy. After unmergeing rt2x00 it left a bunch of IEEE80211 stuff in /lib/modules/2.6.*. I left those files there & emerged rt2500. BINGO. I'm wireless finally! 

Thanks for your help NeddySeagoon. Persistence & good advice pays off.   :Very Happy: 

----------

