Jump to content

Intel (R) PRO/Wireless 2200B/2915


  • This topic is locked This topic is locked
382 replies to this topic

#1
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male
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.n...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.sourc...et/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.sourc...et/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

#2
kaiwei

kaiwei

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts
Awesome!

Hope to get it working someday. In the mean time, great job!

#3
mortis

mortis

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 160 posts
gReat Work TUXX!


pleas MAXXUS, take a look at this project!

should be a first priority for most laptop users

#4
outsida

outsida

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts
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.

#5
tonyl

tonyl

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
Great job, man!

#6
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male
does maxxus even have such a device? or is he even remotely interrested in getting this working?

cheers,
tuxx

#7
Murzilka

Murzilka

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
Hi tuxx!

If You have a centrino-based notebook, maybe you can recompile 855patch program to get QuarzExtreme to work?

#8
meddlingBanter

meddlingBanter

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
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.

#9
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male

$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

#10
chrisc

chrisc

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
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.

#11
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male

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?

#12
chrisc

chrisc

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
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.

#13
mortis

mortis

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 160 posts
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?

#14
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male
just comment out those lines with

// #include <kern/lock.h
// typdef mutex_t ieee80211_lock_t

#15
mortis

mortis

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 160 posts
regarding Ieee80211:
I assume you have already taken a look at projects such as Kismac, Netstumbler and WirelessDriver.
They seem to have a reversed-engeniered apple80211.h file
ie.: Kismacs file
https://opensvn.csie...rev=67&view=log

#16
chrisc

chrisc

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Thank you! Now it is working as a pci-network-card! thx, chrisc.

#17
outsida

outsida

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts

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?

#18
tuxx

tuxx

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male

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

#19
chrisc

chrisc

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
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.

#20
don

don

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
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.n...ojects/ipw2200/ just a thought





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy