Jump to content
tuxx

Intel (R) PRO/Wireless 2200B/2915

383 posts in this topic

Recommended Posts

EDIT:

 

THESE DRIVER INSTRUCTIONS ARE OUTDATED AND OLD. THE DRIVER HAS UNDERGONE FURTHER DEVELOPMENT AND CAN BE FOUND AT:

 

http://code.google.com/p/iwidarwin/

 

 

 

Hi everyone,

 

as you may know I've been working on the iwi2200 drivers.. many of you may think this is {censored} since until now nothing has been released or reported working. But here is proof :) and the first release of a somewhat functional driver which is based on the freebsd iwi driver (the fbsd equivilant to the linux ipw)

 

Here to fill you in on the current project status of what i have managed to do:

 

- firmware is loaded

- ucode is loaded

- card is initialized

- basic (but faulty) Rx/Tx Queues are setup

- first attempts to scan for available accesspoints have invoked a recieve interrupt

- however no AP association is functional as yet

 

The current problem I am having is implementing Ieee80211 specific routines as there is no open Ieee80211 framework provided by darwin. Another major problem is the lack of time due to the upcoming semester and the exams that come along with it.

 

How you can help:

 

- You can't! Unless you are familiar with programming or Ieee80211.. please dont email me offering your "testing" support. I apprechiate it but I have more than enough of those. thanks ;)

 

Where to download it:

 

http://sf.net/projects/iwi2200 and go to "Files"

or directly to:

http://sourceforge.net/project/showfiles.p...group_id=147845

 

If you feel fit to help just drop me a private message here (i dont feel like disclosing my email to a public forum)

 

 

 

 

Here are the requirements to get it working:

- XCode 2.x (available from Apple free of charge if you signup on http://developer.apple.com/)

- The ipw firmware which cannot be freely distributed with the project... for this reason you will have to download it at: http://ipw2200.sourceforge.net/firmware.php

- Some minimal knowledge of how to use a unix terminal

 

 

 

Lets get it compiled:

first step is to download the firmware at http://ipw2200.sourceforge.net/firmware.php (i used version 2.4) and copy the ipw-*.fw files into iwi2000/firmware/. In that directory you will find a file called hex2string. hex2string will generate a C-String headers out of the firmware files: All you need to do is:

$> cd iwi2200/firmware

$iwi2200/firmware> ./hex2string ipw-2.4-boot.fw iwi_boot > iwi_boot.fw.h

$iwi2200/firmware> ./hex2string ipw-2.4-bss.fw iwi_bss > iwi_bss.fw.h

$iwi2200/firmware> ./hex2string ipw-2.4-bss_ucode.fw iwi_ucode_bss > iwi_ucode_bss.fw.h

 

(If you use a different version from 2.4 just replace the 2.4 with the version you downloaded.)

 

once you've created the required headers return back to the root of the iwi2200 directory with

$iwi2200/firmware> cd ..

 

now its time to compile the actual driver by using the Makefile:

$iwi22000> make

 

If this was successful then you got lucky!! To load the driver type:

$iwi2200> ./load

 

and you should read something like this:

kextunload: unload kext ./build/Default/iwi2200.kext failed

kextload: ./build/Default/iwi2200.kext loaded successfully

 

 

check dmesg for the driver generated output and check if your device shows up in ifconfig by typing:

$iwi2200> dmesg

$iwi2200> ifconfig -a

 

 

 

Good Luck, happy hacking...

 

 

Joel Thomas

 

P.S. Dont think this driver is acctually working yet. It still needs some more work. Its ment for developers, the curious and the impatient

Share this post


Link to post
Share on other sites
Advertisement

Yes, if you and maxxuss can work together this project could be spedup and maybe even have proof of concept by the end of the month.

Share this post


Link to post
Share on other sites

does maxxus even have such a device? or is he even remotely interrested in getting this working?

 

cheers,

tuxx

Share this post


Link to post
Share on other sites

Just thought I would point out, your directions on this website are not quite the same as the read me file you included with the drivers. The line

 

$iwi2000/firmware> ./hex2string ipw-2.4-bss.fw iwi_ibss > iwi_bss.fw.h

 

should be

 

$iwi2000/firmware> ./hex2string ipw-2.4-bss.fw iwi_bss > iwi_bss.fw.h

 

In fact, if you follow the directions in your readme file, or on this forum and the 360hacker forum your build will fail each time. Just thought you should correct the problem. Most trying this out would probably figure this out after a while.

Share this post


Link to post
Share on other sites
$iwi2000/firmware> ./hex2string ipw-2.4-bss.fw iwi_ibss > iwi_bss.fw.h

 

should be

 

$iwi2000/firmware> ./hex2string ipw-2.4-bss.fw iwi_bss > iwi_bss.fw.h

 

problem fixed.. thanks for correcting that

Share this post


Link to post
Share on other sites

hi. i've installed xcode 2.1. when i type the make command and execute it (i followed the instructions given in the topic) i get the following error:

 

xcodebuild

=== BUILDING NATIVE TARGET iwi2200 WITH CONFIGURATION Default ===

 

PBXCp build/Default/iwi2200.kext/Contents/Info.plist build/iwi2200.build/Default/iwi2200.build/Info.plist

mkdir /iwi2200/build/Default/iwi2200.kext/Contents

cd /iwi2200

/System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -strip-debug-symbols -resolve-src-symlinks /iwi2200/build/iwi2200.build/Default/iwi2200.build/Info.plist /iwi2200/build/Default/iwi2200.kext/Contents

 

CompileC build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386/iwi2200_info.o build/iwi2200.build/Default/iwi2200.build/DerivedSources/iwi2200_info.c normal i386 c com.apple.compilers.gcc.4_0

mkdir /iwi2200/build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386

cd /iwi2200

/usr/bin/gcc-4.0 -x c -arch i386 -pipe -Wno-trigraphs -fasm-blocks -Os -Wreturn-type -Wunused-variable -fmessage-length=0 -I/iwi2200/build/iwi2200.build/Default/iwi2200.build/iwi2200.hmap -F/iwi2200/build/Default -F/System/Library/PrivateFrameworks -I/iwi2200/build/Default/include -I/System/Library/Frameworks/Kernel.framework/PrivateHeaders -I/System/Library/Frameworks/Kernel.framework/Headers -I/iwi2200/build/iwi2200.build/Default/iwi2200.build/DerivedSources -fno-common -nostdinc -fno-builtin -finline -fno-keep-inline-functions -force_cpusubtype_ALL -fno-exceptions -msoft-float -static -DKERNEL -DKERNEL_PRIVATE -DDRIVER_PRIVATE -DAPPLE -DNeXT -DBSD_BUILD -c /iwi2200/build/iwi2200.build/Default/iwi2200.build/DerivedSources/iwi2200_info.c -o /iwi2200/build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386/iwi2200_info.o

 

CpResource build/Default/iwi2200.kext/Contents/Resources/English.lproj/InfoPlist.strings English.lproj/InfoPlist.strings

mkdir /iwi2200/build/Default/iwi2200.kext/Contents/Resources/English.lproj

cd /iwi2200

/System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -strip-debug-symbols -resolve-src-symlinks /iwi2200/English.lproj/InfoPlist.strings /iwi2200/build/Default/iwi2200.kext/Contents/Resources/English.lproj

 

CompileC build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386/iwi2200.o iwi2200.cpp normal i386 c++ com.apple.compilers.gcc.4_0

mkdir /iwi2200/build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386

cd /iwi2200

/usr/bin/gcc-4.0 -x c++ -arch i386 -pipe -Wno-trigraphs -fasm-blocks -Os -Wreturn-type -Wunused-variable -fmessage-length=0 -fapple-kext -I/iwi2200/build/iwi2200.build/Default/iwi2200.build/iwi2200.hmap -F/iwi2200/build/Default -F/System/Library/PrivateFrameworks -I/iwi2200/build/Default/include -I/System/Library/Frameworks/Kernel.framework/PrivateHeaders -I/System/Library/Frameworks/Kernel.framework/Headers -I/iwi2200/build/iwi2200.build/Default/iwi2200.build/DerivedSources -fno-common -nostdinc -fno-builtin -finline -fno-keep-inline-functions -force_cpusubtype_ALL -fno-exceptions -msoft-float -static -fno-rtti -fcheck-new -DKERNEL -DKERNEL_PRIVATE -DDRIVER_PRIVATE -DAPPLE -DNeXT -DBSD_BUILD -c /iwi2200/iwi2200.cpp -o /iwi2200/build/iwi2200.build/Default/iwi2200.build/Objects-normal/i386/iwi2200.o

In file included from /iwi2200/iwi2200.h:50,

from /iwi2200/iwi2200.cpp:59:

/iwi2200/iwi_ieee80211.h:29:23: error: kern/lock.h: No such file or directory

/iwi2200/iwi_ieee80211defs.h:118: error: 'mutex_t' does not name a type

** BUILD FAILED **

make: *** [all] Error 1

 

what did i do wrong? could you nplease help me? thanks a lot! chrisc.

Share this post


Link to post
Share on other sites
what did i do wrong? could you nplease help me? thanks a lot! chrisc.

 

you're missing some SDK i guess.. try installing BSDSDK.pkg or something

 

or just try commenting out those headers?

Share this post


Link to post
Share on other sites

Well, first of all, thank you tuxx. alas, it did not help. i installed every package but some printer drivers. when i installed some SDK-Packages again, installer said it woul upgrade, so i guess the sdk-files are rightly installed on my system. any other guess what is wrong with my system / why i cannot compile the driver? thx, chrisc.

Share this post


Link to post
Share on other sites

Chrisc:

I got the same errors (missing kern/lock.h and mutex_t) while trying to build the sourc-code posted at svn (svn co http://muhkuh.at/svn/iwi2200 iwi2200).

I recieved a file from tuxx that corrected those issues. I belive it is the same file posted as a pre-alpha release in sourceforge.net

 

are you triying from that file?

Share this post


Link to post
Share on other sites

just comment out those lines with

 

// #include <kern/lock.h

// typdef mutex_t ieee80211_lock_t

Share this post


Link to post
Share on other sites
Thank you! Now it is working as a pci-network-card! thx, chrisc.

What card!? Is it working in full? can you connect to AP? can you upload the compiled files?

Share this post


Link to post
Share on other sites
What card!? Is it working in full? can you connect to AP? can you upload the compiled files?

 

geezes read above.. i even wrote in BOLD letters that this driver is purely a development driver... its not fully implemented and it doesnt work yet...

 

Thank you! Now it is working as a pci-network-card! thx, chrisc.

 

no sorry I'm sorry but its _not_ working yet

Share this post


Link to post
Share on other sites

sorry for confusing. i just wanted to say that it has been compiles and that os x has recognized a new pci-card as network-controller.

Share this post


Link to post
Share on other sites
im no programer by any streach of the imagination so this is probobly just stupidity talking but couldent you, in theory mind you possibly use a linux/unix driver for this wireless card? I found this on sourceforge.net http://sourceforge.net/projects/ipw2200/ just a thought

 

Erm, I think if you see the threadstarter's 1st post, I think some parts of the ipw driver are included.. :)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×