Jump to content
3992 posts in this topic

Recommended Posts

I completely reinstalled my OS just to eliminate any conflicts of prior versions of the drivers, etc.

 

The one and only Install I applied was the iwi3945 - rev 236.

 

My results reflect working Built In Ethernet ports. Still the discovery of that PCI Ethernet SLot pci8026,4227 but NO working Wireless.

 

In fact it's not even Detected AT ALL now.

 

I would recommend others install this revision with caution.

The requirements are a 10.4.4 kernel and the IO80211Family.kext version 1.1
Since most people are not anymore able/ allowed to edit their postings incl. initial ones: is this still current? Or anyone got a 3945 working with 8.8.1/8.9.1 kernel system?

here are the logs for an oki laptop with a built-in 3945ABG wireles network card

 

It's a 10.4.8 (8.8.1 kernel) and everything seems to work ok execpt this

 

When I install the last iwi3945.dmg file I got the airport icon in the up bar next to the sound icon but nothing happens, Airport Configuration Manager doesnt work and in my system profile I get an unknown device

 

congratulations for your great work

 

here are my logs and my lspci from a live knoppix:

lspci.txt

dmesg.txt

ioreg.txt

system.log.txt

iwi2100 - rev 235

 

fixed last bug

 

rev235 logs are attached.

I've added my vendor/device ID in Info.plist.

wlan led is not switched on (in last releases it was working).

no wlan icon.

message in network pref: Airport is currently off (last release: Airport is detected but is not configured).

message in Airport menu (Internet conn): No Airport hardware found.

 

Thanks.

 

 

i see ieee80211_network_reset in your log

 

i think i forgot to write this function...

 

this is easy to fix (just take it from iwi2200)

 

i think that other problems will show up in rev 231

 

can you use xcode and try to build it?

 

unfortunately not... :-(

dmesg.txt

system.log.txt

Hi

when i installed iwi3945.dmg ref 236

then after restart -> system preferences panel -> network -> i found new device which is "PCI Ethernet SLot pci8026,4227"

i checked the device from system profiler

mac address is right

and i put manual IP but nothing appear in Airport manager nor Airport setup assistant

 

 

Note: i just installed JaS 10.4.8 new installation

 

i don't know how to get log files

i'll search in this thread then i'll post the logs back

 

*modified logs files uploaded

 

 

 

thanks jalavoui

dmesg.txt

ioreg.txt

jalavoui, note that the files are not on the SVN, but on the webpage storage room.

 

to help developing iwi2100 and iwi3945 - most for powering on/off cards without wireless button. i'd like someone with these cards to implement moseschrist code

 

this wil help a lot on iwi2100/3945 development

 

moseschrist, do you think that using static functions can help on the iwi memory leak bug?

 

most of iwi functions are virtual - linux code use static functions

 

can someone with 2915 card (iwi2200) tell me if the power on/off routine work with networkSelector

 

if you agree networkSelector should be called networkSelector2100, networkSelector2200 and networkSelector3945. i think we need different app for all iwi cards. can you add it to svn trunk?

 

 

 

 

here are the logs for an oki laptop with a built-in 3945ABG wireles network card

 

you're using a old version - check my last post for download link

 

all iwi driver are now detected as pcixxx device - no more apple aiport devices

 

looks like iwi3945 is receiving a scan interrupt!! - this is a great step for making the drive ready

 

I've added my vendor/device ID in Info.plist.

 

iwi2100 doesn't load - this is - maybe - because of wrong vendor/id in info.plist

 

if you fix this in info.plist the driver should load

we don't need diffrent applications.

the code is global, all we need is to implement the code which enables communication with the driver in the kext file source and were good to go.

 

i will soon upload a 3945 version with kext control enabled to see if we can bypass the need to wait for interrupt to wake the card from sleep and just implement the SW wake up.

 

which interrupt is required to kickstart the 3945 ?

 

BIT_INT_WAKEUP

or

BIT_INT_ALIVE

 

?

 

and about the virtual VS static.

you can safely remove the virtual line from the drivers (unless required by IOKIT)

since it only points to the compiler that if some class will inherit from the iwi2200 class,

it can ovveride the public & protected virtual function.

 

the only reason the linux functions are static is because linux code is written in C.

and C is not an object oriented language, which means no classes and no functions can be inserted

insdie a struct (unless they are pointers to functions which is another thing...)

 

this is also why all the functions recieve a "struct ipw_priv *priv" parameter.

this parameter is not neccesary (i think) since the class contains that variable as a member variable (this->priv).

but if we go back to linux again, static functions don't have access to this value so you send it as parameter.

 

perhaps this is the origin of the leak.

we don't need diffrent applications.

 

i think you'll get some bugs - expecially for iwi3945 wich uses a specific ieee functions

 

but the idea is good - only one app - if you can't do it without separating app try to add some for var specific to iwi3945 (the priv of iwi3945 is not the same as iwi2200). this will allow to have all code in one app

 

iwi2100 use same ieee libs that iwi2200 and will be easy to port

 

i'm not shure of what bits iwi2100/iwi3945 use to power on/off the card. if you can't find it, maybe other users who have the card can help.

 

if you have any idea for the iwi mem leak bug - please try it. after this is fixed the driver will be ready for a full release version.

it doesn't matter what implementation of ieee each card has...

the application side and the driver side are totaly seprated.

the application sends an integer signal (0,1,2,...) and inside the driver i told him what to do in case it recieves a certain signal.

 

and the basic interface for communication between a driver and application is the same for all OSX drivers.

all you need is an implmentation which works for your driver.

 

if i need to guess it is the wakeup bit.

but if you take a look at the iwi2200 implementation of the wake up function (take a look and the interruptHandle() function for power button interrupt) you will see it is totally diffrent.

it uses a function which disables the radio in hardware. perhaps theres something of that manner in 3945 ?

iwi2100 doesn't load - this is - maybe - because of wrong vendor/id in info.plist

 

if you fix this in info.plist the driver should load

 

iwi2100: darwin_iwi2100 IRQ: 11, Vendor ID: 8086, Product ID: 1043

 

I'm using 0x10438086 as vendor/id in Info.plist and driver isn't loaded.

perhaps theres something of that manner in 3945 ?

 

yep - i think this will work for iwi2100 and iwi345

 

this is a great step for this cards development

 

keep up the good work

 

 

I'm using 0x10438086 as vendor/id in Info.plist.

 

in theory the supported cards for iwi2100 are:

 

0x25208086 0x25218086 0x25248086 0x25258086 0x25268086 0x25228086 0x25238086 0x25278086 0x25288086 0x25298086 0x252B8086 0x252C8086 0x252D8086 0x25508086 0x25518086 0x25538086 0x25548086 0x25558086 0x25608086 0x25628086 0x25638086 0x25618086 0x25658086 0x25668086 0x25678086 0x25708086 0x25808086 0x25828086 0x25838086 0x25818086 0x25858086 0x25868086 0x25878086 0x25908086 0x25928086 0x25918086 0x25938086 0x25968086 0x25988086 0x25A08086

 

type ioreg -w0 in therminal - this will get your 8086 devices. should be one of this - or a compatible one

 

moseschrist,

 

can you zip the sources (only) of iwi and networkSelector into iwidarwin

 

i'm unable to download the bin images - i'm getting 1,0 kb/s :(

 

 

ttorok ,

 

you have:

 

pci8086,1043 -> should be 0x10438086 (i think this is it)

pci8086,3340 -> this are usb (should not work)

| | +-o pci8086,24c3

| | +-o pci8086,24c5

 

this is wird, you have a 2100 card that isn't listed in info.plist - if 0x10438086 works i'll add it to svn

 

try to load manually with kextload /System/Library/Frameworks/iwi2100.kext

 

goto system preferences to see if you have it there

in theory the supported cards for iwi2100 are:

 

0x25208086 0x25218086 0x25248086 0x25258086 0x25268086 0x25228086 0x25238086 0x25278086 0x25288086 0x25298086 0x252B8086 0x252C8086 0x252D8086 0x25508086 0x25518086 0x25538086 0x25548086 0x25558086 0x25608086 0x25628086 0x25638086 0x25618086 0x25658086 0x25668086 0x25678086 0x25708086 0x25808086 0x25828086 0x25838086 0x25818086 0x25858086 0x25868086 0x25878086 0x25908086 0x25928086 0x25918086 0x25938086 0x25968086 0x25988086 0x25A08086

 

type ioreg -w0 in therminal - this will get your 8086 devices. should be one of this - or a compatible one

 

?

ioreg -w0 is attached

ioreg.txt

ipw3945 users:

i have made changes to the intrruptHandler to go through the same routine as the iwi2200 does. hopefully it will work, also added a call to ipw_sw_reset(...) in the start(...) function as appeared in iwi2200.

iwi3945.zip

ttorok ,

 

you have:

 

pci8086,1043 -> should be 0x10438086 (i think this is it)

pci8086,3340 -> this are usb (should not work)

| | +-o pci8086,24c3

| | +-o pci8086,24c5

 

this is wird, you have a 2100 card that isn't listed in info.plist - if 0x10438086 works i'll add it to svn

 

try to load manually with kextload /System/Library/Frameworks/iwi2100.kext

 

goto system preferences to see if you have it there

 

I've already tried this step by step but it does not work... :-(

 

(I think you meant: kextload /System/Library/Extensions/iwi2100.kext)

i have made changes to the intrruptHandler to go through the same routine as the iwi2200 does

 

soon all iwi will have networkSelector :censored2:

 

can you post a build networkSelector version for iwi3945 support?

 

i think iwi2100 will need the same changes in code

 

when this is all done, small fixes in start(), ipw_sw_reset() will make all iwi cards work

 

 

 

message in network pref: Airport is currently off (last release: Airport is detected but is not configured).

message in Airport menu (Internet conn): No Airport hardware found.

 

you must delete the airport device

 

iwi drivers no longer use airport - they are detected as pci,xxx device in network system preferences

no, jalavoui is the man behind the drivers, for now i only work on user interfaces and such...

i have to understand the code better in order to code the driver...

 

but i will eventually, once i get this program to do what we need, i'll start working on coding the driver itself

Got it; thanks for the clarification. Regardless, the efforts of both of you are highly appreciated. Im anxiously awaiting the outcome so I can actually use my OSX install.

as said before, there is no such thing as network selector with 3945 support

it is the other way around, a iwi3945 with network selector support.

 

i will integrate functions to communicate with network selector but i don't know how usefull it will be since you can't see if it works or not.

the only way we can see if the card is up and running is with the led, if it is lit card is powered and online, if not, it may be powered but not online.

maybe it will finaly solve memory leak/deadlock

 

it would be very nice :censored2:

 

i once have a problem with scan panic - the bug was in qeue_te()

you can check the rx/tx functions. they start in ipw_rx() and in outputpacket()

 

i don't know what you think about IOLock - i'm avoing using it

 

you can check the memory leak with activity monitor - when starting a big download it decreases until no more mem is available

 

also try netperf -m (google for it). looks like the system keeps allocating mbuf_s but don't release them. take a look at freePacket2()

 

 

iwi2100

 

i'd like to see other users logs. i don't understand why it is not loading.

 

 

 

as said before, there is no such thing as network selector with 3945 support

 

you can use the support for turning the card on/off - this is a problem if you don't have a wireless button

 

we only need to use network selector in iw2100/3945 for the power on/off. this drivers don't have reached the scan/associate phase yet

 

the on/off status can also be seen in log - by the ipw_rf_kill(). i'll leave the led alone for now

 

this also happen for 2915 cards (iwi220 driver)

you must delete the airport device

 

iwi drivers no longer use airport - they are detected as pci,xxx device in network system preferences

 

ok, deleted, but result is the same.

 

and:

tamas-tamas-computer:~ root# kextload /System/Library/Extensions/iwi2100.kext/

kextload: extension /System/Library/Extensions/iwi2100.kext/ is already loaded

does the cards actaully turn on for ppl ?

 

********************

i'm such an idiot !!!

accidently wrote in hebrew in xcode and

xcode asked what to do with the encoding so

i pressed something and now i have 1950 errors

^%(*#%$$(#%@*#(%#%$

 

**********************

**********************

*******important*******

 

i noticed in d/l numbers that

network selector has ~50 d/l

while the driver has ~20

 

it isn't right, for each network selector

download there should be a driver download

the driver depends on the application and

the application depends on the driver.

kextload: extension /System/Library/Extensions/iwi2100.kext/ is already loaded

 

delete /System/Library/Extensions.kextcache and Extensions.mkext and reboot

 

might have to do this twice

 

boot with -s and try to use kextload

 

if previous versions work with your card this one must work

 

 

 

i noticed in d/l numbers that

network selector has ~50 d/l

while the driver has ~20

 

how did you see that? in terminal? netstat?

 

if the slots for dw/up are incompatible this can cause the bug

 

i notice that if you start a download (in mozilla, finder) and cancel it in the midle - the memory is released

due to popular demend:

iwi3945 with kext control support.

it currently only supports starting up the card if it is shut down (and even that is not cerain)

 

about d/l numbers.

i was talking about the numbers in the download page on our (can i call it our ?) project webseite

iwi3945.zip

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