ttyACM0 nicht vorhanden.

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

ttyACM0 nicht vorhanden.

Beitrag von theo »

Das hat jetzt nur indirekt mit Lazarus zu tun, aber immerhin möchte ich mit einem Lazarus Programm über /dev/ttyACM0 mit einem externen Gerät kommunizieren.

Mir hat es ein solches Brett in die Hütte geschneit:
https://www.mouser.ch/ProductDetail/Tec ... 2BgA%3D%3D
Darauf läuft ein Ubuntu 16.04.

Wenn ich die externen Geräte via USB an das Pico anschließe, dann erscheint zwar /dev/ttyUSB0, aber nicht /dev/ttyACM0.
Auf meinem OpenSuse PC und auf dem Raspberry 4 zeigen sich beide Geräte, mit den gleichen USB Steckern:

Code: Alles auswählen

/dev/ttyACM0 - STMicroelectronics_STM32_Virtual_ComPort_in_FS_Mode_00000000050C
/dev/ttyUSB0 - FTDI_FT232R_USB_UART_A7042CS7
Weiss jemand wie ich das auf dem Pico auch erreichen kann?
Muss ich den Kernel oder Module neu bauen oder so etwas?
Ich weiss, dass das hier nicht das geeignetste Forum ist für diese Frage, aber bei den ganzen Experten hier, kann man es ja mal versuchen... :wink:

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von six1 »

Du musst den Modemmanger abschalten, da diese Schnittstelle sonst nicht da ist, weil der Modemmanger sich das krallt...

sudo apt-get purge modemmanager
Gruß, Michael

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Danke Michael, bin für jeden Tipp dankbar.
Habe den modemmanager entfernt.
Das hat aber auch nach einem reboot nicht zu einer Veränderung geführt.

EDIT:

Code: Alles auswählen

modprobe cdc_acm 
modprobe: FATAL: Module cdc_acm not found in directory /lib/modules/4.1.15-00082-g3b4b0db

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: ttyACM0 nicht vorhanden.

Beitrag von Winni »

Hi!

Villeicht hilt es:

How to use USB CDC ACM and MS composite Linux gadget driver

https://developer.ridgerun.com/wiki/ind ... get_driver

Winni

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: ttyACM0 nicht vorhanden.

Beitrag von h-elsner »

Brainstorming - ich sage mal ungeordnet, was mir dazu so einfällt:

Ist dein User in der richtigen Gruppe, z.B. 'dialout' und hat Berechtigung?
Welche Gruppe ist denn USB zugeordnet?
ls -l /dev/ttyUSB0

Ist das serial device 'Attached' zu dem ttyUSB?
Wie oben schon gesagt, gibt es Konflikte mit anderen treiber, wie z.B. brltty?
Ab- und Anstecken, dann:
tail -f /var/log/syslog

FTDI driver?
lsmod | grep ftdi_sio

Gruß HE

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Danke Winni. Könntest du mir auf die Sprünge helfen, welcher Teil dieses Textes mich weiter bringt?

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Danke h-elsner
h-elsner hat geschrieben:
Fr 6. Nov 2020, 18:18
ls -l /dev/ttyUSB0

Code: Alles auswählen

crw-rw---- 1 root dialout 188, 0 Nov  6 16:53 /dev/ttyUSB0
h-elsner hat geschrieben:
Fr 6. Nov 2020, 18:18
tail -f /var/log/syslog
Habe schon dmesg | grep tty versucht. Da tut sich nichts.
h-elsner hat geschrieben:
Fr 6. Nov 2020, 18:18
lsmod | grep ftdi_sio
Ist leer.

Wie oben geschrieben:

Code: Alles auswählen

modprobe cdc_acm 
modprobe: FATAL: Module cdc_acm not found in directory /lib/modules/4.1.15-00082-g3b4b0db

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: ttyACM0 nicht vorhanden.

Beitrag von pluto »

mach mal ein lsusb und schau nach ob das gerät erkannt wird.

und mach mal ein dmesg und schau dir die letzten Einträge an.
Du kannst auch noch ein tail -f /var/log/syslog machen als root und das gerät anschließen und abschließen.

Fehlen hier die "FTDI_FT232" Treiber? Solche Urats habe ich auch und die laufen.
Du kannst auch noch mal verschiedene USB Kabel probieren.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Danke Pluto
pluto hat geschrieben:
Fr 6. Nov 2020, 20:01
mach mal ein lsusb und schau nach ob das gerät erkannt wird.
Ja:

Code: Alles auswählen

lsusb
Bus 001 Device 009: ID 0483:5740 STMicroelectronics STM32F407
...
pluto hat geschrieben:
Fr 6. Nov 2020, 20:01
und mach mal ein dmesg und schau dir die letzten Einträge an.
Da kommt nichts zu diesem Gerät.
pluto hat geschrieben:
Fr 6. Nov 2020, 20:01
Du kannst auch noch ein tail -f /var/log/syslog machen als root und das gerät anschließen und abschließen.

Code: Alles auswählen

Nov  6 19:07:35 technexion kernel: usb 1-1: USB disconnect, device number 2
Nov  6 19:07:35 technexion kernel: usb 1-1.1: USB disconnect, device number 3
Nov  6 19:07:35 technexion kernel: ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
Nov  6 19:07:35 technexion kernel: ftdi_sio 1-1.1:1.0: device disconnected
Nov  6 19:07:35 technexion kernel: usb 1-1.2: USB disconnect, device number 4
Nov  6 19:07:35 technexion rsyslogd-2007: action 'action 9' suspended, next retry is Fri Nov  6 19:08:05 2020 [v8.16.0 try http://www.rsyslog.com/e/2007 ]
Nov  6 19:07:35 technexion kernel: usb 1-1.4: USB disconnect, device number 5
Nov  6 19:07:39 technexion kernel: usb 1-1: new high-speed USB device number 6 using ci_hdrc
Nov  6 19:07:39 technexion kernel: hub 1-1:1.0: USB hub found
Nov  6 19:07:39 technexion kernel: hub 1-1:1.0: 4 ports detected
Nov  6 19:07:40 technexion kernel: usb 1-1.1: new full-speed USB device number 7 using ci_hdrc
Nov  6 19:07:40 technexion kernel: ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
Nov  6 19:07:40 technexion kernel: usb 1-1.1: Detected FT232RL
Nov  6 19:07:40 technexion kernel: usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
Nov  6 19:07:40 technexion mtp-probe: checking bus 1, device 7: "/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1"
Nov  6 19:07:40 technexion mtp-probe: bus: 1, device: 7 was not an MTP device
Nov  6 19:07:40 technexion kernel: usb 1-1.2: new full-speed USB device number 8 using ci_hdrc
Nov  6 19:07:40 technexion kernel: input: eGalax Inc. eGalaxTouch P80H60 -1053-01.00.00.00 as /devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.2/1-1.2:1.0/0003:0EEF:C002.0002/input/input7
Nov  6 19:07:40 technexion kernel: hid-multitouch 0003:0EEF:C002.0002: input: USB HID v1.11 Mouse [eGalax Inc. eGalaxTouch P80H60 -1053-01.00.00.00] on usb-ci_hdrc.1-1.2/input0
Nov  6 19:07:40 technexion mtp-probe: checking bus 1, device 8: "/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.2"
Nov  6 19:07:40 technexion mtp-probe: bus: 1, device: 8 was not an MTP device
Nov  6 19:07:40 technexion kernel: usb 1-1.4: new full-speed USB device number 9 using ci_hdrc
Nov  6 19:07:40 technexion mtp-probe: checking bus 1, device 9: "/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.4"
Nov  6 19:07:40 technexion mtp-probe: bus: 1, device: 9 was not an MTP device
pluto hat geschrieben:
Fr 6. Nov 2020, 20:01
Fehlen hier die "FTDI_FT232" Treiber? Solche Urats habe ich auch und die laufen.
Keine Ahnung, die habe ich aber auf den anderen Computern auch nicht installiert.
pluto hat geschrieben:
Fr 6. Nov 2020, 20:01
Du kannst auch noch mal verschiedene USB Kabel probieren.
Mit diesem Kabel geht es aber auf Raspi und PC.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: ttyACM0 nicht vorhanden.

Beitrag von pluto »

OK. Soweit ganz gut....
Du kannst noch folgende Dinge versuchen:
1. Es gibt mehr als ein USB Anschluss.
Ich habe auch ein STMicroelectronics STM32F407 und der sieht anders aus. Als das was du von Mouser gepostet hattest.
Es sollte zwei Mico USB Anschlüsse.

Der eine ist zum Programmieren da und der andere zum Nutzen. Du kannst das Gerät zu programmieren, dass es als USB Maus oder USB Tastatur fungiert oder wie in meinem Fall als USB Soundkarte. Prüf den USB Anschluss.

2. Es könnte auch gut sein(bin mir gerade nicht mehr sicher), dass du da erst ein Programm drauf packen musst. Bei den STM32 Funktioniert es anders als bei einem Arduino. Du brauchst z.b. andere Uart's. zum Programmieren. Eher sowas hier:
https://www.amazon.de/AZDelivery-Mini-D ... 245&sr=8-6
Es sind auch vier Anschlüsse, aber die heißen anders.

D.H. es könnte gut sein, dass es hier normal ist, dass es kein USB Device gibt. Du brauchst wohl auch noch die STM Tools, um diesen Programmieren zu können.
Das ist nicht ganz einfach. Ich schau mal ob ich was im Internet finde.
Mit Arduino geht es im Prinzip auch, aber nur mit tricks.

Edit1:
im Datenblatt steht es auch
https://f.ipc2u.com/files/add/doc/78c/pico-dwarf.pdf
1x USB 2.0 Host connector
1x USB 2.0 OTG connector
Vielleicht hast du den Falchen erwischt.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Jetzt glaube ich, du hast ein Durcheinander. :wink:
Das von Mouser ist das Computer Board mit einem ARM Cortex A9, 1GB RAM und einer 16GB eMMC.
Darauf läuft Ubuntu und darum geht es.

Den Rest (STM32F407 etc.) kannst du als Blackbox betrachten.
Das läuft alles, wenn ich es an einen Linux PC oder an Raspi 4 anschliesse.
Nur mit dem Pico Dwarf komme ich nicht an ttyACM0 ran.
Wahrscheinlich eine reines Software/Setup Problem.

EDIT: Der OTG kann eigentlich nur der Micro USB Anschluss sein. Den habe ich nicht benutzt.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: ttyACM0 nicht vorhanden.

Beitrag von pluto »

theo hat geschrieben:Jetzt glaube ich, du hast ein Durcheinander. :wink:
Das von Mouser ist das Computer Board mit einem ARM Cortex A9, 1GB RAM und einer 16GB eMMC.
Darauf läuft Ubuntu und darum geht es.
Kann gut sein. Mich haben die "Consolen Ausgaben" verwirrt: STMicroelectronics STM32F407
theo hat geschrieben:Den Rest (STM32F407 etc.) kannst du als Blackbox betrachten.
Das läuft alles, wenn ich es an einen Linux PC oder an Raspi 4 anschliesse.
OK, ich habe mir den ersten Beitrag noch mal angeschaut. Ok. Du schließt also ein "STMicroelectronics_STM32" und ein
"FTDI_FT232R_USB_UART_A7042CS7" an. und das STM32 findet er nicht aber bei einem anderen Linux PC schon?

Ich hatte auch schon mal USB 3.0 und USB 2.0 Probleme.... könnte das hier auch der Fall?
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

pluto hat geschrieben:
Fr 6. Nov 2020, 21:00
OK, ich habe mir den ersten Beitrag noch mal angeschaut. Ok. Du schließt also ein "STMicroelectronics_STM32" und ein
"FTDI_FT232R_USB_UART_A7042CS7" an. und das STM32 findet er nicht aber bei einem anderen Linux PC schon?
Genau. Bzw. lsusb zeigt das Gerät an, aber /dev/ttyACM0 gibt es nicht.
pluto hat geschrieben:
Fr 6. Nov 2020, 21:00
Ich hatte auch schon mal USB 3.0 und USB 2.0 Probleme.... könnte das hier auch der Fall?
Ja nu, der Pico Dwarf hat nur USB 2.0.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: ttyACM0 nicht vorhanden.

Beitrag von pluto »

Ich habe noch ein Link, für dich, mein Englisch ist nicht so gut, ich denke aber der könnte weiter helfen, mit etwas Glück:
https://www.reddit.com/r/archlinux/comm ... directory/

Ich habe mal nach dem "module_cdc_acm" gesucht.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ttyACM0 nicht vorhanden.

Beitrag von theo »

Ja, danke.
Die Erleuchtung kommt mir dadurch auch nicht direkt, aber ich habe ja im ersten Beitrag schon die Befürchtung geäussert, dass es vielleicht um Kernelmodule geht.
Aber auch dazu habe ich keine weiterführenden Informationen gefunden.

Naja, für heute ist erst einmal Feierabend. :wink:

Antworten