Jump to content
3992 posts in this topic

Recommended Posts

hi, i'm no programmer but tried installing iwi3495... can't see any networks or airport, just firewire network and buit-in ehternet. i've got the intel pro/wireless running on an HP dv8327 and JAS 10.4.8

 

can anyone help me? i'm not too technical but do my best to follow instructions.

iwi2100 and iwi3945

 

thanks for the logs - we're getting progress here :)

 

i noticed that some of you are testing this drivers with others networks pluged in - don't do that - unplug all other networks before testing.

 

i also think that you should disable the bluetooth extensions - it shure interferes with the iwi driver

 

if you have the "wireless button" you should be hable to turn the card on/off just like my card

 

i'd like to know if the iwi2100 is reporting the right mac address?

 

after aplying the changes you should see the card in system preferences with the right mac address

 

OK, I've unplugged the cable and disabled bluetooth before testing. Sorry, you wrote it earlier but I forget to do it...

 

iwi2100 reports the right MAC address.

 

In System Preferences I can see my card as Airport device but it is not connected to my open network.

dmesg.txt

system.log.txt

ioreg.txt

Question is: how did you change/edit the info.plist: after changing the .plist file: did you chmod and chown again:

 

cd /System/Library/Extensions

chmod -R 755 iwi2200.kext

chown -R root:wheel iwi2200.kext

 

After this also remove the two files "Extensions.mkext" and "Extensions.kextcache" found inside /System/Library before rebooting...

 

I tried the suggestions above and it works like a dream. Thanks

Ive done the: ipw_handle_data_packet_monitor function. But stuck on ipw_handle_data_packet

Can anyone tell me what to change this to? param_hwcrypto?

its in:

if (param_hwcrypto)

twice on this function and once on another function yet to we done.

 

Im also stuck on skb_tailroom

 

Its in the linux file "skbuff.h", and this is all there is with skb_tailroom "int skb_tailroom ( const struct sk_buff * skb )"

 

since iwi3945 uses a diferent ieee family writting ipw_handle_data() will be hard. i'd like to use iwi2200 code - i'll try to do it or else i've to write new code.

 

skb functions are implemented in iwi2200.h - check out

 

you should try the following:

 

- first fix the alive_start() - this will setup the card correctly and maybe allow scanning for networks

 

- after scanning - need to get scan results and associate

 

- only after associating you'll have to handle rx/tx - this means writting outputpacket() and ipw_handle_data()

 

it's better to follow this order in development. you can't advance without solving issues by this order

 

 

 

Been looking at this topic a long time and decided to give it a try and installed the latest iwi2200 and it works !

 

Even downloaded more than 180Mb (about 220Mb) and had no problems with it.

 

Thanks to all who made this possible and keep up the good work ! :thumbsdown_anim:

 

 

the 170M crash while dowloading only happens if you have 512M memory (like me)

 

if you have 2G memory you'll get this bug at 170x4 M download

 

one way to see this bug is open activity monitor and check the system memory while dowloading

 

as the download goes the memory keep getting down until it freezes mac os x

 

this bug also happen when uploading files

 

can you confirm your download limit without crash for a 2G memory system?

you should try download a dvd image file for testing. i think that with 2G you should be hable to download a CD image without crash

 

OK, I've unplugged the cable and disabled bluetooth before testing. Sorry, you wrote it earlier but I forget to do it...

 

iwi2100 reports the right MAC address.

 

In System Preferences I can see my card as Airport device but it is not connected to my open network.

 

finally the right mac address :thumbsup_anim:

 

iwi2100 and iwi3945 are detected as Airport devices - ok - but they can't use any of the airport features. this is because airport code is apple close source and i've no way to crack it

 

futures releases of this cards will be like iwi2200 - no airport device. maybe when apple opens they aiport framework i'll try to change the code

 

can someone tell me if any of the iwi2100 cards have a "wireless button"?

 

Question is: how did you change/edit the info.plist: after changing the .plist file: did you chmod and chown again:

 

cd /System/Library/Extensions

chmod -R 755 iwi2200.kext

chown -R root:wheel iwi2200.kext

 

After this also remove the two files "Extensions.mkext" and "Extensions.kextcache" found inside /System/Library before rebooting...

 

i think the permissions are set right - unless they only work for the root account. is it so?

 

sometimes removing Extensions.mkext" and "Extensions.kextcache" and rebooting don't allow the info.plist parameters to be recognized - to fix this just repeat this step twice

 

after reboot open console and see the log - the new info.plist parameters must be shown in the log

 

this issue should be written to the FAQ in iwidarwin site

iwi2100 and iwi3945 are detected as Airport devices - ok - but they can't use any of the airport features. this is because airport code is apple close source and i've no way to crack it

 

futures releases of this cards will be like iwi2200 - no airport device. maybe when apple opens they aiport framework i'll try to change the code

Are there any progress in the iwi2100 driver? Is it possible to connect to an unprotected network?

i hope jalavoui u can end the stress with 3945 and finally discover why firmware loaded and using a correct mac adress it cannot access any open network

 

You've got to do more than load the firmware and get the correct mac address to connect to a network.

There are more functions required to get it to work.

can someone tell me if any of the iwi2100 cards have a "wireless button"?

 

 

No wireless button on my IBM T40.

Fn+F5 needs to pressed to enable bluetooth and wlan in XP (if I remember well...).

In case of OSX Fn+F5 activates/deactivates only bluetooth - wlan can't be switched with it.

After iwi2100 driver loaded wlan is on and led is lighting.

No wireless button on my IBM T40.

Fn+F5 needs to pressed to enable bluetooth and wlan in XP (if I remember well...).

In case of OSX Fn+F5 activates/deactivates only bluetooth - wlan can't be switched with it.

After iwi2100 driver loaded wlan is on and led is lighting.

It is turning the wlan off but OS X doesn't know if it is on or off?

hello ppl.

 

i'm trying to write a simple terminal app which will allow us (2200 currently, maybe other when they can) to select a network to which we wish to connect to.

but i'm having a hard time understanding how exactly do i make the application which is ofcourse outside the driver use the new functions i wrote which are part of the darwin_iwi2200 class, and as such are not static.

since they are not static i need to create an instance of the iwi2200 class inside application i'm writing (basicly it means writing "darwin_iwi2200 *blabla = new darwin_iwi2200")

 

but how exactly does this thing suppose to work, how do i create an instance of a driver class ?

 

or maybe i'm tackling this from the wrong direction and someone can point me to the right direction...

Edited by moseschrist

I have the same question. If i am corect the driver have a funtion that scans the network whene it starts after the firmware load. I can help with the GUI part, i have newer made an app in osx bout have alot of experience for unix/linux/win.

It cant be hard to rewrite the driver to scan an stop, an wait for an innputt, to cintiniue...

jalavoui, xkazu and FlipHDK: what do you think? It is time for some gui an inforamtion besides

the terminal :thumbsup_anim:

Hi guys,

 

I have been reading now for several days in this forum trying to get through the hole thread...but i must admit that i am giving a bit up here :P

 

I have an IBM Thinkpad T41 with a Intel 2100 Wireless network card (at least i think so).

 

What steps do i need to make in order to install the driver?

Has there been made a GUI for the 2100 driver or just a guide on how to install.

 

Please help me - thank you very much indeed!

Hi guys,

 

I have been reading now for several days in this forum trying to get through the hole thread...but i must admit that i am giving a bit up here :)

 

I have an IBM Thinkpad T41 with a Intel 2100 Wireless network card (at least i think so).

 

What steps do i need to make in order to install the driver?

Has there been made a GUI for the 2100 driver or just a guide on how to install.

 

Please help me - thank you very much indeed!

 

Only the iwi2200 driver works, iwi2100 and iwi3945 does not work!!!

How to install and a FAQ: http://iwidarwin.wordpress.com/faq/

 

 

Attached this post is my iwi3945.cpp, I have started to add some functions, It doesn't kernel panic. I have commented out parts of the code I couldn't get to work.

I have also sorted all of the mutex unlocking and locking in ipw_bg_alive_start(). Ive left the previouse code commented above it just in case its wrong.

 

Upload failed. You are not permitted to upload this type of file. So rename the file it wouldn't let me upload .cpp, just rename the extension.

 

Ive added hwcrypto = 0; to the list of variables ( led, disable2), this is part of the ipw_handle_data_packet, so I added it.

 

I also managed to get

skb_put(rxb->skb, le16_to_cpu(rx_hdr->len));

in ipw_handle_data_packet. You have to add:

inline void *skb_put(mbuf_t skb, unsigned int len)
{
/*unsigned char *tmp = skb->tail;
SKB_LINEAR_ASSERT(skb);
skb->tail += len;
skb->len  += len;
return tmp;*/
void *data = (UInt8*)mbuf_data(skb) + mbuf_len(skb);
//mbuf_prepend(&skb,len,1); /* no prepend work */
IWI_DUMP_MBUF(1,skb,len);  
if(mbuf_trailingspace(skb) > len ){
	mbuf_setlen(skb,mbuf_len(skb)+len);
	if(mbuf_flags(skb) & MBUF_PKTHDR)
		mbuf_pkthdr_setlen(skb,mbuf_pkthdr_len(skb)+len); 
}
IWI_DUMP_MBUF(2,skb,len);  
return data;
}

to iwi3945.h so I commented it out. Im not sure where about's it should go in iwi3945.h but it did work where I put it.

iwi3945.cpp

 

creating a gui is not the problem, but first we need to be able to do what we need. then we can port it over to a gui environment

 

Don't we want to use AirPort to connect to networks?

iwi3945.txt

Edited by FlipHDK

we, wish. but we can't.

since the airport is a closed source platform. we cannot use it.

that is why i'm now working on trying to create an application which can talk to the driver.

after reading up on IOKit i'm getting somewhere, but still nowhere close to our destination.

not to mention that i don't even know if we can use what i'm writing as i'm following apple guides and improvising along the way.

 

basicly i hope to get to an application which will allow us, eventually, trigger the functions in the driver.

that way we can initiate a network scan and select our preferred network.

it does.

but not for long...

take the 2200 as an example.

if your remember, at first they were airports two, but they didn't use the "airport" capabilities.

they attached to a network automaticly. without user intervention.

this is what the airport platform supplies. user intervention, but since the programmers can't use it since it's closed source we are in a jam. the maximum we can do is make OSX believe it is an airport it put a nice airport icon on the tray, unless ofcourse you wish to reverse engineer the airport binaries.

 

this is why we have to result to other means.

build our own user interface which will give us some basic capabilities, and hopefully it will eventually give us full support for all the card capabilities.

i noticed that some of you are testing this drivers with others networks pluged in - don't do that - unplug all other networks before testing.

 

i also think that you should disable the bluetooth extensions - it shure interferes with the iwi driver

 

if you have the "wireless button" you should be hable to turn the card on/off just like my card

 

looks like both drivers - finally - skip the firmware loading step

 

I have unplugged the ethernet cord, disable ethernet in the prefernces pane, turn off and disable bluetooth but the result is the same, my 3945 si look like a ethernet interface :-(

 

bye

marco

Edited by verichina
hello ppl.

 

i'm trying to write a simple terminal app which will allow us (2200 currently, maybe other when they can) to select a network to which we wish to connect to.

but i'm having a hard time understanding how exactly do i make the application which is ofcourse outside the driver use the new functions i wrote which are part of the darwin_iwi2200 class, and as such are not static.

since they are not static i need to create an instance of the iwi2200 class inside application i'm writing (basicly it means writing "darwin_iwi2200 *blabla = new darwin_iwi2200")

 

but how exactly does this thing suppose to work, how do i create an instance of a driver class ?

 

or maybe i'm tackling this from the wrong direction and someone can point me to the right direction...

 

 

this is a great idea

 

you can check the kismac project. you'll need probally use the same structure that they use

 

i was thinking on writting code to build a menu - kind of the airport menu - to support iwi2200

 

all help i can get on this is very appreciated

 

 

 

iwi2200

 

i finally start to understand the bug when dowloading a file (memory leak at 170M)

 

i run a test with my ethernet card. apparently when downloading a file, mac os x allocates memory and doesn't release it - this causes memory to decrease until mac os freezes

 

this can be seen using activity monitor

 

i think this is a kernel bug or maybe just my os x installation

 

can someone tell me if you're getting this bug with you cable card?

 

does this happen only with 10.4.8 kernel?

 

 

iwi2100 - rev 225

 

i find a bug in start() that turns the card off

since ipw_up() is called twice, maybe i need to do something different to allow the card to be on and start working

 

http://iwidarwin.googlecode.com/svn/trunk/...100/iwi2100.dmg

 

 

 

 

 

 

No wireless button on my IBM T40.

Fn+F5 needs to pressed to enable bluetooth and wlan in XP (if I remember well...).

In case of OSX Fn+F5 activates/deactivates only bluetooth - wlan can't be switched with it.

After iwi2100 driver loaded wlan is on and led is lighting.

 

i think you need to disable the mac os x bluetooth extension to allow iwi2100 to work.

in theory the driver should support bluetooth and wireless card...

 

this is also true for iwi3945

 

i'd like to know if both drivers work when bluetooth extension is active? - and when it's not active?

 

some more logs (BT is disabled in bios, no other interfaces pluged in, except usb mouse):

 

you only need to disable the bluetooth extension in mac os x

 

i'm not shure, but you if disable in bios the driver might fail to work

 

I have the same question. If i am corect the driver have a funtion that scans the network whene it starts after the firmware load. I can help with the GUI part, i have newer made an app in osx bout have alot of experience for unix/linux/win.

It cant be hard to rewrite the driver to scan an stop, an wait for an innputt, to cintiniue...

jalavoui, xkazu and FlipHDK: what do you think? It is time for some gui an inforamtion besides

the terminal :P

 

i'd like to build a menu interface - it would look like the airport menu

 

a easy solution could be change the code to allow network selection - maybe using terminal

 

this would be easy to do in linux - but i have no idea on how to do it in mac os - the iwi driver is very limited because it uses iokit and kernel functions libs

 

if you can help on this please do

 

basicly i hope to get to an application which will allow us, eventually, trigger the functions in the driver.

that way we can initiate a network scan and select our preferred network.

 

you should check the kismac project

 

they have a nice interface to control the driver

 

this could be a solution - port iwi drivers into kismac project

 

ipw_handle_data_packet.

 

i know you want to make the driver work :)

 

but - did you read the post i write about function order? you can't use ipw_handle_data_packet() before scanning, getting scan result and associating - them you can start to rx/tx packets

 

you should check iwi2200 ipw_handle_data_packet() - if we can use it on iwi3945 we'll save a lot of new code writting.

 

this could be hard to do - because iwi3945 is using mac80211-4.0.4 lib and iwi2200 uses ieee80211.h lib

 

if you can, build a new .dmg and post it here for people to test

 

about you code:

 

define hwcrypto in iwi3945.h and add it to init().

 

ipw_rxon_add_station() - can you write the missing code inside it?

 

avoid all use of IOLock/Unlock(mutex); - i only get bugs with it in iwi2200

 

static void ipw_set_decrypted_flag(struct ipw_priv *priv,

struct sk_buff *skb,

u32 decrypt_res,

struct ieee80211_rx_status *stats)

 

replace all struct sk_buff *skb with mbuf_t skb. in mac os x all struct sk_buff must be replace by mbuf_t

 

 

ipw_handle_data_packet_monitor - this is only needed when p_mode=2 - reserve it for future use

 

ipw_handle_data_packet() - try to use iwi2200 code to build this function

 

ipw_bg_alive_start() - this need to be fixed

i think the led is not important. it only looks nice - but doesn't make the driver work

i'm not shure about what is missing here - but i think that after this is ready the driver will start to receive the scan interrupt and allow us to start working on scan functions

i know you want to make the driver work :)

but - did you read the post i write about function order?

Yes, but I wrote most of that before you said about the function order. So I thought I would upload what I did.

ipw_rxon_add_station() - can you write the missing code inside it?

I will try.

ipw_bg_alive_start() - this need to be fixed

What is the problem with it? Or don't you know?

What is the problem with it? Or don't you know?

 

i think that all commentd functions inside ipw_bg_alive_start() need to be written - they're hard to write

 

if you can try to write them

 

you'll suceed when the driver starts receiving, in RxQueueIntr() the notifications:

 

- SCAN_START_NOTIFICATION

- SCAN_RESULTS_NOTIFICATION

- SCAN_COMPLETE_NOTIFICATION

 

 

when you had new fixes post a build version here

 

post the source code as .zip in here or in google if you feel confortable with svn

 

 

 

check the RxQueueIntr(). change the timer (1 second) in

 

queue_te(9,OSMemberFunctionCast(thread_call_func_t,this,&darwin_iwi3945::ipw_bg_alive_start),priv,1,true);

 

to (0 seconds)

 

queue_te(9,OSMemberFunctionCast(thread_call_func_t,this,&darwin_iwi3945::ipw_bg_alive_start),priv,NULL,true);

 

 

you can also try to increase the timer - do whathever you think is best

 

 

mac os x 10.4.9 update

 

i haven't tested it - if anyone is using it with iwi drivers tell me if it works

 

check the new io80211 framework/extension - maybe have to go down to 10.4.8

I just added IOLog("ipw_bg_alive_start started"); at the beggining of ipw_bg_alive_start.

Tried it, and its not in the log's, so it hasn't started yet?

Unless im running the wrong kext. Let me re-install/reboot.

 

Edit: Its not starting ipw_bg_alive_start. So that might be the problem.

Edited by FlipHDK
I just added IOLog("ipw_bg_alive_start started"); at the beggining of ipw_bg_alive_start.

Tried it, and its not in the log's, so it hasn't started yet?

Unless im running the wrong kext. Let me re-install/reboot.

 

see the logs. if you get

 

REPLY_ALIVE in RxQueueIntr() ipw_bg_alive_start() should be called by queue_te

 

 

iwi2100 and iwi3945

 

if you all agree i'll start writting code to port these drivers to ioethernet

 

ok :) in english : no more fucXXX Airport framework/extension

see the logs. if you get

 

REPLY_ALIVE in RxQueueIntr() ipw_bg_alive_start() should be called by queue_te

iwi2100 and iwi3945

 

if you all agree i'll start writting code to port these drivers to ioethernet

 

ok :) in english : no more fucXXX Airport framework/extension

Mar 16 20:06:02 localhost kernel[0]: iwi3945: HW & HW RF KILL supported in EEPROM.
Mar 16 20:06:02 localhost kernel[0]: iwi3945: Allocate the RX queue
Mar 16 20:06:02 localhost kernel[0]: iwi3945: ipw_rx_queue_replenish
Mar 16 20:06:02 localhost kernel[0]: iwi3945: ipw_rx_init
Mar 16 20:06:02 localhost kernel[0]: iwi3945: ipw_queue_reset
Mar 16 20:06:02 localhost kernel[0]: iwi3945: 3945ABG card ucode download is good 
Mar 16 20:06:02 localhost kernel[0]: iwi3945: 3945ABG card ucode download is good 
Mar 16 20:06:02 localhost kernel[0]: iwi3945: bootstrap data image size is 32768
Mar 16 20:06:02 localhost kernel[0]: iwi3945: bootstrap image in DATA memory is good
Mar 16 20:06:02 localhost kernel[0]: iwi3945: bootstrap instruction image size is 2396
Mar 16 20:06:02 localhost kernel[0]: iwi3945: bootstrap image in INSTRUCTION memory is good
Mar 16 20:06:02 localhost kernel[0]: iwi3945: 3945ABG HW Version 0.0.241
Mar 16 20:06:02 localhost kernel[0]: iwi3945: 3945ABG PBA Number D26444003
Mar 16 20:06:02 localhost kernel[0]: iwi3945: EEPROM_ANTENNA_SWITCH_TYPE is 0x01
Mar 16 20:06:02 localhost kernel[0]: iwi3945: MAC address: 00:13:02:09:dd:c3
Mar 16 20:06:02 localhost kernel[0]: iwi3945: interrupt recieved 0x80000008 masked 0xc531f832 card mask 0xaa000003
Mar 16 20:06:02 localhost kernel[0]: iwi3945: Rx interrupt
Mar 16 20:06:02 localhost kernel[0]: iwi3945: Received  command (#2aea7414), seq:0x0067, flags=0x07, len = 95
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command
Mar 16 20:06:02 localhost kernel[0]: iwi3945: XXXL we have skipped command

 

Can't see it.

1system.txt

Edited by FlipHDK

jalavoui:

 

about the iwi drivers and 10.4.9:

 

it works without any problems.

 

and for the driver user interface:

 

i have taken a look into the code of KisMac.

it has a very interesting piece of file named: apple80211.h

it is a reverse engineered copy of the original closed source apple80211.h

 

i think you should give it a look.

i don't know if i can upload it to here since i don't know how legal it is, but you can find it i KisMac svn repository.

 

it seems like the application communicates with the airport driver using this header file and this way it avoids the deadend we encountered when we tried to recreate the driver interface.

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