Jump to content
3992 posts in this topic

Recommended Posts

Hello Jalavoui,

 

I'm C++ developper but a newbie with Mac Os X, I have a intel 3945 wireless card and I have downloaded the SVN code. I can help you but I need to know few details about it. Please can you briefly explain me the way it works?

 

thanks

 

f56bre

Hello Jalavoui,

 

thanks for your help

you can do a search in thid thread, as i already explain what you can do with the driver

the svn tree is not up to date but i'll upload my surce of iwi3945 in here

when you're ready let me know

 

about driver development

i've opened my laptop and find out taht i can replace my iwi2200 card by another if it as 2 antennas (main and aux)

this mean i can probally replace it by a 2100/3945/4965 card

if i manage to do this making the drivers work will be quite easy

anyone who as this cards can do a check and report if this can be done

iwi3945.tar.gz

i've opened my laptop and find out taht i can replace my iwi2200 card by another if it as 2 antennas (main and aux)

this mean i can probally replace it by a 2100/3945/4965 card

 

I'm afraid you can't, 2100 and 2200 are mini PCI, whereas 3945 and 4965 are mini PCI-E

Is there a big difference between how the linux drivers and the Mac Os drivers work? There are already drivers for the 2100/2200/3945 and 4965 cards under linux, maybe we can find the way to solve our problem here (even if it is quite complicated one^^)

hmmmm no success yet ,ha... :wacko:

i;ll try to help with logs from my aspire 9410 and 3945abg wirelless tommorow

everytime i come to this thread 10+ users watching with the hope somebody will fix it

it reminds me last year with the nvidia problems and then natit came and fixed everything

i had done a guide on how to fix the 7600gs AGP then (didnt worked in the 1st releases of natit)

is this even more complex?

hey all iv tried 2100b driver and I get a kernel crash [black screen of death] every time Mac boots. im a complete noob in mac, is there a way to start mac in safe mode like windows so that I can uninstall the driver.

open Terminal

% sudo -s  
% rm -rf /System/Library/Extensions/iwiXXXX.kext (replace XXXX with your specific driver)
% rm -rf /Library/Receipts/iwiXXXX.pkg  
% rm /System/Library/Extensions.*  
% kextcache -k /System/Library/Extensions

Hi All,

 

Noticed something odd. I opened the NetworkSelector provided with the install before installing the 3945 drivers. The NetworkSelector was able to see my Hawking Tech HWUG1A USB Wireless Adapter, when I tried hitting option 1 several times got a kernal panic. Unfortunately I didn't have logging enabled and haven't been able to reproduce the problem.

 

Any way here are the 3945 logs of my hp dv9330us.

 

Thanks,

 

Ken

ioreg.txt

dmesg.txt

system.txt

Hello,

 

i downloaded the package with the Jalavoui's source code for iwi3945 (from one of his last posts), and added some IOLogs to find what is happening, so here is what i found:

 

Oct  7 20:24:45 localhost kernel[0]: iwi3945: disable 0 led 1 mode 0
Oct  7 20:24:45 localhost kernel[0]: iwi3945: darwin_iwi3945 iomemory length: 0x1000 @ 0xd0100000
Oct  7 20:24:45 localhost kernel[0]: iwi3945: darwin_iwi3945 virt: 0x35040000 physical: 0xd0100000
Oct  7 20:24:45 localhost kernel[0]: iwi3945: darwin_iwi3945 IRQ: 18, Vendor ID: 8086, Product ID: 4222
Oct  7 20:24:45 localhost kernel[0]: iwi3945: PCI_ID 0x4222135b
Oct  7 20:24:45 localhost kernel[0]: iwi3945: : Detected Intel PRO/Wireless 3945ABG Network Connection
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Staging channel set to 6 [3]
Oct  7 20:24:45 localhost kernel[0]: iwi3945: f/w package hdr ucode version = 0x20e0003
Oct  7 20:24:45 localhost kernel[0]: iwi3945: f/w package hdr runtime inst size = 80524
Oct  7 20:24:45 localhost kernel[0]: iwi3945: f/w package hdr runtime data size = 32768
Oct  7 20:24:45 localhost kernel[0]: iwi3945: f/w package hdr boot inst size = 2396
Oct  7 20:24:45 localhost kernel[0]: iwi3945: f/w package hdr boot data size = 32768
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Copying (but not loading) uCode instr len 80524
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Copying (but not loading) uCode data len 32768
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Copying (but not loading) boot instr len 2396
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Copying (but not loading) boot data len 32768
Oct  7 20:24:45 localhost kernel[0]: iwi3945: ipw_sw_reset done.
Oct  7 20:24:45 localhost kernel[0]: iwi3945: Intialize power
Oct  7 20:24:45 localhost kernel[0]: iwi3945: adjust power command flags
Oct  7 20:24:45 localhost kernel[0]: iwi3945: ipw_grab_restricted_access: init
Oct  7 20:24:45 localhost kernel[0]: iwi3945: ipw_grab_restricted_access: (priv->status & STATUS_RF_KILL_MASK) == false
Oct  7 20:24:45 localhost kernel[0]: iwi3945: ipw_grab_restricted_access: MAC is in deep sleep!
Oct  7 20:24:45 localhost kernel[0]: iwi3945: return after first call to ipw_grab_restricted_access
Oct  7 20:24:45 localhost kernel[0]: iwi3945: nic_stop master
Oct  7 20:24:45 localhost kernel[0]: iwi3945: getHardwareAddress 00:13:02:5b:f0:69
Oct  7 20:24:45 localhost kernel[0]: iwi3945: power state (1)
Oct  7 20:24:45 localhost kernel[0]: iwi3945: configureInterface
Oct  7 20:24:45 localhost kernel[0]: iwi3945: configureInterface trueGFX0: family specific matching fails
Oct  7 20:24:48 localhost kernel[0]: darwin_iwi3945: Ethernet address 00:00:00:00:00:00

 

1) the mac address was always zeroed, so i put it hardcoded, like described in one of the google project's issues;

2) trying to find why using NetworkSelector i always ended with "unable to init nic", i found that ipw_grab_restricted_access is one of the problems, so that above is happening, anybody knows why?

3) the led is always off, but the switcher is on, since i left it on in Linux/Windows to boot into OSX, and trying to put if off and on doesnt cause anything in the logs (missing debug commands in the source?);

4) the SVN's source code for iw3945 is broke at the moment;

5) the process to compile and install the driver is the following: open Xcode as root, build it, then go to terminal and execute as normal user the load.command that is in the root directory of the driver's code, then i need to reboot, is this the way that you, developers of the driver, do?

6) i would like to provide the linux's logs for the lastest version of the driver/ucode, but im not sure from which website i should get the files, from http://ipw3945.sourceforge.net/ or from http://www.intellinuxwireless.org/index.php?n=Downloads ?

 

Thanks Jalavoui for your effort! Best regards.

Hello,

 

I downloaded the following files, and installed them in Linux:

 

http://prdownloads.sourceforge.net/ipw3945....2.tgz?download

http://bughost.org/ipw3945/ucode/ipw3945-ucode-1.14.2.tgz

 

so follow attached a complete sequence: load driver, connect to an access point, ping some place, unload the driver.

 

I can help if anybody has problems installing the driver and/or capturing the logs in Linux.

 

Regards.

syslog.zip

Hello,

 

1) the mac address was always zeroed, - check in start() the nic_init/nic_reset -> this is easy to fix, but it should not be broken

 

2) trying to find why using NetworkSelector i always ended with "unable to init nic", - you need to copy the headers from iwi3945 into NetworkSelector folder and rebuild (with small fixes for missing types. (void*) will do fine

 

3) the led is always off, but the switcher is on, - this is a big problem - check the rfkill the driver fail to work if the radio is off. take a look at iwi2200 code.

 

4) the SVN's source code for iw3945 is broke at the moment; - you have the latest source code. i'll update it soon

 

5) the process to compile and install the driver is the following: - yep it's not very nice - need to fix the free() to allow kextload/unload

 

6) try i'm using the code/firmware from there. the logs will help a lot

 

Thanks Jalavoui for your effort! Best regards.

 

i've tryed all firmware versions - use hex2string to make new firmware headers and try with new versions. some of them don't work and i can't understand why

at this point the main bug is make the driver accept commands - might be fixed by a new firmware version

take a look to what happen when the driver loads -> start(), ipw_up(), bg_alive_start() are key functions

 

iwi2100

fix for last panic as seen in picture

i don't mind writting code but i can use faster feedbacks

iwi2100.dmg

macintized, would've done that if i could but i cannot boot mac to acces terminal, i was asking if i could uninstall it 4m the boot menu like -v or -s or somethin, thanks anyway. tried -s but then all files are read only and i cant login somehow.

 

jalavoui, thanks alot 4 all ur help much appreciated, i wanna install your new driver but i cant boot mac, it crashes. I would b glad to post my logs since few users update you on 2100 and i only posted once, will do that if i could just boot mac. remember Im a complete noob abc123 level mac user

 

Version of iwi: Intel PROset/Wireless 2100svn latest, the version just b4 the 1 u posted 9/oct/2007

iwi message logs:n/a

Mac OS X version: 10.4.9

What you were doing when the bug occured: cannot boot, black screen, must restart

Kernel version: ????

IO80211Family version:???

 

thanxs.

 

macintized, would've done that if i could but i cannot boot mac to acces terminal, i was asking if i could uninstall it 4m the boot menu like -v or -s or somethin, thanks anyway. tried -s but then all files are read only and i cant login somehow.

 

m!Ka, try the Kismus boot DVD, that has a XFolders app runing. With that you can delete the kext that crush your system. Look for it on demonoid.

Hi,

 

iwi2100 still dont work :wub:

 

iwi2100: disable 0 mode 0

iwi2100: darwin_iwi2100 iomemory length: 0x1000 @ 0x90000000

iwi2100: darwin_iwi2100 virt: 0x20022000 physical: 0x90000000

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

iwi2100: ipw2100_sw_reset

iwi2100: ipw2100_queues_allocate.

iwi2100: initializing bd queue at virt=0x20023000, phys=00bb2000

iwi2100: initializing bd queue at virt=0x20024000, phys=09c8c000

iwi2100: : Detected Intel PRO/Wireless 2100 Network Connection

iwi2100: table 1 size: -1515870811

iwi2100: table 2 size: 42405

iwi2100: card MAC is 41:DB:EB:3F:AD:B1

iwi2100: setPowerState() power state (1)

iwi2100: configureInterface() configureInterface

 

Interface start but still dont work with networkselector.

 

I'm installing Xcode, can I help you using Xcode? How to debug correctly?

Is latest svn updated?

 

Ciao

Hi,

 

iwi2100 still dont work :wub:

Ciao

 

this is the last source

what i've said above for iwi3945 applies to iwi2100

the firmware is working fine - don't need to change

remove the .zip this is a .bz2 fille

this driver is quite similar to iwi2200 - a few changes and it will work

on previous logs it was hable to scan for networks

the networkselector need to be fixed - uncomment the code and try to debug it. update the headers from iwi2100 folder first

 

 

about leds

leds are only "funny light". they are not required for the driver to work

i've get some bugs in the past with iwi2200, so i've disable it for default

 

iwi2200

safe networks

i've asked a few posts ago for feedback about safe nets type

you can't expect a driver to work if nobody gives feedback on it

iwi2100.tar.bz2.zip

this is the last source

what i've said above for iwi3945 applies to iwi2100

the firmware is working fine - don't need to change

remove the .zip this is a .bz2 fille

 

The archive seems to be truncated.

 

tar jxvf iwi2100.tar.bz2

 

bzip2: Compressed file ends unexpectedly;

perhaps it is corrupted? *Possible* reason follows.

bzip2: Inappropriate ioctl for device

Input file = (stdin), output file = (stdout)

 

ls -la iwi2100.tar.bz2

-rw-r--r-- 1 eddi eddi 709632 Oct 10 02:06 iwi2100.tar.bz2

 

thanks

Hi Jalavoui,

 

I'd just like to tell you, yesterday I found out that I didn't install the driver for the wlan softswitcher in my Acer notebook so that it didn't work in windows and ubuntu. Now it works well. There's no problem between your driver and the notebook. Thank you very much for your help.

 

spu

iwi2100 source

this is a tar.gz fille - should open fine

 

Hi jalavoui,

 

I've at the moment I've found 2 issue in iwi2100:

 

1: err = ipw2100_get_ordinal(priv, IPW_ORD_STAT_ADAPTER_MAC, mac, &length);

this seems to need firmware loaded before reading mac address.

 

At the moment I faked it to isolate the problem

 

2: In ipw2100_start_adapter I have:

priv->status |= STATUS_RUNNING;

after this bit set I tested priv status and it seems STATUS_RUNNING is set

but: inside ipw_hw_send_command STATUS_RUNNING is cleared. So it seems priv isn't public or is lost somewhere...

 

I commended out this

// if (rf_kill_active(priv)) {

// IOLog( "%s: Radio is disabled by RF switch.\n",

// priv->net_dev->name);

//

// if (priv->stop_rf_kill) {

// priv->stop_rf_kill = 0;

// //queue_delayed_work(priv->workqueue, &priv->rf_kill, HZ);

// queue_te(3,OSMemberFunctionCast(thread_call_func_t,this,&darwin_iwi2100::ipw2100_rf_kill),priv,2000,true);

// }

//

// deferred = 1;

// }

 

now I get:

iwi2100: Sending ADAPTER_ADDRESS command (#11), 6 bytes

iwi2100: Attempt to send command while another command is pending.

 

Since STATUS_CMD_ACTIVE is resetted by isr_rx_complete_command

 

It seems that the problem is in the interrupt handler routine.

 

I'm not so skilled in c++ and osx, please can you help me in found where interrupt handled may fail?

 

I don't read anywhere in my dmesg

IOLog("INTA: 0x%08lX\n",

(unsigned long)inta & IPW_INTERRUPT_MASK);

 

(I suppose that interrupt routine isn't finished yet, isn't it?)

 

Eddi

what i've said above for iwi3945 applies to iwi2100

the firmware is working fine - don't need to change

remove the .zip this is a .bz2 fille

this driver is quite similar to iwi2200 - a few changes and it will work

on previous logs it was hable to scan for networks

the networkselector need to be fixed - uncomment the code and try to debug it. update the headers from iwi2100 folder first

Is the 3945 version working très bien now?

the svn tree is updated for all iwi driversiwi200 as many changes - let me know how it works

Hi jalavoui,I've at the moment I've found 2 issue in iwi2100:1: err = ipw2100_get_ordinal(priv, IPW_ORD_STAT_ADAPTER_MAC, mac, &length);this can be because of the start() - try to call ipw_up() instead of nic_init/reset -> this is important otherwise you'll get a invalid mac address. 2: In ipw2100_start_adapter I have: priv->status |= STATUS_RUNNING;after this bit set I tested priv status and it seems STATUS_RUNNING is setbut: inside ipw_hw_send_command STATUS_RUNNING is cleared.if the driver don't have this status it wil never send commands -> check when the driver clear this - it should only hapen when ipw2100_hw_stop_adapter(), ipw2100_power_cycle_adapter() is called. add debug messages to see when the driver calls this functionsI commended out this// if (rf_kill_active(priv)) {// IOLog( "%s: Radio is disabled by RF switch.\n",// priv->net_dev->name);//// if (priv->stop_rf_kill) {// priv->stop_rf_kill = 0;// //queue_delayed_work(priv->workqueue, &priv->rf_kill, HZ);// queue_te(3,OSMemberFunctionCast(thread_call_func_t,this,&darwin_iwi2100::ipw2100_rf_kill),priv,2000,true);// }//// deferred = 1;// }you need to use this codetake a look to the rfkill handle - if the radio is off the driver will never workSince STATUS_CMD_ACTIVE is resetted by isr_rx_complete_commandthis allways happens when a command is finished - it's ok(I suppose that interrupt routine isn't finished yet, isn't it?)it was working in the past. it alows the driver to start scanning, and get result about scanned networks
you should change the debug level log to get more/less debug messages. this is a good way to find bugswhen you fix this small bugs the driver wil start scanning and we can look at the rx/tx routines - they give me kenel panic in the pastyou can search this thread for previous logs - might helpalso the linux driver logs can help - if you have them, take a look

you should look at configureConnection() to fix the rfkill hack - if this works them the radio will be set on and the driver will always work - this can be hard to do

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