Jump to content
3992 posts in this topic

Recommended Posts

Hey, I got my working on a Dell Latutide D600:

 

Intel Pentium M 1.8 Ghz

1 gig Ram

Ati Radeon 9000

Sound Sigmatel

Intel Pro BG2200

20GB Hard drive

LCD SXGA 14.1 inch

USB 2.0

 

I installed the iwi2200, it detected the mini pci card, but had problem connecting, it detected every network, but never got an IP address, so I open 'System Prefereses' and open 'network' and set the networks to automatic protocols for the IP to auto be assign and now it works.

 

Good Luck to everyone.

I haven't tried it in 10.4 yet, no. My system has an X3100, which only works in Leopard.

 

I've mostly been trying to get the Apple80211 code working. I suspect that in Leopard, how these drivers need to be written has changed. Both of the IO80211Family drivers have very large apple80211Request methods that appear to be switch() statements that function as ioctls. This is in contrast to how it would work before, where the system would call your e.g. getSSID() routine; you have to call it yourself now.

 

I understand some of what's going on. As an example, I'm still not sure where the Airport system is getting the MAC address from, as it's certainly not calling getHardwareAddress(). I'm also still not sure how one reports the results from a setSCAN_REQ(). Other drivers seem to return the results by calling fNetif->postMessage(0xA), but I haven't investigated that too much.

 

A note about my setup: I generally build either in xcode, or (when running in console or single-user mode) by running xcodebuild. Then I run sudo ./myload.command, which unloads the driver, renames the built driver, changes ownership, and kextloads it. This can be useful for reading kernel panics, as they neither show up on the screen, nor is there nvram to write them to in order for crashreporter to save them.

 

Also, somehow I've managed to fix the resource issue I was having, and it now seems to properly kextunload once more.

iwi3945.tar.gz

I installed the iwi2200, it detected the mini pci card, but had problem connecting, it detected every network, but never got an IP address, so I open 'System Prefereses' and open 'network' and set the networks to automatic protocols for the IP to auto be assign and now it works.

 

Mine is woking pretty good. I can get ip address etc.... with WEP 128 using ascii passphrase. Really a good work ;)

No, the 3945 drivers do not yet work. The code I've posted merely does two things: First, it does preliminary initialization of the card, including setting up the interrupt handler and waking up the card itself. Second, it tries to fool the OS into thinking there is an actual Airport card installed.

 

Once I've figured out how the Airport API works, I can continue to port the iwlwifi-1.2.23 drivers from Linux, like jalavoui has been doing.

x Symuc: your attachments is only the project.. can you compile for us and we test it? i've tried the iwi3945_v4.dmg posted same posts ago, and i find that the computer doesn't go in KP, but said that it can't load that extensions... with terminal too it said that the iwi3945 extension appears to be lodable, but he can't load it and he print a series of letter...

Bye!

If you'd like to try a binary version of what I have so far, sure. Though as I said, it'll do next to nothing except load. You ought to see your MAC address scroll by in either the dmesg, or in the Console.app output (as well as a line beginning with "iwi3945_darwin" containing what is obviously not your MAC address.) If it's loaded at startup, you also should see an Airport menuitem, and once loaded you should see an Airport item in the System Preferences program.

 

It oughtn't crash, but if it does I'd like to know.

 

I haven't tested it, as I'm booted into Ubuntu at the moment, but you should be able to double-click the "load.command" file, put in your password, and have the kext load.

 

I'd be curious to know if it does crash.

iwi3945_wip.tar.gz

Symuc,

 

my port was taken from iwlwifi-1.0.0

i find this in the intel "stable" drivers.

i like this version because it allows writting code for both 3945/4965.

latest iwlwifi versions as split the code in 2 - one for 3945 and other for 4965

it's ok to use latest iwlwifi code but it will be hard to write code for the 4965 - i hope someone with this card join the project.

 

i'd like to see a driver for both 3945/4965

If you'd like to try a binary version of what I have so far, sure. Though as I said, it'll do next to nothing except load. You ought to see your MAC address scroll by in either the dmesg, or in the Console.app output (as well as a line beginning with "iwi3945_darwin" containing what is obviously not your MAC address.) If it's loaded at startup, you also should see an Airport menuitem, and once loaded you should see an Airport item in the System Preferences program.

 

It oughtn't crash, but if it does I'd like to know.

 

I haven't tested it, as I'm booted into Ubuntu at the moment, but you should be able to double-click the "load.command" file, put in your password, and have the kext load.

 

I'd be curious to know if it does crash.

 

 

I!! i've installed the iwi3945.kext by kext helper (beacuse the load.command don't find the file) and it see the intel3945 as an'airport...

It can't find my MAC address, but... THE OS NOT CRASH!! I've posted a photo... PS: i can't disable airport... i push on Disable Airport, but nothing happens...

BYE!!! We are soon to have a intel 3945 working on Leopard!!!!!

Airport.tiff

some comments on latest 3945 code:

 

you should add in start() - this calls check_firstup() with 1 second delay

 

queue_te(12,OSMemberFunctionCast(thread_call_func_t,this,&darwin_iwi3945::check_firstup),priv,1000,true);

 

this allows iwl_bg_up() to get called and start the loading firmware, enable interrupts, etc code.

this will make the driver start doing more usefull things.

 

use the queue_te() from latest iwi2200 source - they're quite stable

 

if you have bugs in powering the card on use the WiFiPower.cpp from iwi2200

 

you can try to use workqueue->runAction() instead of queue_te() but unless you can make the workqueue->runAction() run with a delay it's better use queue_te().

 

don't use locks/mutex at this time - you'll get some hard bugs. after the driver is stable you can try to use them later. i've disabled them in iwi2200.

 

darwin_iwi3945::free(void)

if you like to use kextunload you need to make this work - this give to much work. better to restart the computer and use kextload.

 

do you need the file ipw3945.h? it seems to be from old linux driver - if it as old definitions it's better to ger rid of it.

 

apple80211Request() this is very interesting. maybe this is the key to make the driver work with the io80211controller.

 

you still have to write lots of code in order to port the linux code.

since i've done this in the past i can give some advice

instead of put the code in iwi3945.cpp try to use the original linux files as i did on the svn version.

if you do this you will have iwi3945.cpp for mac os x specific code and iwl-xxx.cpp files for driver specific needs.

this also will help in the future to write code for the 4965 card

 

send me a gmail address so i can add you to iwidarwin as an admin

 

keep up the good work

Joeandmat

Great! :) Many people wait for your success with this!

 

jalavoui

Thank you for many ideas and good support!

 

I hope, that you can, guys! :) So many people need this driver... :) It's pitty, that I can't support you with programing... (

Russian hackintosh users with unworkable 3945 cards thanks you! )

This is a very good thing!!!

 

 

I!! i've installed the iwi3945.kext by kext helper (beacuse the load.command don't find the file) and it see the intel3945 as an'airport...

It can't find my MAC address, but... THE OS NOT CRASH!! I've posted a photo... PS: i can't disable airport... i push on Disable Airport, but nothing happens...

BYE!!! We are soon to have a intel 3945 working on Leopard!!!!!

Thanks goes to Symuc! i've only tested and reported the output... But now doesn't works... i hope that symuc repair those issue...

Symuc, if you want a tester, i'm here! Contact me by PM, and i'll answer you soon...

BYE and thanks for your hard works!

Symuc: now the airport list me another mac address: i report what terminal output when i do ifconfig en1

bash-3.2# ifconfig en1
en1: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
ether 53:00:68:7c:15:2e 
media: autoselect status: inactive
supported media: none autoselect DS1 DS2 DS5 DS11 autoselect <unknown type>

but the string after ether is not my MAC address...

I hope that you solve the problems and get the intel 3945 works for all the world!

BYE!

Hello

 

I install the kext with kext helper but when I reboot, no new airport card found (and so, no new card detected). I know it's a pré-beta release but I probably do a mistake. If someone can help me...

 

That's I've got when I do a kextload...

sh-3.2# kextload /System/Library/Extensions/iwi3945.kext

kextload: cannot resolve dependencies for kernel extension /System/Library/Extensions/iwi3945.kext
error loading extension /System/Library/Extensions/iwi3945.kext

 

I'm running leopard 10.5.1 kalyway on a hp dv5245 notebook.

dont want to sound like a noob.... but im fairly new to the Haxintel/mak

 

how can i load the kext?

i copied the kext to the /Extensions folder and then console this :

 

cd /System/Library/Extensions

sudo chown -R root:wheel iwi3945.kext

sudo chmod -R 755 iwi3945.kext

sudo rm -f /System/Library/Extensions.mkext

sudo rm -f /System/Library/Extensions.kextcache

 

diskutil repairPermissions /

 

correct me if im wrong!!??

thank you.. you guys are freaking smart !!!!!

I've posted a photo... PS: i can't disable airport... i push on Disable Airport, but nothing happens...

 

Thanks for posting the picture. My system has a Broadcom ethernet driver in it, so I didn't know if it would work with another interface in the system. By the way, yes I know that the "Disable Airport" button doesn't work. Right now it's hard-coded to report that the card has powered up. Once we get the card functioning, I'll make it report the actual card state.

 

@jalavoui - thanks for the suggestions. I was wondering why some of the design choices were made, like commenting out all of the locks, or the priv/priv2 members. apple80211Request() is a very large function in both IO80211Family drivers, reaching almost 4k in each. In both cases, it's a giant switch() statement.

 

Has anybody else built a working Airport driver? It seems as though Apple released the headers for Leopard, but I haven't been able to find anyone else actually using them, other than iwidarwin.

Guest
This topic is now closed to further replies.
×
×
  • Create New...