From f43bfa8000c265e82da5756d9187f0d036fcaab6 Mon Sep 17 00:00:00 2001 From: Erwan Date: Mon, 19 Oct 2026 15:58:32 +0200 Subject: [PATCH] =?UTF-8?q?feat(wifi):=20instrumenter=20l'=C3=89tape=207?= =?UTF-8?q?=20(fSkywalkInterface->registerService)=20avec=20t=C3=A9l=C3=A9?= =?UTF-8?q?m=C3=A9trie=20fine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 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. --- QualcommWifi/QualcommWifi.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/QualcommWifi/QualcommWifi.cpp b/QualcommWifi/QualcommWifi.cpp index b7e4f4f..f8fd114 100644 --- a/QualcommWifi/QualcommWifi.cpp +++ b/QualcommWifi/QualcommWifi.cpp @@ -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");