# Issues with Cisco mini pci wireless on IBM R40

## jcmorris

Hi guys! I just got my IBM R40 yesterday, and I ordered it with a Cisco wireless card.  Now, I've got some issues installing a driver for it.  I'm using kernel 2.6.1, and the airo driver doesn't work for it, so I downloaded the driver from Cisco's website, and I get compilation errors.  Is anyone getting this working?  Please help! Thanks!

jcm

----------

## volumen1

Which aironet card do you have?  Is it the built-in mini-pci card?  If so, then good luck.  It's a real bitch to get it working.   In any case, you usually have several options with the aironet cards.  You can use the cisco drivers for them, but they'll taint your kernel.  You can use the open-source drivers for the mpi350 (you can get from sourceforge), but they are pretty flakey.    

However, if you are using a normal (non mini-pci) aironet card, I would think that you can use the kernel drivers.   I, personally, had problems with my wireless NICs in 2.6.X so I'm hanging out in 2.4.23.

If you are trying to use the Cisco drivers with 2.6.X, I don't think that will work.  I also don't think you can emerge the pcmcia-cs drivers in 2.6.X, but I might be wrong there.

----------

## jcmorris

I got the mini pci option, after reading on IBM's Linux page that it is Linux supported.  Hmmm, that was a waste of $100 upgrade.  I may just have to shell out the cash for a PCMCIA adapter, but i really don't want to do that!  Thanks

jcm

----------

## volumen1

It might not be all that bad.  The cisco module works, but, I was never able to get it to work with wireless extensions (let alone wlan).  So, I had to use Cisco's lame little gui to configure WEP and such.  Check out mpi350-driver in portage.  I don't think it works with 2.6, though.

The airo-linux stuff isnt' in active development, but you can check it out at: http://airo-linux.sourceforge.net/  Again, though, I don't think it works with 2.6.

I heard rumour that maybe mpi350 stuff will make it to the kernel, but I'm not holding my breath.

----------

## jcmorris

Hey thanks.  I ended up downgrading to 2.4.24 and it works now with the Cisco drivers   :Very Happy:  It seems as though when I do multiple downloads that it has some problems, but nothing I can't work around.  My only problem is that I need to find a patch to enable cpufreq with 2.4.24.  Thanks!

jcm

----------

## volumen1

Glad to help.

So, are you using the mpi350-drivers in portage?  Are you able to set your WEP key and all that jazz using iwconfig?  Or are you using the cisco gui?

----------

## jcmorris

I am using the Cisco GUI.  It is challenging, especially after putting the system into sleep mode.  Now, when you initially emerge mpi350-driver, modprobing the driver will result in an unresolved symbol, so I manually built the module and then cd'ed into the directory of its location and did 'insmod ./mpi350.o'.  Now, I usually have to play with the utility and run dhcpcd mulitple times until I finally get a signal and get on the network.  It is very annoying!  But, with wrestling I can get it to work.  Bummer it won't compile with a 2.6 kernel.  Now, what is WEP?

jcm

----------

## volumen1

It means Wired Equivalent Privacy.  It's encryption for your wireless network.  Although, it's more secure than nothing, it's not terribly secure.  That said, you should probably enable it on your network.  Otherwise naughty people could sit outside your house and monkey with your network.

----------

## latexer

Fabrice Bellet has been working on taking the work on the airo-linux sourceforge CVS and continuing/extending it. I've helped him get things jiving under 2.6. All that info can be found here. Hopefully that helps!

----------

## jcmorris

Yes, I just found a page of his http://bellet.info/~bellet/laptop/t40.html and under the wireless section I found a patch for 2.6.1-mm2.  It works a little slow, but seems to be MUCH better than Cisco's module.  I'm very pleased!  I know have everything working on my new R40 except  suspend to disk   :Very Happy: 

----------

## volumen1

Those drivers are friggin' awesome!  How are you loading your essid and WEP key?  Did you just put an iwconfig line in your /etc/init.d/net.eth1 script?

----------

## mkershaw

hey guys, i'm on a T40 and i have the minipci 350 internal.  i also have a pcmcia aironet 4800 if i need it.  I've been using linux for quite some time now, as i use it for work all day long, but one thing i have never had to do up untill this point is add an additional network interface.  i'm running 2.6.1 right now, and would really like to get my internal wireless working.  i've tried bellet's methods but have been unsuccessful.  i've tried SOOOOO many different things and i'm soo about to give up, but that never seems to help.    :Confused:   :Confused: 

if anyone could either maybe walk me thru or even once i get home from work, i would gladly let someone SSH into me and maybe do a little screen action or something so i can see what needs to be done.  

i'm just about on my hands and knees know begging for help....and i hate begging!! hehehehe

please let me know if i can post any configs of any sort for some help also.

thnx in advance,

mike

----------

## jcmorris

I've got a working airo.c for you to use, I just don't have a page to upload it to.  It seems to work well with 2.6.1 and 2.6.2-rc2.  Give me your email, I'll send it to you!  I discovered this after MUCH googling.  It seems to work pretty good most of the time.

jcm

----------

## jcmorris

 *volumen1 wrote:*   

> Those drivers are friggin' awesome!  How are you loading your essid and WEP key?  Did you just put an iwconfig line in your /etc/init.d/net.eth1 script?

 

Okay, remove /etc/init.d/net.eth1 from the default runlevel.  Then, I edited /etc/conf.d/local.start and added these lines:

iwconfig eth1 essid any

dhcpcd -t 15 eth1

It seems to work okay!

jcm

----------

## volumen1

Hay Mike, so you are just trying to bring up your mpi_350 interface?  Is that right?

Here's how I did it.  The patches on http://bellet.info/~bellet/laptop/ are only for 2.6.1-mm2 in the 2.6 tree.  So...

1. Get a copy of the linux-2.6.1 sources.  You can get them from kernel.org ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.1.tar.bz2

2. copy that tarball to /usr/src.  Then do 

```
tar xjvf linux-2.6.1.tar.bz2
```

 to unpack it.

3. Now you need to get the mm2 patchset.  Get the patches from

http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.1/2.6.1-mm2/2.6.1-mm2.bz2

 and copy this file to /usr/src/linux-2.6.1.  Then do 

```
bunzip2 2.6.1-mm2.bz2
```

4.  Now, you need to apply the mm2 patchset.  Do you this in the same directory.  Just do [code]patch -p1 < 2.6.1-mm2[code]  Hopefully there aren't any errors, because I can't help you if there were.

5.  Now, you need to cd to drivers/net/wireless (or something like that) and you are looking for the airo.c module.  When you find it, you need to download the airo.c diff file from http://bellet.info/~bellet/laptop/airo.c-2.6.1-mm2.diff to this directory.

6. Now apply that patch [code]patch -p0 < airo.c-2.6.1-mm2.diff[/code]

Now you should be able to cd to /usr/src/linux-2.6.1 and do a make menuconfig and go from there.  After you rebbuild the kernel and reboot, you should be able to [code]modprobe airo[/code] and you should see a new interface when you do a [code]ifconfig -a[/code].  If you still have problems, let us know.

----------

## mkershaw

hey volumen1!!!!!

everything is now patched.....i'm just about to make menuconfig.....about the config....i obviously want to have wireless built it....do i want to add anything else in there as far as like the card or anything??  allready thnx hugely for the help....everything went smoothly thus far!!

thnx again,

mike

oh...btw....i'm allready running under 2.6.1 at this point...do i still have to recompile??  thnx

----------

## volumen1

Howdy, I would just build everything in the wireless section as a module.  Otherwise, make sure you build what Gentoo needs (devfs and the like), it should be like building any other kernel.  Are you currently running 2.6.1-mm2?  If not, then I think you should recompile the new kernel and then boot from it, just to make sure.  I know that 2.6 can supposed load modules of other versions, but that's just one more thing to go wrong.

----------

## mkershaw

 *volumen1 wrote:*   

> Howdy, I would just build everything in the wireless section as a module.  Otherwise, make sure you build what Gentoo needs (devfs and the like), it should be like building any other kernel.  Are you currently running 2.6.1-mm2?  If not, then I think you should recompile the new kernel and then boot from it, just to make sure.  I know that 2.6 can supposed load modules of other versions, but that's just one more thing to go wrong.

 

ok man,

     i've done everything and still a no go..my light won't even come on    :Crying or Very sad:   :Crying or Very sad: 

you are talking about my internal miniPCI cisco350 correct??  sorry to be a pain, it would just be HUUUGE if i can get this working for me.   thnx again d00d...

once again also, i can post any config file that may be needed!!

~~mike~~

----------

## volumen1

Light?  I don't even think my mini-pci (mpi350) even has a light.  Did you do a 

```
modprobe airo
```

?  Did that work?  Do a 

```
dmesg
```

 and see what it says.  If you do an ifconfig -a, do interfaces show up?  Check the MAC addresses.  Does one of them match the MAC address information you are getting in dmesg?

----------

## mkershaw

 *volumen1 wrote:*   

> Light?  I don't even think my mini-pci (mpi350) even has a light.  Did you do a 
> 
> ```
> modprobe airo
> ```
> ...

 

right on the bottom of my monitor of the T40 there's a little light that should light up for the internal wireless....

yes i do a modprobe airo and i can do an lsmod and it's there.  

the only thing that dmesg states in there about airo anything is this :airo:  

Probing for PCI adapters

airo:  Finished probing for PCI adapters

when i do an ifconfig -a only my eth0 which is my e1000 and my local loopback are present.

bummer huh?  

heheheh

----------

## jcmorris

Hmmm, that is exactly what happened to me when I used the unpatched airo driver.  This is odd, it should have been found.  I could just send you the correct, patched airo.c file if you still can't get it working.  Under the kernel config, you did select the PCI/ISA airo driver, and not just the PCMCIA one, correct?

jcm

----------

## jcmorris

Oh, and it still works correctly under Windows, right?  Just to rule out a dud card...

----------

## mkershaw

Hey jcmorris,

      I wouldn't be able to tell you if it still works under windows because i've never once booted to windows on the T40.  The day i got it the liveCD went into it and i removed their stupid litlte winbloze.  MUAHAHAHAHHAHAHA

sry bout that..heh

ok...yes i did select both the PCI/ISA & the PCMCIA one

# Wireless 802.11b ISA/PCI cards support

#

CONFIG_AIRO=m

# CONFIG_HERMES is not set

#

# Wireless 802.11b Pcmcia/Cardbus cards support

#

CONFIG_AIRO_CS=m

# CONFIG_PCMCIA_ATMEL is not set

# CONFIG_PCMCIA_WL3501 is not set

CONFIG_NET_WIRELESS=y

do you think if you sent me youre airo.c file that it would work?? please don't tell me it's something as simple as that...   :Shocked:   :Shocked: 

----------

## jcmorris

That looks okay.  Now remember, under linux the wireless light only comes on when it is being used (ie after dhcpcd has been run on the interface).  So not seeing it on after inserting the module is normal.  However, if ifconfig can't detect the interface, then there is a problem indeed.  What firmware version are you using for you card?

jcm

----------

## mkershaw

 *jcmorris wrote:*   

> That looks okay.  Now remember, under linux the wireless light only comes on when it is being used (ie after dhcpcd has been run on the interface).  So not seeing it on after inserting the module is normal.  However, if ifconfig can't detect the interface, then there is a problem indeed.  What firmware version are you using for you card?
> 
> jcm

 

thnx for the light tip...because i did not know that..heheh....about the firm ware....where would i be able to tell which it has??? ifconfig -a only picks up my eth0 and the l0

~~mike~~

----------

## jcmorris

Okay, I know your problem now, the T40 and R40 by default come with a version of firmware not compatible with the drivers.  So, you need to downgrade the firmware manually.  For this, I think you need Windows and the Cisco Windows utility to downgrade it.  Can anybody else confirm this?  You need firmware version 5.00.x, even Cisco's own drivers require this firmware version.

jcm

----------

## jcmorris

I take that back, if you download the Linux utility from Cisco's website, it's graphical utility has an "upgrade firmware" option, you could try that, and download the firmware file.

jcm

----------

## mkershaw

 *jcmorris wrote:*   

> Okay, I know your problem now, the T40 and R40 by default come with a version of firmware not compatible with the drivers.  So, you need to downgrade the firmware manually.  For this, I think you need Windows and the Cisco Windows utility to downgrade it.  Can anybody else confirm this?  You need firmware version 5.00.x, even Cisco's own drivers require this firmware version.
> 
> jcm

 

ok...i have heard this before.....so it seems that i just have a bad version of the firmware eh?? our Nt Administrator here obviously is running windows, and he just said that i can pop his hdd into my lappy.....i probably won't be able to do that untill monday   :Crying or Very sad:   :Crying or Very sad: 

but once i do that and downgrade my firmware...you really think that will work?? that'd be quite shibby if it would!!

so there's no way to change my firmware rev. under linux eh??  that sux0rz

thnx much for the help all...hope the firmware change will fix it up!!

~~mike~~

----------

## jcmorris

I'm pretty sure that downgrading the firmware will work.  Things have changed in newer firmwares.  Yeah, emerge mpi350-driver (I think that is what it was) and execute the /opt/cisco/bin/acu GUI configuration program.  Under the menu you can change the firmware, but you must have downloaded the firmware file from Cisco's website.

jcm

----------

## mkershaw

 *jcmorris wrote:*   

> I'm pretty sure that downgrading the firmware will work.  Things have changed in newer firmwares.  Yeah, emerge mpi350-driver (I think that is what it was) and execute the /opt/cisco/bin/acu GUI configuration program.  Under the menu you can change the firmware, but you must have downloaded the firmware file from Cisco's website.
> 
> jcm

 

dood...the firmware file on cisco's site is an .exe

the acu gui will read that file???  i just grabbed it, i just wanted to make sure before i go ahead and fowl anything up royaly!!

~~mike~~

BAH....acu won't even come up!!   No Radio Found!!   bummer..i guess i'll just have to wait for winblowz...i can't believe that i actually have to say i NEED winblowz....what is this world coming too these days!

hehehe

----------

## jcmorris

Yeah, I think you'll save yourself a lot of headaches if you do it from Windows.

jcm

----------

## mkershaw

 *jcmorris wrote:*   

> Yeah, I think you'll save yourself a lot of headaches if you do it from Windows.
> 
> jcm

 

hey man....i'm home from work today and figure'd i'd try to pick up where i left off....

just a shot in the dark, but i have vmware runnin on here......if i slap like xp or something on there...do you think it's a possibility to do the firmware downgrade in vmware??? hehehe  that'd be a nice little loophole if it worked =}

----------

## jcmorris

I don't think you would want to do that.  I'm not entirely sure how VMware works, and so I don't know if it will ruin your card or not.  Just playing it safe  :Cool: 

jcm

----------

## volumen1

Great news!  According to http://bellet.info/~bellet/laptop/t40.html

Update 2004/02/07: The support for the MPI350 card has been integrated in the kernel 2.6.3-rc1 !

Wheee!

----------

