Forum: PC-Programmierung CH340G und Linux (Slackware 14)


von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Nachdem der Parity-Bug des CH340 in Linux bekannt ist (der in Verbindung 
mit stm32flash zum Tragen kommt), lief nach einem bekannten Patch bisher 
alles reibungslos mit dem Chip...

... bis ich auf die Idee kam, mir ein neues Mainboard (MSI A320M mit 
Ryzen5 Prozessor) zu kaufen.

Zu meinem Schrecken mußte ich feststellen, dass sich STM32 Controller 
nur noch ein einziges mal mittels Bootloader und CH340 Chip flashen 
ließen und danach mußte die USB Verbindung unterbrochen werden und 
wieder hergestellt, damit ich weiterhin CH340 verwenden kann (was 
natürlich nervig ist).

Das verwendete Linux ist Slackware 14, ob dieses Verhalten mit einer 
anderen Linux Distribution ebenso ist, weiß ich nicht.

Meine Lösung ist, anstelle den Anschluß jedesmal aus- und wieder 
einzustecken, den Anschluß mit dem der CH340 verbunden ist, zu reseten.

Schönerweise haben alle CH340 dieselbe VID:PID (1a86:7523).

Mein Programm scant den USB-Bus und der erste angeschlossene Chip wird 
geresetet (somit funktioniert diese Lösung nur, wenn über den ersten 
angeschlossenen CH340 Chip ein STM32 Controller geflasht wird).

Bevor nun also stm32flash aufgerufen wird, muß ch340reset gestartet sein 
und alles funktioniert wieder wie gehabt.

Gepacktes Programm im Anhang, in ein Verzeichnis auspacken und make 
aufrufen.

Das entstandene Programm ch340reset am besten nach /usr/local/bin 
kopieren, damit es im Suchpfad liegt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.