1 Commits
Author SHA1 Message Date
Erwan b784cb9b47 fix(wifi): résolution du rejet OpenCore 'Invalid Parameter' par injection de kmod_info
- Breakthroughs & Rétro-ingénierie :
  * Analyse des logs de démarrage OpenCore (opencore-2026-10-16-080610.txt) : mise en évidence du rejet 'OC: Prelinked injection QualcommWifi.kext - Invalid Parameter'.
  * Audit du code source d'OpenCore (OcAppleKernelLib/PrelinkedContext.c) : la fonction PrelinkedInjectKext() exécute KextFindKmodAddress() qui requiert obligatoirement la présence de la structure et du symbole Mach-O '_kmod_info' (généré via KMOD_EXPLICIT_DECL). Son absence renvoie EFI_INVALID_PARAMETER et avorte l'injection.
  * Alignement sur l'architecture de QualcommWireless.kext : inclusion des stubs kmod (_start, _stop, _kmod_info) et liaison statique avec libkmod.a.
  * Correction dans OpenCore config.plist : neutralisation de MinKernel ('25.0.0' -> '') pour éviter les restrictions de versionnage kernel sur macOS Tahoe.

- Modifications apportées :
  * QualcommWifi/QualcommWifi_info.c : implémentation de l'interface kmod avec KMOD_EXPLICIT_DECL(com.nawrhehe.QualcommWifi, '1.1.0', _start, _stop).
  * build_wifi.sh : compilation de QualcommWifi_info.c, liaison avec libkmod.a du SDK macOS, ciblage explicite macos26.0, et signature ad-hoc avec codesign.
  * EFI (/Volumes/EFI/EFI/OC/) : mise à jour de QualcommWifi.kext et alignement de MinKernel dans config.plist.

- Validation :
  * Build réussi avec './build_wifi.sh'.
  * Validation kmutil libraries à 100% contre BootKernelExtensions.kc.
  * Présence de _kmod_info validée via 'nm -g'.
  * Syntaxe config.plist validée avec plutil.
2026-10-16 10:18:36 +02:00