
Nach dem Upgrade auf den neuen Kernel 5.4.0-88-generic kommunizieren ESP266-Entwicklungsboards mit dem Chip CH340G (USB-Seriell-Konverter) nicht mehr mit dem Espressif-Flashing-Tool „esptool“ auf meinem Ubuntu 20.04 Dell-Laptop. Das Tool ist in Python geschrieben und für die Ausführung über die Befehlszeile konzipiert. Ich habe das Problem vorübergehend gelöst, indem ich Grub so geändert habe, dass es unter 5.4.0-86 bootet, aber es wäre ein Problem, wenn dieser Fehler bei den nächsten Kernel-Upgrades weiterhin auftritt. Ich habe einen einfachen Code geschrieben, um die direkte USB-/Seriell-Kommunikation mit einem einfachen seriellen Terminal (moserial) zu testen, und in diesem Fall scheint der CH340G-Chip in beide Richtungen ordnungsgemäß zu funktionieren. Ich vermute also, dass es ein Problem mit Python gibt, das auf den Chip-Treiber im neuen Kernel zugreift. Ich weiß nicht, wo ich Kernel-Probleme melden soll, also habe ich beschlossen, das Problem in diesem Forum zu erwähnen. Wenn dies nicht der richtige Ort ist, wäre ich dankbar, wenn mir jemand von Ihnen sagen könnte, wie ich dies am besten über den entsprechenden Kanal melden kann.
Antwort1
Ich habe den gleichen Kernel und das gleiche Problem.
Ich kann den Chip mit Windows auf meinem portablen Dual-Boot-Gerät programmieren und konnte ihn von Ubuntu 19.04 aus programmieren.
Nach dem Update ist keine Programmierung mehr möglich. Der Chip wird erkannt und ich kann mit der seriellen Schnittstelle kommunizieren, aber ich komme nicht in den Programmiermodus.
Das Zurücksetzen des CH341-Moduls auf die Version in der Kernelversion 5.4.0-86 funktioniert ebenfalls.
Entladen Sie einfach das Modul:
modprobe -r ch341
Benennen Sie das Original um:
mv /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko.ori
und dann den vom vorherigen Kernel holen (ich hoffe, du hast ihn noch an Bord)
cp /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko
und schlussendlich:
modprobe ch341
Jetzt können Sie den Chip flashen.
Antwort2
Danke! Wie erwähnt habe ich den Kernel vorübergehend auf 5.4.0-86 heruntergestuft und warte ab, ob das Problem in der nächsten Version behoben ist. Ich habe mir jedoch teilweise Ihren sehr guten Vorschlag zu Herzen genommen und den funktionierenden CH341-Treiber von /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial nach Home kopiert, nur für den Fall, dass der Fehler im nächsten Kernel weiterhin auftritt.