Bestandsaufnahme USB/seriell-Treiber

Ich hatte gestern zu diesem Thema ja schon was aufgemacht: CH340-Treiber für Mac OS 12.x.
Da wollte ich mal so ein bisschen rumfragen, wie sich das bei euch so darstellt und wie ich es vielleicht entsprechend anpasse. Ich brainstorme auf jeden Fall einfach mal, wie sich das Ganze bei mir darstellt. Wenn das bei euch anders ist oder ihr da Verbesserungsvorschläge habt, dann teilt mir das gerne mit!

MAC:
Ich selbst verwende primär MACs und entsprechend habe ich in der platformio.ini die Devicenamen dazu passend konfiguriert. Bislang, unter Mac OS Catalina, trugen die Devices für CH340 folgende Namen: /dev/cu.wchusbserial1410 oder /dev/cu.wchusbserial1420. Ich hatte die Treiber unter 10.14 glaube ich irgendwann mal installiert. Das ist aber wohl gar nicht notwendig und tatsächlich hatte ich da so ein bisschen HickHack. Auf der Seite von Wemos steht tatsächlich auch:

For Mac OSX 10.14 and greater, do not install any supplimentary drivers. The drivers are now included with OSX. Installing the CH340 will cause a conflict and you will not be able to connect.

Nun habe ich seit kurzem ein Macbook Pro mit M1-Prozessor. Dieser setzt nicht mehr auf die altbekannte x86-Architektur, sondern setzt, wie man das auch von Handies und Pads kennt, einen ARM-Prozessor ein. An der Stelle für alle diejenigen, die sich Fragen, ob die ganze Toolchain für den ESP32 (und überhaupt Visual Studio Code / Platformio) dann noch läuft: Ja, tut sie. Im Übrigen auch krass schnell (20s für ein ESPuino-Build nach vorausgehendem clean). Aber egal. Jedenfalls habe ich jetzt ein frisches MAC OS 12.2 laufen und dort heißen die USB-Devices so ähnlich, wie sie auch unter Linux heißen: /dev/tty.usbserial*. Die Nummer dahinter hängt wohl davon ab, an welchem USB-Port man das eingestöpselt hat. Definiere ich upload_port oder monitor_port nicht (auskommentieren), dann hat das bei mir immer so einem Fehler geführt.

Linux:
Vor einer Weile habe ich auf einem alten Notebook „Mint Linux 20.2“ installiert, inzwischen gibt es da die 20.3. Dort war der Treiber für CH340 direkt im Linux-Kernel integriert. Die Devicenamen lauten: /dev/ttyUSB*. Definiere ich upload_port oder monitor_port nicht (auskommentieren), dann hat das bei mir immer so einem Fehler geführt.

Windows 10:
Hier scheint man einen Treiber zu benötigen. Hat man diesen, dann heißen die Devices irgendwas mit COM. Also beispielsweise COM5. Wie mir von Benutzern schon berichtet wurde, kann man upload_port oder monitor_port einfach auskommentieren und dann wird das passende Device automatisch gefunden.

Wir hatten hier mal die Diskussion, dass man die Devicenamen irgendwie automatisieren kann, so dass man damit nicht immer hantieren muss. Wie kriegt man das auf nem MAC oder unter Linux hin? Ich weiß wir hatten hier die Diskussion mal und ich hatte es mir auch als Aktionspunkt mitgenommen. Helft mir nochmal auf die Sprünge :slight_smile:.

Eigentlich findet PIO die Geräte von alleine, wenn nur ein ESP32 angeschlossen wird. Am einfachsten ist es, wenn man die monitor- und upload-Einträge aus der ini-Datei entfernt.

Die Einträge sind nur bei mehreren angeschlossenen seriellen Wandlern notwendig. In der Regel hat man aber nur ein Gerät dran.

Wenn du den Treiber vom seriellen Wandler wieder auf deinem M1 Mac installierst (also nicht die vorinstallierten nimmst), dann kommen auch wieder die alten Gerätenamen.

Ich werde es auf dem neuen Mac nochmal testen. Aber bislang hat das auf jeden Fall nicht geklappt.

Wie du schon schriebst, Linux hat die Treiber dabei, man braucht also keine zusätzliche Installation.

Unter Linux Mint kommentiere ich die Ports in der platformio.ini aus.
Wenn ich den ESP am Rechner angesteckt habe kann ich normalerweise einfach hochladen.
beim Seriellen Monitor bekomme ich ein Feld für Port angezeigt, da ist dann ein angesteckter ESP direkt zu finden.
Habe ich vorher einen anderen ESP , seriellen Wandler, Arduino angesteckt , kann es wird der angezeigt.
Der Port wird bei Mint in der Reihenfolge des Ansteckens vergeben erst
/dev/ttyUSB0 dann /dev/ttyUSB1 usw.
Aber auf Click ins Feld Port werden die verfügbaren angezeigt.
Da mein Rechner noch über eine RS232 Schnittstelle verfügt wird die
/dev/ttyS0 immer angezeigt.

Ich nutze da aber Atom mit PlatformIO, aber das Verhalten war unter VScode wie auch in der ArduinoIDE ähnlich.

Hab’s eben mal getestet. Tatsächlich geht es jetzt bei mir auch auskommentiert. Gut, dann lasse ich das so und mache einen Commit.

Hi ich habe mir darüber noch nie Gedanken machen müssen. Ich kommentiere immer schon die 2 Zeilen aus und es hat unter MacOS und Windows immer funktioniert

„Spannend“, dass außer mir das Problem offenbar noch niemand hatte :rofl:.
Wie auch immer: Ich hab’s rausgeworfen, dann muss es niemand mehr auskommentieren.