Jump to content

Intel Wireless 2100, 2200bg, 2915bg, 3945abg, 4965agn


jalavoui
 Share

3,411 posts in this topic

Recommended Posts

I realize that you guys are working very hard at making this work. I had read somewhere earlier in the thread that porting a BSD driver would be easier than a linux one. I saw some information on freebsd and was wondering if that would help:

 

http://www.clearchain.com/wiki/Wpi Maybe those guys there could be a resource?

 

Here is the "stable" driver for BSD: 20071102_freebsd_wpi.tar.gz

Link to comment
Share on other sites

TNW, Symuc

 

is the svn tree up to date with latest code? - i hope so, i'll try to help

 

maybe you'd like to change some things in code:

 

class darwin_iwi3945 : public IO80211Controller -> make it IOEthernetController

it's nice to have a airport device but at this time the driver will be more stable with IOEthernetController

 

does request_firmware() works?

maybe it's better to set struct iwl3945_ucode ucode = (struct iwl3945_ucode*)ipw3945_ucode_raw

 

always leave fInterruptSrc->enable() - the driver needs to work this way...

 

mutex, locks - we don't need them at this time - they only give bugs

 

pci_enable_device()

maybe it's better to test old code

/*UInt16 reg16;

 

reg16 = fPCIDevice->configRead16(kIOPCIConfigCommand);

 

reg16 |= (kIOPCICommandBusMaster |

kIOPCICommandMemorySpace |

kIOPCICommandMemWrInvalidate);

 

reg16 &= ~kIOPCICommandIOSpace; // disable I/O space

fPCIDevice->configWrite16(kIOPCIConfigCommand,reg16);*/

 

fPCIDevice->setBusMasterEnable(true);

fPCIDevice->setMemoryEnable(true);

 

 

if_down() - use old iwi2200 code to really turn the interface down

 

power stuff - the code from iwi2200 for requestPowerDomainState(), WiFiPower.cpp and other power things work fine

if you're going to use IOEthernetController better to change this.

 

pci_save_state() - this can give some bugs

 

get rid of IOMallocContiguous() - i get some bugs in the past by using this function

take a look at pci_map/unmap_single

try to use MemoryDmaAlloc()

 

dev_kfree_skb() - add more validation code here- the driver will panic if trying to free a packet in several ways.

 

__alloc_skb() - try to set size to 0

mbuf_setlen(skb->mac_data,0);

mbuf_pkthdr_setlen(skb->mac_data,0);

 

start_thread(), queue_work(), queue_delayed_work(), wait_event_interruptible_timeout()

to make thread work correctly this code need to be corrected - i don't know if it will ever work

maybe it's better to use code form queue_te/td()

 

 

i hope this helps

 

:(

Link to comment
Share on other sites

TNW, Symuc

 

is the svn tree up to date with latest code? - i hope so, i'll try to help

 

maybe you'd like to change some things in code:

 

class darwin_iwi3945 : public IO80211Controller -> make it IOEthernetController

it's nice to have a airport device but at this time the driver will be more stable with IOEthernetController

It's not our problem for the moment but I will do that.

 

does request_firmware() works?

maybe it's better to set struct iwl3945_ucode ucode = (struct iwl3945_ucode*)ipw3945_ucode_raw

request_firmware() works fine at this moment

 

always leave fInterruptSrc->enable() - the driver needs to work this way...

How can we disable the interrupts without that ?

 

mutex, locks - we don't need them at this time - they only give bugs

Mutex and Lock help for thread syncronitation , without they all thread acces restricted area of the code

pci_enable_device()

maybe it's better to test old code

/*UInt16 reg16;

 

reg16 = fPCIDevice->configRead16(kIOPCIConfigCommand);

 

reg16 |= (kIOPCICommandBusMaster |

kIOPCICommandMemorySpace |

kIOPCICommandMemWrInvalidate);

 

reg16 &= ~kIOPCICommandIOSpace; // disable I/O space

fPCIDevice->configWrite16(kIOPCIConfigCommand,reg16);*/

 

fPCIDevice->setBusMasterEnable(true);

fPCIDevice->setMemoryEnable(true);

if_down() - use old iwi2200 code to really turn the interface down

 

power stuff - the code from iwi2200 for requestPowerDomainState(), WiFiPower.cpp and other power things work fine

if you're going to use IOEthernetController better to change this.

 

pci_save_state() - this can give some bugs

 

get rid of IOMallocContiguous() - i get some bugs in the past by using this function

take a look at pci_map/unmap_single

try to use MemoryDmaAlloc()

At this moment we have timeout error on sending cmd, that it ?

 

dev_kfree_skb() - add more validation code here- the driver will panic if trying to free a packet in several ways.

 

__alloc_skb() - try to set size to 0

mbuf_setlen(skb->mac_data,0);

mbuf_pkthdr_setlen(skb->mac_data,0);

I going to see that

 

start_thread(), queue_work(), queue_delayed_work(), wait_event_interruptible_timeout()

to make thread work correctly this code need to be corrected - i don't know if it will ever work

maybe it's better to use code form queue_te/td()

i hope this helps

All this function seems to work fine , but I can change it

:P

 

Thank's for your help

Link to comment
Share on other sites

TNW,

 

if the driver is getting firmware errors it can be because of

- bad firmware loading - request_firmware()??

- wrong firmware version - have you tryed all firmware versions?

- you need to wait for the driver exits start() - i add 1 second delay in iwi2200 and them call __iwl3945_up()

 

to disable interrups the iwl3945_disable_interrupts() should work - maybe there's a problem that we can't see at this point

 

the cmd timeouts might be fixed by adding a IODelay(xxx) to wait_event_interruptible_timeout()

you need to fix iwl3945_send_cmd_sync() - maybe make HOST_COMPLETE_TIMEOUT=HOST_COMPLETE_TIMEOUT*x

if the value is wrong you'll always get cmd errors

maybe it's better to use wait_event_interruptible_timeout()

 

if you're using jiffies in code - get the source from iwi2200. it works fine

 

you need to use fNetif->registerOutputHandler(this,getOutputHandler()); it will allow the driver to start calling outputpacket(). i'm not shure if this is also needed for sending commands.

 

maybe someone can post the linux log for iwl-1.2.23 - this will help us understand what's wrong

 

"Mutex and Lock help for thread syncronitation" - ok - but you should test the driver in both ways

i've disabled this code in iwi2200 - the driver can leave without this

 

if the thread functions work fine you should keep them.

 

disable iwl3945_send_power_mode() if you get errors - try to use requestPowerDomainState() in start()

 

i'll keep looking to the svn code and try to help

 

ok - i'll stop writting and let you work :(

Link to comment
Share on other sites

Thanks everyone! I was completely new to Mac/OSx86 until I found the community and I've already learned so much just by reading the boards.

 

So I started my own project when I came across the Kalyway 10.5.1 install DVD. I treid to install it on my Gateway M460 but after a bit of research, and many installation attempts, I found out that I'd probably be better off using the older Tiger because it had better support for my older laptop.

 

So I got JaS 10.4.8 DVD almost everything seems to work. Even my wireless works after I used the latest iwi2200 driver from the group (rev 579 Installer).

 

I was wondering if it's possible to use WEP or WPA with my system. I read the FAQ as well as the installation guide, which states that WEP is NOT supported, but many posts on the board allude to WEP 2200 working with Tiger. Is this possible? If so perhaps someone could direct me to which version of Tiger/2200 driver they're using?

 

Thanks,

 

LJ

Link to comment
Share on other sites

Thanks everyone! I was completely new to Mac/OSx86 until I found the community and I've already learned so much just by reading the boards.

 

So I started my own project when I came across the Kalyway 10.5.1 install DVD. I treid to install it on my Gateway M460 but after a bit of research, and many installation attempts, I found out that I'd probably be better off using the older Tiger because it had better support for my older laptop.

 

So I got JaS 10.4.8 DVD almost everything seems to work. Even my wireless works after I used the latest iwi2200 driver from the group (rev 579 Installer).

 

I was wondering if it's possible to use WEP or WPA with my system. I read the FAQ as well as the installation guide, which states that WEP is NOT supported, but many posts on the board allude to WEP 2200 working with Tiger. Is this possible? If so perhaps someone could direct me to which version of Tiger/2200 driver they're using?

 

Thanks,

 

LJ

 

The version you have works with wep. Try using an hex password with ":" like aa:bb:cc:dd:ee:ff

Link to comment
Share on other sites

Just to get a quick overview. Is the driver close to getting finished?

 

Hi!

We have a bad news , Symuc and I searched a lot on the Linux driver(3945) and we didn't find a solution for a problem.

I'll try to explain this problem :

When the driver send a command , we have an HW error ( inta; 0x20000000)(DMA error)

but when we disable the interrupts the card seems to be OK ( inta 0x80000008 )( cmd sent and cmd response is ready) but the interrupts are disabled.

Lastly , when we enabled the interrupts but not on start we have this inta : 0x82000001 (Ucode loaded , cmd sent , SW error)

 

I think it's because the card is a PCIe card and we didn't correctly initialised the card.

 

So , I'm going to port the FreeBSD driver , but Symuc works a lot at his job so he can't work a lot on the driver .

If someone with c/cpp skills can help us ,that will be good for the project.

Link to comment
Share on other sites

Just a quick thank you for everyone on this forum for all their hard work, I think everything you all have achieved is outstanding. Please keep up the good work guys. I wish I was as smart as allot of you, however as sad as my stupidness may be to myself I will leave the genius work to the people who know what they are doing. :D

Link to comment
Share on other sites

So , I'm going to port the FreeBSD driver , but Symuc works a lot at his job so he can't work a lot on the driver

 

the freebsd code will not fix the interrupts bug - it's a mac os x problem

 

if you like to use another aproach to fix this search code for

IOFilterInterruptEventSource::filterInterruptEventSource()

kIOPCIMSICapability, kIOPCIMSIXCapability

also check ioreg to see if the driver is sharing the interrupts with another device.

 

maybe this can fix the driver problem.

 

iwi3945

can someone post more logs for TNW last version?

Link to comment
Share on other sites

Thank You very much.

 

The driver worked for me on Kalyway 10.5.1. It didn't sem to work at first but I checked it out with the troubleshooting instructions, opened Network Selector and turned it on. I haven't gotten as far as checking to see if there is any more support for WPA ( I'm running on an open segment right now ).

 

Thanks again,

 

Taz416

 

Dell Inspiron 9300/geForceGo 6800/1.7Ghz/Intel 2200BG

Link to comment
Share on other sites

the freebsd code will not fix the interrupts bug - it's a mac os x problem

 

if you like to use another aproach to fix this search code for

IOFilterInterruptEventSource::filterInterruptEventSource()

kIOPCIMSICapability, kIOPCIMSIXCapability

also check ioreg to see if the driver is sharing the interrupts with another device.

 

maybe this can fix the driver problem.

 

iwi3945

can someone post more logs for TNW last version?

 

Hi :P

I don't think that it's a problem of interrupts , I enabled the MSI but I don't know how to initialise the vector( for msi interrupts) because no explains come from Apple.

The card is MSI compatible but not compatible with MISX.

Link to comment
Share on other sites

TNW,

take a look at this code

http://forum.insanelymac.com/index.php?sho...0851&st=20#

check the start() - msi interrupts

maybe you can try it in iwi3945

 

about iwidarwin support

i'd like to thanks people who have made donations to support the project

i hope i soon have the hardware and start writting code for iwi3945/4965

 

Thank's I will try it tomorow and Symuc is herre , ready for the driver :(

Link to comment
Share on other sites

someone in abother forum suggested trying these http://code.google.com/p/iwidarwin/

i did and then system wouldnt load, just kept saying reboot...

 

someone got something that works? Im running an HP DV9330CA with Intel® PRO/Wireless 3945ABG Network Connection

 

Running Kalyway 10.5.2

 

and yes, i have searched both on the non working search here and my good friend google- and so far nothing that makes anysense, im completly new to not only a hackintosh, but also mac in general

 

Thanks,,,

Link to comment
Share on other sites

someone in abother forum suggested trying these http://code.google.com/p/iwidarwin/

i did and then system wouldnt load, just kept saying reboot...

 

someone got something that works? Im running an HP DV9330CA with Intel® PRO/Wireless 3945ABG Network Connection

 

Running Kalyway 10.5.2

 

and yes, i have searched both on the non working search here and my good friend google- and so far nothing that makes anysense, im completly new to not only a hackintosh, but also mac in general

 

Thanks,,,

 

Hey, that's what this thread is all about right now. There is no working solution for the Intel 3945ABG yet, but that's what the good guys here are working on. Just keep checking this thread for new updates. Right now it's not functional, but there's been some MAJOR progress from what I understand (which isn't much).

 

~Beeve

Link to comment
Share on other sites

jalavoui

whats the status on 4965agn on leopard?

 

Come on guys, read the posts. The 3945 is coming along but still a bit away, and after that the 3945 driver should be able to be easily ported for the 4965. I hope.

 

~Beeve

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...