Pagina 1 di 1

Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 25 apr 2023, 21:10
da GioArca67
Ho un driver CH340 collegato alla porta USB (virtualizzata) e Ubuntu 22.04 che gira in una Vbox (Oracle VM VirtualBox 7).
Sto trovando difficoltà con i comandi standard linux ad impostare la velocità della porta seriale.
Ho una MCU già configurata, ma non so come e con cosa.
Ho provato a collegarmi a varie velocità, ma ottengo da Putty sempre zozzeria.
Ho preso Python3 e con un programmino stupido creo un oggetto "Serial", ed imposto la velocità ad una di quelle possibili del CH340 (le ho messe tutte in una lista), itero, resetto il micro e stampo quello che riceve.
Dopo un po' di garbage alla velocità di 76800 baud ottengo il benvenuto dalla MCU in chiaro!
Bene.
Imposto la stessa velocità (e gli altri parametri) su Putty, ma ottengo sempre zozzeria.
Allora con stty cerco di impostare i parametri della seriale in questione,
Codice: Seleziona tutto
stty -F /dev/ttyUSB0 76800 cs8 -cstopb

ma ottengo un errore:
Codice: Seleziona tutto
stty: argomento "76800" non valido

in italiano... vabbeh!
anche 14400 non gli piace, 9600 invece sì, come 115200...
Ho l'impressione che Putty non riesca ad impostare la velocità correttamente (ma non dice nulla).
Ho provato anche minicom e screen senza successo.

Avete idea di come fare ad impostare correttamente la velocità della porta?

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 25 apr 2023, 21:16
da speedyant
Il PC "host" cosa sarebbe?
Faccio una verifica sul mio virtualbox e riferisco.
Come non detto... ;-)
Mi farebbe piacere vedere lo screenshot delle porte di Virtualbox.

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 25 apr 2023, 22:41
da GioArca67
Host è win11.
Domani posto qualcosa.
Prima da powershell di win11 aprivo tranquillamente con quella velocità poco comune (76800) e ricevevo le risposte con .ReadLine().
La cosa strana è che da sw proprietario dentro la macchina virtuale funziona senza problemi (pyserial non mi dà nessun errore e ricevo i dati), ed anche il gestore della MCU (che usa sempre python però).
L'MCU è un ESP8266.

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 26 apr 2023, 11:46
da alev
Potrebbe anche essere un problema del driver di virtualizzazione di VirtualBox che è di tipo 2 e perciò potrebbe non permettere prestazioni ai massimi livelli

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 26 apr 2023, 15:44
da GioArca67
speedyant ha scritto:Mi farebbe piacere vedere lo screenshot delle porte di Virtualbox.

Su impostazioni USB è selezionato USB2.0 (OHCI+EHCI).
Posso provare con USB3.0 (xHCI)
Le porte seriali sono tutte disabilitate.
Potrei provare anche a collegare una seriale della VM alla seriale creata sull'host...

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 26 apr 2023, 16:05
da Max2433BO
Ottieni quell'errore perché 76800 è una velocità che in comando stty non supporta: guarda in fondo a questa pagina c'è la lista completa delle velocità supportate.

O_/ Max

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 26 apr 2023, 17:20
da GioArca67
Ho abilitato una seriale su VirtualBox
COM 3 (quindi nell'SO guest la trovo come ttyS2)
Dispositivo Host
COM3

si comporta come la ttyUSB0

La MCU esegue qualcosa ed ottengo un "ready" trasmesso a 115200: quindi dopo una serie di dati iniziali a 76800 poi si mette in ascolto (e risponde) a 115200.
Ho dato degli "AT", ma mi risponde con ERROR.

Rimane però la curiosità di come impostare su ubuntu una porta a velocità "non comuni" (nemmeno 14400 sulla lista indicata da Foto UtenteMax2433BO)

Re: Impostazione velocità /dev/ttyUSB0 Ubuntu 22.04

MessaggioInviato: 26 apr 2023, 17:25
da GioArca67
alev ha scritto:Potrebbe anche essere un problema del driver di virtualizzazione di VirtualBox che è di tipo 2 e perciò potrebbe non permettere prestazioni ai massimi livelli

Però da Python lo gestisce bene