
openqore v0.1.0-beta.1
Libérez tout le potentiel de vos écouteurs BES ! :)
openqore
une boîte à outils open-source pour patcher, modifier et améliorer le firmware des casques audio basés sur les chipsets BES (initialement démarré à partir du soundcore Q35), avec un support futur d'autres modèles prévu.
note : ce projet est mon parcours personnel dans le monde du reverse-engineering matériel et des systèmes embarqués. attendez-vous à des bugs, des erreurs et beaucoup de plaisir. toutes les contributions et conseils sont les bienvenus !
informations importantes ! (navigation rapide)
voulez-vous :
- patcher le firmware de votre casque ? -> qorepatcher (ce dépôt, voir ci-dessous pour le démarrage rapide)
- installer / développer le firmware personnalisé ? (
appareils soundcore basés sur bes2300puniquement pour le moment) -> openqore SDK - flasher une mise à jour / installer un firmware personnalisé en over-the-air ? (OTA) -> fichiers OTA pour appareils BES et besota - flasheur OTA BES
- flasher une mise à jour via UART / restaurer après une mauvaise mise à jour ou faire une sauvegarde ? -> guide de flash matériel
j'ai aussi créé un projet de démonstration - un portage de DOOM basé sur le projet DOOMBuds. allez y jeter un œil aussi ! =)
qorepatcher
📚 lire la documentation complète 📚
appareils pris en charge
ce projet a été démarré avec le soundcore Life Q35. si vous souhaitez aider à tester ou ajouter la prise en charge d'un nouveau modèle, veuillez ouvrir une issue ou m'envoyer un DM (lire contact) !
lisez feuilles de route et modèles pour le statut de prise en charge des puces et modèles.
feuille de route du projet
- patcheur de firmware initial pour le remplacement des sons.
- faire fonctionner le patcheur avec tous les chipsets bes2300* (attention ! nécessite des tests)
- faire fonctionner le patcheur avec tous (ou la plupart) les chipsets bes
- créer une interface graphique conviviale pour le patcheur.
- reverse-engineer le protocole de mise à jour OTA (over-the-air) pour le flash sans fil. (voir besota)
- documenter la structure du firmware et les fonctions clés.
- développer une bibliothèque de packs sonores créés par la communauté.
démarrage rapide
ce guide suppose que vous avez python et git installés sur votre système si vous êtes sous linux ou si vous utilisez le mode CLI.
1. téléchargez la dernière version depuis releases et ouvrez le fichier .exe.
2. installez les dépendances (uniquement pour le CLI, linux et la compilation)
le patcheur nécessite FFmpeg pour la conversion audio et pybluez :
windows :
pip install git+https://github.com/pybluez/pybluez.git
winget install ffmpeg
macos :
pip install git+https://github.com/pybluez/pybluez.git
brew install ffmpeg
ubuntu/debian :
pip install git+https://github.com/pybluez/pybluez.git
sudo apt install ffmpeg
3. obtenez votre fichier de firmware
cliquez sur « Browse firmware archive » et téléchargez le firmware (ou sélectionnez l'option « patch firmware » -> « download from online archive » dans le CLI).
vous pouvez également télécharger l'image OTA ici ou lire le flash avec UART :
➡️ guide matériel : connexion via UART
la lecture du flash via ota (over-the-air) est prévue pour une future mise à jour. (si c'est possible :D)
4. félicitations !
vous pouvez trouver les instructions d'utilisation ici
faq
1. quelle option du firmware (sans OTA boot ou avec) dans qorepatcher dois-je sélectionner ?
si vous patchez le dump du flash du casque, sélectionnez l'option « with OTA boot ».
si vous avez téléchargé l'image de mise à jour OTA depuis les serveurs de mise à jour officiels, sélectionnez l'option « without OTA boot ».
note : si vous avez patché le firmware sans OTA boot, vous devez ajouter l'offset OTA boot avant de flasher via UART (bestool). vous n'avez PAS besoin de cela si vous utilisez le script besota !
contribution
les contributions sont ce qui fait de la communauté open source un endroit aussi incroyable pour apprendre, s'inspirer et créer. toutes vos contributions sont grandement appréciées.
consultez également le guide de création de modules !
si vous avez une suggestion pour améliorer cela, veuillez forker le dépôt et créer une pull request. vous pouvez aussi simplement ouvrir une issue avec le tag « enhancement ». n'oubliez pas de donner une étoile au projet ! merci encore !
- forkez le projet.
- créez votre branche de fonctionnalité (
git checkout -b feature/amazing-feature). - committez vos modifications (
git commit -m 'feat: add some amazing feature'). - poussez vers la branche (
git push origin feature/amazing-feature). - ouvrez une pull request.
contact & communauté
❤️ soutenir le projet
si vous trouvez ce projet utile et souhaitez soutenir son développement futur, vous pouvez m'offrir un café ou quelques snacks via boosty ! chaque contribution est grandement appréciée et m'aide à consacrer plus de temps à openqore.