good to have a hack team

QUOTE(pere @ Apr 26 2008, 12:50 PM)

Yesterday night tried the Iosleep with several values, 500, 1000, 1500, 2000, the last value makes the microcode works 100% of the times, and i got this:1st scannot ready for 1st scan
this means you get a error that prevents the scan from start - iosleep hack?
mlazy,
you get initial boot errrors,
but after that the scan cmds work ok
better leave it this way?
ok - this is a perfect log:
Apr 26 14:04:44 Macintosh kernel[0]: SCAN_COMPLETE_NOTIFICATION, 0x84
Apr 26 14:04:44 Macintosh kernel[0]: iwl3945: U iwl3945_rx_scan_complete_notif Scan complete: 23 channels (TSF 0x002E9984:00000000) - 1
Apr 26 14:04:44 Macintosh kernel[0]: iwl3945: U iwl3945_rx_scan_complete_notif Scan pass on 5.2GHz took 2190ms
Apr 26 14:04:44 Macintosh kernel[0]: iwl3945: U iwl3945_rx_scan_complete_notif Setting scan to off
Apr 26 14:04:44 Macintosh kernel[0]: iwl3945: U iwl3945_rx_scan_complete_notif Scan took 2560ms
Apr 26 14:04:44 Macintosh kernel[0]: queue_te @ /Users/droberts/Desktop/iwi3945_new-osx10.5/compatibility.cpp:6535
Apr 26 14:04:44 Macintosh kernel[0]: test_function @ /Users/droberts/Desktop/iwi3945_new-osx10.5/compatibility.cpp:6524
Apr 26 14:04:44 Macintosh kernel[0]: iwl3945: U iwl3945_bg_scan_completed SCAN complete scan
Apr 26 14:04:44 Macintosh kernel[0]: ieee80211_scan_completed
the iosleep timeout is very good:
Apr 26 14:04:38 Macintosh kernel[0]: darwin_iwi3945: Ethernet address 00:18:de:a4:ab:39
Apr 26 14:04:38 Macintosh kernel[0]: iwl3945: U iwl3945_send_cmd_sync Wait REPLY_TX_PWR_TABLE_CMD Condition: 49ms left
Apr 26 14:04:38 Macintosh kernel[0]: queue_te @ /Users/droberts/Desktop/iwi3945_new-osx10.5/compatibility.cpp:6535
Apr 26 14:04:38 Macintosh kernel[0]: timei 60000 timei2 -556682884
Apr 26 14:04:38 Macintosh kernel[0]: iwl3945: U iwl3945_alive_start ALIVE processing complete.
Apr 26 14:04:38 Macintosh kernel[0]: __ OUT iwl3945_alive_start __
the line __OUT means that ucode is ok and this was made at the right time - before call enable()
if you all agree this is the best solution
try BoboBear hack
if you get good results i'll put his code in the svn tree
the scan completes ok but doesn't restart (loops)
how should i make this work?
i have some ideas i'll post here and let you add them in xcode:
search for
IOLog("1st scan\n");
you have
ieee80211_sta_req_scan(dev,(u8*)"<hidden>", sizeof("<hidden>"));
this call the scan ok
try
ieee80211_sta_req_scan(dev,NULL,0);
i'm looking at iwl3945_rx_scan_complete_notif() wait...
ok here's the reason for the scan don't restart:
/* No need to wake the master device. */
if (sdata->dev == local->mdev)
continue;
if (sdata->type == IEEE80211_IF_TYPE_STA) {
if (sdata->u.sta.associated)
ieee80211_send_nullfunc(local, sdata, 0);
ieee80211_sta_timer((unsigned long)sdata);
}
i think the driver allways goes to if (sdata->dev == local->mdev)
it should call ieee80211_sta_timer() -> this will make the scan loop
ok - i figure it out - this is because i hacked the local->mdev
i'll comment this code, apply the timer hacks and upload to svn for testing
iwi3945 rel 847
add previous timer,dev hacks
iwi4965 rel 848
this driver don't need timer hacks - i guess...
both driver can call scan by two way search for IOLog("1st scan\n"); and try both ways
i'm expecting the driver to starts scanning in a loop, i.e, it will keeep scanning
if all of this works it's possible it tryes to associate to a network
if this happens you might get a kernel panic
test this and report
i'm very interested in making all this work in mlazy's card
ok - i stop writting - go run some tests

pere - you can ignore the bac crc info