intel prowireless 2200bg


Forum: Networking
Topic: intel prowireless 2200bg
started by: jstueve

Posted by jstueve on Dec. 23 2004,22:53
I've been pulling my hair out trying to get my Intel Prowireless 2200 bg working.  Anyone have any luck getting it to work.

I've tried the control panel ndiswrapper and it loads the windows driver, but it doesn't start a wlan0 device.

the ipw2200.sourceforge.net driver requires a 2.6.x kernel.

frustrated trying to get wirelss working on my laptop... It works fine connected to a ethernet cable, but I want to play from the couch, not the desk. :)

Posted by jstueve on Dec. 23 2004,23:59
it seems that there isn't enough space in the KNOPPIX image for the windows drivers... I'm going to try to do this with a symlink, and see if that might get it working...

course I need to know how to do a symlink... :)

Posted by swissskibum on Mar. 15 2005,14:19
Any joy sir?

I am now embarking on that same fun trip with a 2200bg. Just searching the sites now, but would like to learn from those that have walked that path...

F

Posted by 4hp on Mar. 19 2005,10:19
Any luck getting this to work? :(
Posted by swissskibum on Mar. 19 2005,11:24
All I have found so far is dead ends, saying I must go for 2.6 kernel.

Sorry, having to use copper until someone comes up with a plan.

Posted by gjhicks on April 25 2005,02:55
Hi,

I have been trying both DSl and Feather (another cut-down Knoppix distro) and the following is my almost complete attempt to get the IPW220 working in Feather.  It may help in getting the IPW2200 work in DSL - I would be very pleased if someone can complete the puzzle!

The comments about re-linking files are probably not correct for DSL but the process is (possibly!) correct!

Have had some success in getting the Intel PRO/wireless 2200 centrino wireless device (ipw2200) working in Feather.

In case others want to have a go, below is the story so far:

The sourceforge ipw2200 driver(s) < http://ipw2200.sourceforge.net/ > are designed for the 2.6 kernel, so a patch for the 2.4 kernel is required.

A link to the patch is on the sourceforge ipw2200 page. The most recent patch is for the ipw2200-1.0.1 2.6 kernel driver and is found at < http://dellaric.home.cern.ch/dellaric/ipw2200/. >

The firmware is also available from the sourceforge site.

So, download the driver package, patch and firmware. Copy the firmware files to /usr/lib/hotplug/firmware/

If you have not done so, install gcc, g++ (v 3.3) and make.

Also (now am on dangerous, little understood ground!) you need to re-link a couple of files:

In the default HD install - '/lib/modules/2.4.27/build' is a symlink to (I guess) a file on Rob's development PC. Make the link (I think!) to '/usr/src/kernel-source-2.4.27'. Similarly, the 'build' in '/lib/modules/2.4.27-2-386' should be linked to '/usr/src/kernel-source-2.4.27-2-386'.

Lastly, the file '/usr/src/linux' needs to re-linked. Bearing in mind that I am far from expert, I symlinked this file to '/usr/src/kernel-source-2.2.27'

Well, the above bits and pieces allowed the below 'make install' to run without error. Although, given that the end result was not successful, maybe I screwed up these symlinks?

Untar the driver package, read the included INSTALL file carefully. Copy the patch file to the ipw2200-1.0.1 directory and run:

cd ipw2200-1.0.1/
patch < ipw2200-1.0.1-3.patch

make
make install (as root)


So far so good!

After some "googling" and a fair bit of tinkering, I made the following alterations:

-------------------------------------------------------------------------------
file: /etc/modutils/aliases

# put this instruction in the middle of the file
# it probably should go in another file, as this file gets overwritten!
# please feel free to tell me where it should actually be put

alias eth1 ipw2200

-------------------------------------------------------------------------------

On boot, the ipw2200 adapter was found and recognised. Great.


With the following files altered as follows:
-------------------------------------------------------------------------------
file: /etc/network/interfaces

auto eth1
iface eth1 inet dhcp
wireless_mode Managed
wireless_essid *******
wireless_channel <your channel>
wireless_ap any

-------------------------------------------------------------------------------
file: /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
WIRELESS_MODE=Managed
WIRELESS_ESSID=*******
WIRELESS_CHANNEL=<your channel>


A call to iwconfig gave the following result:
-------------------------------------------------------------------------------
iwconfig eth1

eth1 IEEE 802.11g ESSID:"*******"
Mode:Managed Frequency:2.437 GHz Access Point: 00:0F:3D:BA:70:AA
Bit Rate=54 Mb/s Tx-Power=20 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=42/100 Signal level=-75 dBm Noise level=-83 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:60 Missed beacon:31


However, a call to "pump -i eth1" failed.

Any suggestions gratefully received!

I look forward to someone more knowledgable from the DSl community finishing off this setup!

Regards,

Geoff.

Posted by jmangan on June 29 2005,09:24
I'm new to this problem. Has there been any progress in the last six months?

Oops! I hadn't noticed 'page 2'. Has there been any progress since Aprill then?

Posted by gjhicks on June 30 2005,05:38
Unfortunately, no.

Am still hoping that someone will be able to solve the last part of the puzzle.

Posted by tempestuous on June 30 2005,13:16
A few people on the forums are asking about modifying the kernel to accommodate specific hardware.

There's quite a bit of effort to recompile a kernel, and on a practical note, it would generally be easier to find hardware compatible with your preferred Linux distribution.
But I can see that certain laptops have the IPW2200 chipset onboard, and it would be nice to use this wireless adaptor instead of adding a PCMCIA adaptor.
So if you're really serious, here's what's involved.

First, you need DSL installed to hard drive.
Then you need to install the build tools - gcc1.dsl and gnu-utils.dsl packages.
Then you need the full kernel source (the kernel source from the mydsl download section only has the kernel headers).  The Knoppix/DSL kernel has already been customised, so your new configuration must be based on the the existing kernel configuration ... otherwise you will end up with a system that won't boot.
You can either get the "standard" kernel source from www.kernel.org and apply the Knoppix patches, or get the Knoppix kernel source which is ready-to-go - < http://developer.linuxtag.net/knoppix....all.deb >  (30MB)
Then apply the 2.4 kernel patch for IPW2200, from < http://dellaric.home.cern.ch/dellaric/ipw2200/ >
Then configure your kernel (based on the old configuration) with IPW2200-specific options.
It's over a year since I recompiled a kernel myself (in Fedora) but the important command is "make xconfig" > "LOAD CONFIGURATION FILE ..." which allows you to load the ".config" file which is hopefully present in the source ... or /boot directory.
Then recompile the kernel.
Here's a good reference for this process - < http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html >

If your freshly-made kernel image has the same name as the old one - "linux24" you can just replace the old one and it will be unnecessary to change LILO boot configuration.
And if DSL will successfully boot with the new kernel, you're now ready to compile the IPW2200 driver ... and related utilities.

If this all works OK, and you want to incorporate the new kernel and drivers in a liveCD, you will need to remaster DSL.  Search the forums for instructions.

I hope this helps.

Posted by spring on July 15 2005,03:49
to tempestuous:
  could i compile the ipw2200bg in liveCD or frugral install, i dont have a hdistall, the ipw2200bg drivers' INSTALL guide:
Quote
KERNEL REQUIREMENTS - Crypto Library
---------- --------  ---------    -----     -----      ---      --        -
IPW2200 uses the WEP encryption and decryption algorimths provided
by the Linux kernel.  As such, in order to use WEP you must enable the
Crypto library support (CONFIG_CRYPTO) and the following algorithms:

       ARC4 cipher algorithm (CONFIG_CRYPTO_ARC4)

You also need to enable the following from Library routines:

       CRC32 (CONFIG_CRC32)


Quote
CONFIGURING THE KERNEL
------------ -----   -----       ----       ---       --         -    
You need to enable firmware loading

The kernel must be configured to enable wireless capabilities
(CONFIG_NET_RADIO=y).

Failure to do this will result in the Wireless Tools (iwconfig, iwlist,
etc.) not functioning.

You can check if your kernel is configured with CONFIG_NET_RADIO by
running:

% grep CONFIG_NET_RADIO \
       /lib/modules/`uname -r`/build/include/linux/autoconf.h

You should see the line:

#define CONFIG_NET_RADIO 1

If you have to turn on CONFIG_NET_RADIO in your kernel configuration, make
sure you also rebuild, install, and reboot to the new kernel image.  For help
or instructions on configuring and building the kernel please consult the
documentation contained in your distribution.

if dsl kernel supported above, then it's none need to recompile kernel, and just need kernel-souce to compile ipw2200bg drivers if it' possible do it in liveCD,so i wonder if it's possible to compile in dsl-liveCD.


i make the ipw2200 driver in liveCD:
Quote
make
make -C /lib/modules/2.4.26/build SUBDIRS=/ramdisk/home/dsl/ipw2200-1.0.1 BUILD_DIR=/ramdisk/home/dsl/ipw2200-1.0.1 modules
make[1]: Entering directory `/ramdisk/usr/src/kernel-source-2.4.26'

The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.

make[1]: *** [modules] Error 1
make[1]: Leaving directory `/ramdisk/usr/src/kernel-source-2.4.26'
make: *** [modules] Error 2

i cannot recompile the kernel,yet.
the process of mine:
1.boot from dsl cd
2.apps--tools--enable apt
3.mydsl-browser d/l
kernelsource
gcc1
gnu

4.d/l ipw2200-1.0.1.tgz
d/l fireware
d/l ipw2200-1.0.1-3.patch
d/l the Knoppix kernel source which is ready-to-go -
< http://developer.linuxtag.net/knoppix....all.deb >
5.apt-get install patch and patch the ipw2200-1.0.1 driver
6.relink /lib/modules/2.4.26/build to /usr/src/kernel-source-2.4.26, and relink /usr/src/linux to /usr/src/kernel-source-2.4.26 too,
7.the above is output,
i failed to compile the driver, i'll try to recompile kernel next, or somebody could help me ,point or provide one kernel support the modules,i'll do the rest.

thank you,gjhicks!
i followed you to made my ipw2200bg work good in slax pro 4.2.0.

Posted by tempestuous on July 15 2005,13:54
spring,
Yes, build tools are available for DSL, but I have no experience with them.  And I would only attempt to use them on a hard drive installation.
I prefer a hard drive installation of Knoppix 3.4 as a development environment.

I just downloaded the patch to have a look at it ... and you're right - the patch is for the ipw2200 driver package, not the kernel.  So there's no need to modify and replace DSL's kernel.  But you still need the kernel build tree in place to compile the ipw2200 package.
I just checked DSL's kernel configuration and it satisfies most of the configuration options required by this driver package -
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ARC4=m
CONFIG_CRC32=m

... although the configuration options for optional WPA support are not available -
CONFIG_CRYPTO_AES_586
CONFIG_CRYPTO_MICHAEL_MIC

I don't have the Intel ProWireless myself, but instead of making suggestions, I decided to try the driver build myself.
I will keep you updated.

And by the way, it seems that ndiswrapper just won't work with DSL's 2.4.26 kernel.  gjhicks has tried it extensively, see here -
< http://damnsmalllinux.org/cgi-bin....;t=6747 >

Posted by tempestuous on July 16 2005,01:27
Sorry, the compilation failed for me with error messages.  But the process has possibly cast some light on gjhicks' attempt in Feather -
Geoff, I think your patch command is wrong.

Quote
patch < ipw2200-1.0.1-3.patch


This did not return any meaningful response when I ran it.
What seemed to work for me was being in the same directory as the driver source (/usr/src/ipw2200-1.0.1) then running this -
patch -p1 < /usr/src/ipw2200-1.0.1-3.patch

If I'm right, it means you have compiled the driver package ... without the patch.
Perhaps you could try it again.

Of course, if you're successful, this driver package can only be used in Feather, not DSL, because they have different versions of the kernel.

Posted by spring on July 16 2005,09:08
i compiled in slackware 2.4.26 and slax pro 2.4.28,the patch and driver all work well,so i think the process of gjhacks is right way, and i could patch the driver in my environment, i always compiled the driver in /ipw2200-1.0.1, and patched  them.

thank you,tempestuous ,and thank your try, maybe another try can success,*_^

Posted by tempestuous on July 16 2005,13:39
spring,
So you have already compiled the ipw2200 driver in Slackware with 2.4.26 ... fantastic.
My understanding is that linux drivers are kernel-specific, so you should be able to just copy this driver across to DSL, and not have to bother compiling it again in DSL.

I think the files you need will be -
/lib/modules/2.4.26/xxxxx/ipw2200.o
/usr/lib/hotplug/firmware/ipw....

Then run "update-modules" as root so the operating system can find the new driver.

If it works, I'm sure gjhicks will want these files, too.
You might consider making a dsl package ... instructions here -
< http://www.damnsmalllinux.org/talk/node/185 >
Upload to extensions|AT|damnsmalllinux|DOT|org

Posted by spring on July 17 2005,10:53
thank you tempestuous,that's a good way to make .dsl, but the ipw2200.dsl failed in modprobe.

i've made a ipw2200.dsl like this way:
1,cp ipw2200.o and other five files (ieee80211.o ieee80211_crypt.o ieee80211_crypt_ccmp.o ieee80211_crypt_tkip.o ieee80211_crypt_wep.o)to /ramdisk/lib/modules/2.4.26/kernel/drivers/net/wireless.
2.cp fireware files to /ramdisk/usr/lib/hotplug/fireware/
3.create a fireware.agent like this:
Quote
#!/bin/sh
#
# Firmware-specific hotplug policy agent.
#
# Kernel firmware hotplug params include:
#
#       ACTION=%s [add or remove]
#       DEVPATH=%s [in 2.5 kernels, /sys/$DEVPATH]
#       FIRMWARE=%s
#
# HISTORY:
#
# 24-Jul-2003   Initial version of "new" hotplug agent.
#
# $Id: firmware.agent,v 1.1 2003/10/07 19:34:19 kroah Exp $
#

cd /etc/hotplug
. hotplug.functions
# DEBUG=yes export DEBUG

# directory of the firmware files
FIRMWARE_DIR=/usr/lib/hotplug/firmware

# mountpoint of sysfs
SYSFS=$(sed -n 's/^.* \([^ ]*\) sysfs .*$/\1/p' /proc/mounts)

# use /proc for 2.4 kernels
if [ "$SYSFS" = "" ]; then
   SYSFS=/proc
fi

#
# What to do with this firmware hotplug event?
#
case "$ACTION" in

add)
   if [ ! -e $SYSFS/$DEVPATH/loading ]; then
       sleep 1
   fi

   if [ -f $FIRMWARE_DIR/$FIRMWARE ]; then
       echo 1 > $SYSFS/$DEVPATH/loading
       cp $FIRMWARE_DIR/$FIRMWARE $SYSFS/$DEVPATH/data
       echo 0 > $SYSFS/$DEVPATH/loading
   else
       echo -1 > $SYSFS/$DEVPATH/loading
   fi

   ;;

remove)
   ;;

*)
   mesg "Firmware '$ACTION' event not supported"
   exit 1
   ;;

esac

i cp my slackware's file to /etc/hotplug/, then made ipw2200.dsl, and reboot my box,
then run update-modules as root:
Quote
dsl@box:~$ sudo update-modules
depmod: *** Unresolved symbols in /lib/modules/2.4.26/kernel/drivers/net/wireless/ieee80211_crypt_tkip.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/drivers/usb/auerswald.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/drivers/usb/speedtch.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/net/bridge/bridge.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/net/sctp/sctp.o
dsl@box:~$ sudo modprobe ipw2200
/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2200.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
     You may find more information in syslog or the output from dmesg
/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2200.o: insmod /lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2200.o failed
/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2200.o: insmod ipw2200 failed
dsl@box:~$ dmesg

ieee80211_crypt: registered algorithm 'NULL'
ipw2200: Intel® PRO/Wireless 2200/2915 Network Driver, 1.0.1-3
ipw2200: Copyright© 2003-2004 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: ipw-2.2-boot.fw load failed: Reason -2
ipw2200: Unable to load firmware: 0xFFFFFFFE
ipw2200: failed to register network device
ieee80211_crypt: unregistered algorithm 'NULL' (deinit)
dsl@box:~$


there was something wrong, i reboot my box again and modprobe ipw2200 got the same message.:(

Posted by tempestuous on July 17 2005,23:17
Good attempt, it looks like you came close to success.  Of the 6 modules you copied across to DSL, only one gave a "depmod: *** Unresolved symbols" error message.

In your dmesg I see "Unable to load firmware".  Maybe you could try another firmware.agent script.  Here's one for the ipw2100 - < http://damnsmalllinux.org/cgi-bin....;t=4291 >
This script is just slightly different to yours.

... also, I don't suppose there's a configuration file hiding somewhere we didn't think about?  It's sheer guesswork, but I imagine such a file to be called "ipw2200.conf" or "ipw2200.opt".
What about doing a search on your Slackware installation for files named "ipw*" ??

Posted by tempestuous on July 18 2005,09:18
I just checked < http://ipw2200.sourceforge.net/ >
If you follow the "Issues" link you will see a description of almost exactly the same error - "Firmware files fail to load even if installed".
Their suggestion is to increase the default timeout value, as such -
echo 100 > /sys/class/firmware/timeout

Quote
2.cp fireware files to /ramdisk/usr/lib/hotplug/fireware/
3.create a fireware.agent like this:

... and just checking a typographical error here - you meant "firmware", not "fireware", right.

Posted by spring on July 20 2005,12:35
now my laptop hang up when modprobe ipw2200,failed again, :(
thank you tempestuous.

Posted by tempestuous on Sep. 25 2005,07:16
Good news ... possibly.  I have compiled the IPW2200 driver for DSL.

I recently helped a colleague get this driver working in a different Linux distribution, and we learned some crucial information about some necessary support files.  So there's a good chance that the driver will now work in DSL too, but I don't have the IPW2200 wireless adaptor myself to test it.

Of the 10 or so people on this forum who have been asking for this driver, I'm sure someone will want to try it.
Please email me via this forum and I will send the driver package (it's about 1MB) with instructions.

If the driver works OK, I will then upload it somewhere permanently.

Posted by spring on Sep. 28 2005,07:54
good news!
i can test that driver.
gan__quan@163.com

Posted by spring on Sep. 28 2005,14:31
dsl@box:~$ sudo su
root@ttyp0[dsl]# cd /lib/modules/2.4.26
root@ttyp0[2.4.26]# cp modules.dep tmp1
root@ttyp0[2.4.26]# cp modules.generic_string tmp2
root@ttyp0[2.4.26]# cp modules.pcimap tmp3
root@ttyp0[2.4.26]# cp modules.isapnpmap tmp4
root@ttyp0[2.4.26]# cp modules.usbmap tmp5
root@ttyp0[2.4.26]# cp modules.parportmap tmp6
root@ttyp0[2.4.26]# cp modules.ieee1394map tmp7
root@ttyp0[2.4.26]# cp modules.pnpbiosmap tmp8
root@ttyp0[2.4.26]# rm -rf modules.dep modules.generic_string modules.pcimap modules.isapnpmap modules.usbmap modules.parportmap modules.ieee1394map modules.pnpbiosmap
root@ttyp0[2.4.26]# mv  tmp1 modules.dep
root@ttyp0[2.4.26]# mv  tmp2 modules.generic_string
root@ttyp0[2.4.26]# mv  tmp3 modules.pcimap
root@ttyp0[2.4.26]# mv  tmp4 modules.isapnpmap
root@ttyp0[2.4.26]# mv  tmp5 modules.usbmap
root@ttyp0[2.4.26]# mv  tmp6 modules.parportmap
root@ttyp0[2.4.26]# mv  tmp7 modules.ieee1394map
root@ttyp0[2.4.26]# mv  tmp8 modules.pnpbiosmap
root@ttyp0[2.4.26]# depmod
depmod: *** Unresolved symbols in /lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2200/ieee80211_crypt_tkip.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/drivers/usb/auerswald.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/drivers/usb/speedtch.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/net/bridge/bridge.o
depmod: *** Unresolved symbols in /KNOPPIX/lib/modules/2.4.26/kernel/net/sctp/sctp.o
root@ttyp0[2.4.26]# modprobe ipw2200
/KNOPPIX/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100/ipw2100.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
     You may find more information in syslog or the output from dmesg
/KNOPPIX/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100/ipw2100.o: insmod /KNOPPIX/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100/ipw2100.o failed
/KNOPPIX/lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100/ipw2100.o: insmod ipw2200 failed
root@ttyp0[2.4.26]# dmesg
ieee80211_crypt: registered algorithm 'NULL'
hostap_crypt: registered algorithm 'NULL'
ipw2100: Intel® PRO/Wireless 2100 Network Driver, 0.44
ipw2100: Copyright© 2003-2004 Intel Corporation
hostap_crypt: unregistered algorithm 'NULL' (deinit)
ieee80211_crypt: unregistered algorithm 'NULL' (deinit)


same as my driver:(

Posted by tempestuous on Sep. 28 2005,22:40
spring,
I see quite a few references to "ipw2100" ... and now I realise there are existing ipw2100 drivers in DSL.  I suspect these may be interfering with our ipw2200 drivers, so I think you should delete them just before running "depmod" -

rm -rf /lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100

See if that helps.

Posted by spring on Sep. 29 2005,23:46
after rm -rf /lib/modules/2.4.26/kernel/drivers/net/wireless/ipw2100
then cp and mv mod and tmp
then depmod
then modprobe -r ipw2100
then modprobe ipw2200
my box hang up........:(


same as my driver
dsl's kernel could not support the ipw2200 driver,maybe upgrade kernel to 2.4.27 can support this.

Posted by tempestuous on Sep. 30 2005,00:42
Damn!
I'm determined to fix this.  Perhaps I will wait until I get an Intel PRO/Wireless adaptor to test things myself.
But if you want to experiment further yourself, I have 3 suggestions -

1. The order of the modules may be important, so try this (from the ipw2200 README) -

sudo su
modprobe ieee80211
modprobe firmware_class
insmod ipw2200

2. One of the sub-modules being loaded by the ipw2200 module may be causing the problem - the main suspect would be ieee80211_crypt_tkip.o.
So you could try deleting each of these sub-modules, before "depmod"

3. Maybe the very latest firmware.agent would help.  It's part of the hotplug source .gz from < http://sourceforge.net/project/showfiles.php?group_id=17679 >

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.