premier push
This commit is contained in:
commit
b03b6c8197
405 files changed
+152754
No files matched your search
+134
@@ -0,0 +1,134 @@
|
||||
# Compilation et Déploiement de QualcommWireless
|
||||
|
||||
Ce guide détaille les étapes pour compiler le kext **QualcommWireless** à partir des sources et l'intégrer proprement dans l'EFI OpenCore.
|
||||
|
||||
---
|
||||
|
||||
## 1. Prérequis Système
|
||||
|
||||
- **Système d'exploitation hôte** : macOS Sonoma (14.x) ou macOS Sequoia (15.x).
|
||||
- **Environnement de développement** : Xcode 15+ ou 16+ avec les outils en ligne de commande (`xcode-select --install`).
|
||||
- **SDK macOS** : macOS 15.x SDK (inclus dans Xcode).
|
||||
- **Architectures cibles** : Binaire universel `x86_64` (Hackintosh Intel/AMD) et `arm64e` (Apple Silicon).
|
||||
|
||||
---
|
||||
|
||||
## 2. Arborescence du Projet
|
||||
|
||||
```text
|
||||
QualcommWireless/
|
||||
├── .gitignore # Filtres pour conserver un dépôt git propre
|
||||
├── docs/ # Documentation technique détaillée
|
||||
│ ├── ARCHITECTURE.md # Vue d'ensemble matérielle & logicielle
|
||||
│ ├── BLUETOOTH.md # Analyse Bluetooth, diagnostic crash & fix
|
||||
│ ├── NATIVE_WIFI.md # Pile Wi-Fi native (IO80211Controller)
|
||||
│ └── BUILD.md # Ce guide de compilation et d'installation
|
||||
├── firmware/ # Binaires de microprogrammes WCN7850
|
||||
│ ├── amss.bin # Microprogramme principal Wi-Fi
|
||||
│ ├── board-2.bin # Données de calibration radio RF
|
||||
│ └── m3.bin # Microprogramme d'économie d'énergie M3
|
||||
├── QualcommWireless/ # Code source du pilote C++ / IOKit
|
||||
│ ├── Info.plist # Descripteur et personnalités IOKit
|
||||
│ ├── Firmware_WCN7850.h # Header des microprogrammes BT intégrés
|
||||
│ ├── Firmware_WCN7850_Wifi.h # Déclarations des microprogrammes Wi-Fi
|
||||
│ ├── QualcommWifi.hpp/.cpp # Implémentation du pilote Wi-Fi natif
|
||||
│ ├── QualcommWireless.hpp/.cpp # Implémentation de la partie Bluetooth USB
|
||||
│ └── include/ # Headers internes IOKit & 802.11
|
||||
└── QualcommWireless.xcodeproj # Projet Xcode configuré pour build KEXT
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Compilation
|
||||
|
||||
### 3.1. En Ligne de Commande (Recommandé)
|
||||
Depuis la racine du projet :
|
||||
|
||||
```bash
|
||||
xcodebuild -project QualcommWireless.xcodeproj -configuration Release
|
||||
```
|
||||
|
||||
Le bundle kext final est généré dans :
|
||||
`build/Release/QualcommWireless.kext`
|
||||
|
||||
### 3.2. Vérification du Binaire
|
||||
Pour s'assurer que le kext est bien un binaire universel prêt pour le chargement noyau :
|
||||
|
||||
```bash
|
||||
file build/Release/QualcommWireless.kext/Contents/MacOS/QualcommWireless
|
||||
```
|
||||
|
||||
Sortie attendue :
|
||||
```text
|
||||
Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit kext bundle x86_64] [arm64e]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Déploiement dans OpenCore
|
||||
|
||||
### 4.1. Copie du Kext dans l'EFI
|
||||
Montez votre partition EFI (ex. `/Volumes/EFI`), puis copiez le kext compilé :
|
||||
|
||||
```bash
|
||||
cp -R build/Release/QualcommWireless.kext /Volumes/EFI/EFI/OC/Kexts/
|
||||
```
|
||||
|
||||
### 4.2. Configuration dans `config.plist`
|
||||
|
||||
Dans la section `Kernel -> Add` de votre `config.plist` :
|
||||
|
||||
```xml
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>Any</string>
|
||||
<key>BundlePath</key>
|
||||
<string>QualcommWireless.kext</string>
|
||||
<key>Comment</key>
|
||||
<string>Qualcomm FastConnect 7800 Wi-Fi & Bluetooth</string>
|
||||
<key>Enabled</key>
|
||||
<true/>
|
||||
<key>ExecutablePath</key>
|
||||
<string>Contents/MacOS/QualcommWireless</string>
|
||||
<key>MaxKernel</key>
|
||||
<string></string>
|
||||
<key>MinKernel</key>
|
||||
<string></string>
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
```
|
||||
|
||||
> [!CAUTION]
|
||||
> **RÈGLE CRITIQUE POUR ÉVITER LES CRASHS :**
|
||||
> - **DÉSACTIVEZ ET SUPPRIMEZ `IntelBTPatcher.kext`**. Il est conçu uniquement pour les puces Intel et provoque un Kernel Panic immédiat à la connexion des périphériques Bluetooth sous macOS 15 Sequoia (`IOBluetoothL2CAPChannel` taggedRelease registry corruption).
|
||||
> - **CONSERVEZ `BlueToolFixup.kext`**, qui est indispensable pour activer la gestion des dongles tiers dans `bluetoothd`.
|
||||
|
||||
### 4.3. Arguments de Démarrage (`NVRAM -> boot-args`)
|
||||
Vérifiez la présence des arguments suivants pour assurer la compatibilité Bluetooth :
|
||||
```text
|
||||
-btlfxallowanyaddr -btlfxnvramcheck
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Diagnostic et Commandes Utiles
|
||||
|
||||
Pour vérifier l'état du système après un redémarrage :
|
||||
|
||||
- **Vérifier l'état du Bluetooth** :
|
||||
```bash
|
||||
system_profiler SPBluetoothDataType
|
||||
```
|
||||
- **Vérifier la détection USB du contrôleur** :
|
||||
```bash
|
||||
ioreg -l -r -n "IOUSBHostDevice@00a10000"
|
||||
```
|
||||
- **Consulter les journaux Bluetooth en temps réel** :
|
||||
```bash
|
||||
/usr/bin/log stream --predicate 'process == "bluetoothd"'
|
||||
```
|
||||
- **Vérifier les extensions noyau chargées** :
|
||||
```bash
|
||||
kmutil showloaded | grep -iE 'qualcomm|blue'
|
||||
```
|
||||
Reference in new issue
Block a user