Cela faisait un moment que je n'étais pas accro à jouer avec le clavier de mon propre clavier (ErgoDash mini), alors je l'ai partagé. Non limité à ErgoDash mini, il s'agit d'un événement qui peut survenir lors de la manipulation d'un clavier personnalisé à l'aide de Pro Micro (plutôt, tous les appareils utilisant des cartes compatibles Arduino) dans un environnement Linux.
En tant qu'événement, lorsque j'ai essayé d'écrire un keymap avec la commande suivante dans le répertoire cloné de QMK Firmware,
$ sudo make ergodash/mini:[Répertoire Keymap]:avrdude
L'écriture a échoué avec l'erreur suivante.
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
Les informations environnementales au moment de l'événement sont les suivantes.
$ uname -vrpm
4.15.0-76-generic #86-Ubuntu SMP Fri Jan 17 17:24:28 UTC 2020 x86_64 x86_64
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
L'écriture du keymap a échoué en raison d'une interruption du Linux ModemManager. Après avoir arrêté ModemManager comme indiqué ci-dessous, la réexécution de l'écriture a réussi. ** * Assurez-vous de confirmer que vous n'utilisez pas Modem Manager avant de l'exécuter. C'est suspect si vous avez une connexion haut débit mobile, alors arrêtons. ** **
$ sudo systemctl stop ModemManager.service
ModemManager contrôle la connexion avec [Mobile Broadband](https://ja.wikipedia.org/wiki/Mobile Broadband). C'est un démon qui vous aidera. De nombreux modems utilisés pour la connexion haut débit mobile sont connectés via USB. Ainsi, bien sûr, Modem Manager peut ouvrir un port USB. Le port USB auquel le clavier (ou plutôt Pro Micro) est connecté ne fait pas exception, et si une interruption de Modem Manager se produit pendant le processus d'écriture du clavier, le processus échouera.
Cela semble être un problème bien connu, et un problème a été rédigé pour le résoudre dans le référentiel du micrologiciel QMK. Apparemment, la solution de contournement semble être quelque chose comme "Si ModemManager est en cours d'exécution lors de l'exécution du traitement flash, un avertissement sera émis", il semble donc qu'il n'y ait aucun changement dans ce que vous devez faire.
Si vous n'utilisez pas le gestionnaire de modem arrêté, vous pouvez le laisser tel quel. Si vous ne l'utilisez jamais, vous pouvez désactiver le paramètre de démarrage automatique avec la commande suivante.
$ sudo systemctl disable ModemManager.service
Si vous dites: "Cela dit, il a été démarré, donc je veux le restaurer ...", vous pouvez le redémarrer.
$ sudo systemctl start ModemManager.service
Kit de clavier Helix assemblé-FOHTE.NET avrdude: Error: butterfly programmer uses avr_write_page() but does not provide a cmd() method - Stack Exchange #877024 modemmanager should ask before messing with serial ports - Debian Bug report logs
Recommended Posts