Danke Danke:  0
Gefällt mir Gefällt mir:  0
Dislikes Dislikes:  0
Ergebnis 1 bis 6 von 6

Thema: VirtualBox - stty Problem

  1. #1

    Registriert seit
    05.12.15
    Danke (erhalten)
    4
    Gefällt mir (erhalten)
    9

    Standard VirtualBox - stty Problem

    Anzeige
    Hallo allerseits,
    ich habe eine Virtualbox {Host: Windows10, Guest: UBuntu 16.4 LTS) eingerichtet. Nun habe ich ein Programm für Ubuntu, dass wohl einen USB-Port überwacht (ttyUSB0). Dessen Inhalt habe ich hier mal im Code:

    monitor.sh
    Code:
    #!/bin/sh
    DEVICE=/dev/ttyUSB0
    
    stty -F $DEVICE raw icanon eof \^d 115200$1 
    write $2 0x8000000 >/dev/null 2>&1
    cat < $DEVICE

    Das Gerät, welches überwacht werden soll hat folgende Informationen per lsusb:
    Code:
    BUS 001 Device 003: ID 0483:3748 ...
    Gucke ich mir per ls /dev/tty [tab][tab] alle Elemente an, die mit "tty" beginnen, finde ich dort kein ttyUSB*. Womit kann ich nun dieses Gerät ansteuern?

    (Vorhanden sind tty, tty0 bis tty63, ttyS0 bis 31 und ttyprintk)

    Edit:
    Ich habe mir mal das Programm "Kompare" installiert, ls /dev mit und ohne dem STM-Board connected in Dateien geschrieben und verglichen. Ist das Board connected ist "stlinkv2_2" zusätzlich vorhanden.

    Ändere ich "ttyUSB0" zu diesen Ordner bekomme ich einen Error
    Code:
    stty: /dev/stlinkv2_2: Vorgang nicht zulässig.

    Edit2::
    über
    Code:
    dmsgr
    wird angezeigt, dass das Gerät gefunden und connected wird. Daher habe ich mal die Regel in "/etc/udev/rules.d/" gesucht, und gesehen, dass das Gerät tatsächlich als "stlinkv2_2" hinterlegt wird. Daher ist mein Problem beim Ausführen der monitor.sh nicht bei USB-Port zu suchen, sondern in der monitor.sh und der Zeile zu "stty". Daher nenne ich den Thread mal um.
    Angezeigt wird übrigens:
    Code:
    shalec@shalec-VB:~/share/FourQlib-master/FourQ_ARM$ sudo ./tests_Cortex-M4/monitor.sh
    
    stty: /dev/stlinkv2_2: Vorgang nicht zulässig
    
    @�H7	'�2	����@@�
    Geändert von Shalec (18.05.17 um 19:44 Uhr)

  2. #2
    Moderator Avatar von bitmuncher
    Registriert seit
    30.09.06
    Danke (erhalten)
    130
    Gefällt mir (erhalten)
    1611

    Standard

    Wenn es ein tty* sein soll, muss auch das passende USB-Serial-Modul geladen sein. Sonst hast du nämlich kein TTY. Ist das der Fall? Wenn ja, dann solltest du mit dem Skript aus usb - command to determine ports of a device (like /dev/ttyUSB0) - Unix & Linux Stack Exchange das passende USB-Device dafür ermitteln können. Das muss nicht zwingend ttyUSBX heissen. Handys als Modem landen z.B. dort als ttyACMX u.ä..

    Bitmuncher's TechBlog - My Homepage
    Denken ist manchmal so, als würde man wissen auskotzen.

    Neue Beiträge im Habo via Twitter - Das HaBo auf FB

  3. #3

    Registriert seit
    05.12.15
    Danke (erhalten)
    4
    Gefällt mir (erhalten)
    9

    Standard

    Es handelt sich um einem Microcontroller, der auch als solcher erkannt und mit stlink2v_2 gelistet ist.

    Vermutlich verstehe ich was nicht vollständig korrekt. Bislang dachte ich, dass ttyUSB* nur als Synonym funktioniert, oder werden dafür spezielle Protokolle verwendet, die das Überwachen zugänglich machen?

    Ich habe vom Git von Patrick Longa die Masterbranch mit FourQ für ARM geladen und alles soweit ohne Fehler und Warnungen compiliert. Nun wollte ich gerne die vorgefertigten Tests ausführen, was wohl unter Windows nicht möglich ist? Daher hab ich eine virtualbox mit Ubuntu eingerichtet, alles nachinstalliert und einen Sharedordner eingerichtet. Die monitor.sh soll die Tests, die auf dem µC ausgeführt werden, im Terminal wiedergeben können.

    Da kommt mir eine Idee einfach einen Debugger zu nehmen. Ich konnte mir den monitor.sh code bereits recht weit aufschlüsseln, aber für \^d.. habe ich nichts gefunden. Welche Bedeutung hat das?

    Ich habe es mal noch ein wenig ausgetestet und alles auf die folgende Eingabe reduzieren können:
    Code:
    $ stty -F /dev/stlinkv2_2
    
    stty: /dev/stlinkv2_2: Vorgang nicht zulässig
    Geändert von Shalec (19.05.17 um 14:57 Uhr)

  4. #4
    Moderator Avatar von bitmuncher
    Registriert seit
    30.09.06
    Danke (erhalten)
    130
    Gefällt mir (erhalten)
    1611

    Standard

    Zitat Zitat von Shalec Beitrag anzeigen
    Vermutlich verstehe ich was nicht vollständig korrekt. Bislang dachte ich, dass ttyUSB* nur als Synonym funktioniert, oder werden dafür spezielle Protokolle verwendet, die das Überwachen zugänglich machen?
    In den meisten Fällen ist es kein Synonym sondern schlicht ein anderes (serielles) Interface. Einzelne Devices können durchaus mit verschiedenen Device-Handlern im System eingehängt sein, je nachdem welche Treiber dafür geladen sind. So kann z.B. ein Handy einerseits als /dev/sdX im System existieren und darüber als Disk angesprochen werden, andererseits aber auch als /dev/ttyACM0 und darüber dann die Modem-Funktionalitäten bereitstellen, die ja üblicherweise über serielle Ports bereitgestellt werden. Die "Protokolle", mit denen man die beiden Devices anspricht, sind natürlich grundlegend verschieden. Daher solltest du mal prüfen, ob der Serial-Driver für dein Board geladen wurde.

    Bitmuncher's TechBlog - My Homepage
    Denken ist manchmal so, als würde man wissen auskotzen.

    Neue Beiträge im Habo via Twitter - Das HaBo auf FB

  5. #5

    Registriert seit
    05.12.15
    Danke (erhalten)
    4
    Gefällt mir (erhalten)
    9

    Standard

    Ok, verstehe.

    Ich habe mal das verlinkte Skript ausgeführt, das zeigt mir nur an, dass das Gerät am Bus 1 das dritte USB ist.

    Offenbar muss ich den "STM32 Virtual COM Port Driver" (STSW-STM32102) nachinstallieren. Diesen gibt es aber nur für Windows (von ST.de) soweit ich das sehe.

    Hm.. ich habe mir die Anleitung für die monitor.sh nochmal durchgelesen.. dort wird angegeben, wie ich das Board mit einem USB-TTL Converter verbinden soll. ich muss sagen, dass ich nicht wusste, was ein USB-TTL Converter ist und dass ich dachte, dass mein Board sowas onboard hätte.. (wegen STLink..)

  6. #6

    Registriert seit
    05.12.15
    Danke (erhalten)
    4
    Gefällt mir (erhalten)
    9

    Standard

    Anzeige
    Hey,
    ich habe jetzt so einen TTL Adapter
    (Prolific PL-2303HXA),
    welcher egtl. unter Windows 8 und höher nicht unterstützt wird. Mit einem älteren Treiber habe ich dieses Problem aber beheben können. Nun wird er im Gerätemanager nicht mehr als Fehlerhaft angezeigt und unter Ubuntu als ttyUSB0 hinterlegt.

    Nun kann ich die monitor.sh ausführen. Es tauchen keine Fehler auf. Aber auch absolut keine Ausgaben. Disconnecte ich den Prolific, wird die monitor.sh beendet. Nun könnte es sein, dass ich die Dinger falsch zusammengesteckt habe. Laut Readme soll

    VDD > VDD
    GND > GND
    RX > PA2
    TX > PA3

    da der Prolific über keinen VDD verfügt, habe ich es an VCC angeschlossen - leider ohne Wissen, wofür DD und CC stehen.

    Spielt es irgend eine Rolle, welchen GND-Pin ich verwende? Das Board
    STM32F429ZI-DISCO (anstelle STM32F407VGT6-DISCO)
    verfügt über ca. 4-5 davon. Bei STM ist eine Aufwärtscompatibilität gewährleistet.

    Ich weiß leider nicht, wie spezifisch meine Fragen sind, und ob sich diese überhaupt so ohne weiteres beantworten lassen, aber ich hoffe das beste

    Nach [1] macht es keinen großen Unterschied zwischen VCC und VDD?

    Edit: Es liegt vermutlich an der Verkabelung. Der STM32F407VGT (ist auf einem anderen Board verbaut) schafft die Tests mit dem Teil tadellos. Jetzt muss ich nur noch die richtigen Verbindungen rausfinden.. dazu fand ich zwar [2], aber die Jumper-Methode scheint mir fragwürdig.

    [1] IC power-supply pin - Wikipedia

    [2] Program STM32F4 with UART - STM32F4 Discovery
    Geändert von Shalec (20.05.17 um 16:47 Uhr)

Ähnliche Themen

  1. VirtualBox
    Von Yebexu im Forum Applikationen
    Antworten: 1
    Letzter Beitrag: 21.08.12, 22:41
  2. VirtualBox und USB Drucker
    Von Dawen im Forum Linux/UNIX
    Antworten: 6
    Letzter Beitrag: 18.02.10, 20:53
  3. VirtualBox gasterweiterungen
    Von RedEagle im Forum Applikationen
    Antworten: 0
    Letzter Beitrag: 06.10.08, 13:21
  4. VirtualBox und XP
    Von Extinction im Forum Applikationen
    Antworten: 5
    Letzter Beitrag: 02.01.08, 12:37
  5. sql connect?
    Von Tomdom im Forum (Web-) Design und webbasierte Sprachen
    Antworten: 7
    Letzter Beitrag: 30.01.03, 18:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •