Forum: Mikrocontroller und Digitale Elektronik CH340 Linux-Treiber für Raspberry pi 4


von Rasputin (Gast)


Lesenswert?

Grüße!

Ich habe noch einige Arduino Nano mit CH340 Wandler. Weil mein PC das 
zeitliche gesegnet hat und ich finanziell etwas klamm bin, soll der 
raspberry jetzt dafür herhalten. Arduino IDE funktioniert jetzt gut.
ich hab aber mit dem Treiber für den CH340 Probleme:

1)
https://github.com/aperepel/raspberrypi-ch340-driver hierbei habe ich 
das Problem, wenn ich sudo insmod ch34x.ko aufrufe gibt es den Fehler 
"mod: ERROR: could not insert module ch34x.ko: Invalid module format"

2)
Dann habe ich CH341SER_LINUX.ZIP heruntergeladen, entpackt und versuche 
jetzt make aufzurufen. gibt folgenden Fehler
sudo make
make -C /lib/modules/5.4.51-v7l+/build 
M=/home/pi/.local/share/Trash/files/CH341SER_LINUX.2
make[1]: *** /lib/modules/5.4.51-v7l+/build: Datei oder Verzeichnis 
nicht gefunden.  Schluss.
make: *** [Makefile:5: default] Fehler 2


Was mache ich denn bei 1) und 2) falsch und wie bekomme ich einen 
Treiber für die CH340?

danke

von Martin (Gast)


Lesenswert?

Habe das aktuelle "Raspberry Pi OS". Ein CH340 funktioniert sofort. Der 
Treiber ist also bereits an Board.

Raspberry Pi OS (32-bit) with desktop and recommended software

https://www.raspberrypi.org/downloads/raspberry-pi-os/

von Tut mir leid (Gast)


Lesenswert?

Normalerweise bringt der Linux-Kernel die passenden Treiber von Hause 
aus mit. Dies ist recht einfach mittels 'dmesg' vor und nach dem 
Einstecken des USB-Gerätes auf der Konsole zu sehen. Wenn alles geklappt 
hat, steht auch irgendetwas mit /dev/ttyUSBx dabei ...

Wenn der Treiber neu kompiliert werden muss, greife man(n) zu 
aktuelleren Quellen, z.B. https://github.com/juliagoda/CH341SER. Dieser 
funktioniert auch (noch) unter Kernel 5.x

Dies mag notwendig sein, wenn der Arduino partout nicht mit dem Host 
reden moechte, egal bei welcher Baudrate.

von Rasputin (Gast)


Lesenswert?

Ich hab das letzte Woche runtergeladen und das Image auf die Karte 
kopiert... Wie kann ich überprüfen ob der Treiber überhaupt geladen 
wird?
Bei lsusb sehe ich QinHeng Electronics HL-340 USB-Serial adapter.
Schon mal ein Anfang?

von Jack V. (jackv)


Lesenswert?

Stöpsele deinen Arduino an und gucke ins Log. Wenn dort dann ein ttyACMx 
oder ein ttyUSBx auftaucht, dann ist es das Gerät.

von Rasputin (Gast)


Lesenswert?

Das macht 'dmesg'? Da sehe ich tatsächlich ....ch341-uart converter noe 
atteched to ttyUSB0.

Sehr schön :-) Verschiebt natürlich das Problem, weswegen ich mich auf 
den Treiber geschossen habe, nämlich dass ich den nicht programmiert 
bekam ;-) Gucke ich mal weiter. Danke so weit.

P.S. Aber kann jemand mit den ersten Fehlerbildern was anfangen? Vor 
allem wieso ich make nicht aufrufen konnte? Könnte ja noch mal relevant 
werden.

von Martin (Gast)


Lesenswert?

>>> Schon mal ein Anfang?

Das ist mindestens die halbe Miete.
1
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
2
[pre]
3
4
Die andere Hälfte:
5
6
[pre]
7
pi@raspberrypi:/dev $ ls ttyUSB* -l
8
crw-rw---- 1 root dialout 188, 0 Sep 25 18:10 ttyUSB0

von Jack V. (jackv)


Lesenswert?

Rasputin schrieb:
> Verschiebt natürlich das Problem

Welches Problem denn? Du gibst in der Arduino-IDE besagtes Device an 
(/dev/ttyUSB0), und dann sollte es funktionieren.

von Harry L. (mysth)


Lesenswert?

Jack V. schrieb:
> und dann sollte es funktionieren.
Aber nur, wenn man auch Mitglied der Gruppe dialout ist.
1
sudo usermod -aG dialout <username>

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Harry L. schrieb:
> Aber nur, wenn man auch Mitglied der Gruppe dialout ist.

Wenn’s unter Raspbian OS so ist, ja. Hier läuft auf den Platinchen was 
anderes, so dass ich nicht schnell nachgucken könnte.

Nicht vergessen, nach dem Hinzufügen zur Gruppe einmal aus- und wieder 
einzuloggen.

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.