feat(wifi): instrumenter l'Étape 7 (fSkywalkInterface->registerService) avec télémétrie fine
### Breakthroughs & Rétro-ingénierie - Validation historique de l'Étape 6 : fSkywalkInterface->start(this) a complété son exécution avec succès sans crash ni gel (trail NVRAM: cb_allocLock_exit > cb_fault_reg > cb_joinPMtree_enter > cb_joinPMtree_exit > s6_2_start_ok > s6_3_post_start). - Dans l'IORegistry, IO80211SkywalkInterface est active, attachée et en état d'alimentation actif (DevicePowerState=1, CurrentPowerState=1, MAC=02:03:7f:12:34:56). - L'absence d'interface BSD en1 dans le menu Wi-Fi est due à la séparation de sécurité par conception (l'Étape 7 registerService() et qcom_register étaient volontairement désactivés). ### Modifications apportées - QualcommWifi/QualcommWifi.cpp : * Ajout d'une temporisation matérielle IOSleep(200) et IOSleep(100) pour persister les balises s7_0_before_register et s7_1_register_done dans la mémoire flash SPI. * Ajout de bannières IOLog haute visibilité pour l'appel de fSkywalkInterface->registerService(). ### Validation - Compilation réussie sous ./build_wifi.sh. - kmutil libraries validé à 100% contre BootKernelExtensions.kc.
This commit is contained in:
1 parent
a4e77c9a53
commit
f43bfa8000
1 file changed
+6
-1
@@ -975,9 +975,14 @@ bool QualcommWifi::start(IOService *provider) {
|
||||
|
||||
if (skywalk_step >= 7) {
|
||||
logNvramStage("s7_0_before_register");
|
||||
IOSleep(200);
|
||||
IOLog("QualcommWifi: ========================================================\n");
|
||||
IOLog("QualcommWifi: >>> ETAPE 7 : Appel de fSkywalkInterface->registerService() <<<\n");
|
||||
IOLog("QualcommWifi: ========================================================\n");
|
||||
fSkywalkInterface->registerService();
|
||||
logNvramStage("s7_1_register_done");
|
||||
IOLog("QualcommWifi: fSkywalkInterface->registerService() publié !\n");
|
||||
IOSleep(100);
|
||||
IOLog("QualcommWifi: >>> [SUCCES] fSkywalkInterface->registerService() publié avec succès ! <<<\n");
|
||||
}
|
||||
} else {
|
||||
logNvramStage("s6_2_start_err");
|
||||
|
||||
Reference in new issue
Block a user