Es ist schon eine Weile her, dass ich süchtig danach war, mit der Keymap meiner eigenen Tastatur (ErgoDash mini) zu spielen, also habe ich sie geteilt. Dies ist nicht nur auf ErgoDash mini beschränkt, sondern kann auch auftreten, wenn eine selbst erstellte Tastatur mit Pro Micro (eher alle Geräte mit Arduino-kompatiblen Karten) in einer Linux-Umgebung verarbeitet wird.
Als ich versuchte, eine Keymap mit dem folgenden Befehl in das geklonte Verzeichnis von QMK Firmware zu schreiben,
$ sudo make ergodash/mini:[Keymap-Verzeichnis]:avrdude
Das Schreiben schlug mit dem folgenden Fehler fehl.
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
Die Umgebungsinformationen zum Zeitpunkt des Auftretens lauten wie folgt.
$ 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"
Das Schreiben der Keymap ist aufgrund eines Linux ModemManager-Interrupts fehlgeschlagen. Nach dem Beenden von ModemManager wie unten gezeigt war die erneute Ausführung des Schreibens erfolgreich. ** * Vergewissern Sie sich vor der Ausführung, dass Sie Modem Manager nicht verwenden. Es ist verdächtig, wenn Sie eine mobile Breitbandverbindung haben. Hören wir also auf. ** ** **
$ sudo systemctl stop ModemManager.service
ModemManager steuert die Verbindung mit [Mobile Broadband](https://ja.wikipedia.org/wiki/Mobile Broadband). Es ist ein Dämon, der dir helfen wird. Viele Modems für die mobile Breitbandverbindung sind über USB angeschlossen. Natürlich kann Modem Manager einen USB-Anschluss öffnen. Der USB-Anschluss, an den die Tastatur (oder besser gesagt Pro Micro) angeschlossen ist, ist keine Ausnahme. Wenn während des Keymap-Schreibvorgangs ein Modem Manager-Interrupt auftritt, schlägt der Vorgang fehl.
Es scheint ein bekanntes Problem zu sein, und ein Problem wurde entworfen, um es im QMK-Firmware-Repository zu beheben. Anscheinend scheint die Problemumgehung so etwas wie "Wenn ModemManager beim Ausführen der Flash-Verarbeitung ausgeführt wird, wird eine Warnung ausgegeben", sodass sich anscheinend nichts an Ihren Aufgaben ändert.
Wenn Sie den gestoppten Modem-Manager nicht verwenden, können Sie ihn unverändert lassen. Wenn Sie es nie verwenden, können Sie die automatische Starteinstellung mit dem folgenden Befehl deaktivieren.
$ sudo systemctl disable ModemManager.service
Wenn Sie sagen: "Das heißt, es wurde gestartet, also möchte ich es wiederherstellen ...", können Sie es erneut starten.
$ sudo systemctl start ModemManager.service
Zusammengesetztes Helix-Tastaturkit-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