tuxx Posted October 6, 2005 Share Posted October 6, 2005 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 Link to comment Share on other sites More sharing options...
kaiwei Posted October 6, 2005 Share Posted October 6, 2005 Awesome! Hope to get it working someday. In the mean time, great job! Link to comment Share on other sites More sharing options...
mortis Posted October 6, 2005 Share Posted October 6, 2005 gReat Work TUXX! pleas MAXXUS, take a look at this project! should be a first priority for most laptop users Link to comment Share on other sites More sharing options...
outsida Posted October 6, 2005 Share Posted October 6, 2005 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. Link to comment Share on other sites More sharing options...
tonyl Posted October 7, 2005 Share Posted October 7, 2005 Great job, man! Link to comment Share on other sites More sharing options...
tuxx Posted October 7, 2005 Author Share Posted October 7, 2005 does maxxus even have such a device? or is he even remotely interrested in getting this working? cheers, tuxx Link to comment Share on other sites More sharing options...
Murzilka Posted October 8, 2005 Share Posted October 8, 2005 Hi tuxx! If You have a centrino-based notebook, maybe you can recompile 855patch program to get QuarzExtreme to work? Link to comment Share on other sites More sharing options...
meddlingBanter Posted October 8, 2005 Share Posted October 8, 2005 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. Link to comment Share on other sites More sharing options...
tuxx Posted October 8, 2005 Author Share Posted October 8, 2005 $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 Link to comment Share on other sites More sharing options...
chrisc Posted October 8, 2005 Share Posted October 8, 2005 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. Link to comment Share on other sites More sharing options...
tuxx Posted October 8, 2005 Author Share Posted October 8, 2005 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? Link to comment Share on other sites More sharing options...
chrisc Posted October 9, 2005 Share Posted October 9, 2005 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. Link to comment Share on other sites More sharing options...
mortis Posted October 9, 2005 Share Posted October 9, 2005 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? Link to comment Share on other sites More sharing options...
tuxx Posted October 9, 2005 Author Share Posted October 9, 2005 just comment out those lines with // #include <kern/lock.h // typdef mutex_t ieee80211_lock_t Link to comment Share on other sites More sharing options...
mortis Posted October 10, 2005 Share Posted October 10, 2005 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.: Kismac´s file https://opensvn.csie.org/viewcvs.cgi/KisMAC...rev=67&view=log Link to comment Share on other sites More sharing options...
chrisc Posted October 10, 2005 Share Posted October 10, 2005 Thank you! Now it is working as a pci-network-card! thx, chrisc. Link to comment Share on other sites More sharing options...
outsida Posted October 10, 2005 Share Posted October 10, 2005 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? Link to comment Share on other sites More sharing options...
tuxx Posted October 10, 2005 Author Share Posted October 10, 2005 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 Link to comment Share on other sites More sharing options...
chrisc Posted October 11, 2005 Share Posted October 11, 2005 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. Link to comment Share on other sites More sharing options...
don Posted October 15, 2005 Share Posted October 15, 2005 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 Link to comment Share on other sites More sharing options...
borez Posted October 15, 2005 Share Posted October 15, 2005 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.. Link to comment Share on other sites More sharing options...
outoftheboxx10 Posted October 19, 2005 Share Posted October 19, 2005 any new news?(bump) Link to comment Share on other sites More sharing options...
Nathaniel Posted October 25, 2005 Share Posted October 25, 2005 Thanks for working on this. I hope you get it functional. Link to comment Share on other sites More sharing options...
mortis Posted October 25, 2005 Share Posted October 25, 2005 sadly, this very important project seems to be dead...... Link to comment Share on other sites More sharing options...
Urbz Posted October 25, 2005 Share Posted October 25, 2005 yeah seriously ... any news??? Link to comment Share on other sites More sharing options...
Recommended Posts