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:
Erwan committed 2026-10-19 15:58:32 +02:00
1 parent a4e77c9a53
commit f43bfa8000
1 file changed
+6 -1
+6 -1
View File
@@ -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");