Qemu x86: Emulazione MorphOS

MorphOS ed hardware compatibile

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » mar set 21, 2021 5:10 pm

@Carlo
quella per sam440
ma il fine era per provare poseidon
ottengo gli stessi errori con l'audio-usb
ho provato tutte le versioni di morphos sempre le stesso errore a quanto pare che anche altri utenti hanno questo problema con altre emulazioni qemu

che riporto:

Salve, ho problemi simili con il passaggio da un auricolare USB a Mac OS e Linux in esecuzione sulla macchina mac99. Sembra che il traffico USB agli endpoint normali sia gestito correttamente, ma gli interrupt al dispositivo nascosto (l'endpoint 4 nel mio caso) non lo sono.
Se aggiungi quanto segue alla riga di comando ottieni una traccia pcap che puoi aprire con wireshark:
-dispositivo usb-host,vendorid=0x0d8c,productid=0x0014,pcap=usbaudio.pcap
Forse puoi controllare se anche il tuo dispositivo non riesce a gestire gli interrupt inviati al dispositivo in modo da sapere che abbiamo a che fare
lo stesso problema.

Carlo se hai qualche dritta ben venga :-)

Tieni conto che ho anche esportato la configurazione di poseidon da morphos reale e poi l'ho importata su macchina virtuale ma niente da fare.

Sembra proprio che non legga appunto gli interrupt dell'usb.
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » mar set 21, 2021 5:16 pm

white ha scritto:@Carlo
quella per sam440

Una ABI-v1 ! prova una ABI-v0 Aggiornata e Completa di Driver su PC supportato o VMware !
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » mar set 21, 2021 8:38 pm

Carlo grazie,
ma la distribuzione non c'entra era per vedere se il problema si verificava solo con morphos mentre invece affligge qemu quando si prova ha usare una usb-audio.
E pensare che ne ho 2 tutte e due compatibili con morphos "hardware reale" entrambe funzionano.

Il concetto è bypassare linux nascondendogli l'hardware cosa riuscita
difatti adesso quando uso qemu posso togliere e mettere la pennetta usb-audio
come se avessi ad esempio il powerbook g4 non ho bisogno neanche di riavviare l'emulazione accetta la pennetta a caldo.
Come se stessi usando morphos reale con le prese usb
in pratica la porta usb dialoga direttamente con qemu e linux non si accorge che sto' inserendo la pennetta usb.

sarebbe un buon passo in avanti

immagina questi due video con l'audio:
qui sto usando qemu :-)

https://www.youtube.com/watch?v=mGM4y04DxOM
https://www.youtube.com/watch?v=9QrPxGamH0s

come al solito c'è poca gente interessata
si tratta di fare il debug e migliorare il codice
cosa fattibile certamente non da me :-)

mi è stato detto come fare e segnalarlo su github ma non posso perdere ore a farlo mi stresso un casino in questo modo persone esperte lo farebbero in fretta penso.

Se il dispositivo viene trovato dal guest, QEMU ha il supporto USB compilato, quindi non è necessario ricompilarlo. Forse una versione diversa di libusb potrebbe fare la differenza, ma non ne sono sicuro. Quando si utilizza il dispositivo usb-host si esegue questo codice: https://git.qemu.org/?p=qemu.git;a=blob ... ae6ecb71f; hb=HEAD e l'errore che vedi proviene da usb_host_set_interface() sulla linea 1434 quindi sembra che non possa impostare interfacce diverse (il registro MorphOS dice anche fallito per GET_INTERFACE) ma non so perché. Per eseguirne il debug puoi abilitare diversi output di log per ottenere maggiori informazioni su ciò che sta accadendo. Per uno ci sono punti di traccia come puoi vedere nel codice sopra e anche nel file trace-events nella stessa directory. Puoi abilitarli selettivamente o tutti con -enable trace="usb_host*" (questo potrebbe produrre molti log, reindirizzare su file per salvarli). Il dispositivo usb-host ha anche una proprietà loglevel che può impostare il livello di log di libusb, ma potrebbe essere necessario controllare libusb per sapere quali sono i valori. Prova a raccogliere registri più dettagliati, quindi scopri cosa sta cercando di fare e quale operazione fallisce e segnalalo alla mailing list QEMU (non inviare allegati di grandi dimensioni a tale elenco, caricalo da qualche parte e invia l'URL se il registro è troppo lungo ma è meglio tagliare le righe pertinenti e includere solo quelle nel messaggio). Ci sono alcune persone interessate a risolverlo, ma nessuno ha fatto il lavoro per eseguirne il debug finora, quindi puoi aiutare testandolo e segnalandolo all'elenco, quindi potrebbe eventualmente essere risolto.
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » mar set 21, 2021 10:31 pm

Complimenti Paolo direi abbastanza veloce MOS per essere una Emulazione, guardando i video credo che MOS si possa utilizzare a pieno con QEmu se si ha un PC performante.

Ti consigliavo la Distro AROS su VMWare perchè a me su AROS le periferiche USB sono montate automaticamente da AROS compreso i Telefonini (vedi screenshot), anche dopo aver caricato il sistema, in questo caso Windows li vedrà solo dopo aver chiuso VMWare
Allegati
Samsung.jpg
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » mar set 21, 2021 11:23 pm

Si VMWare questo lo fa' da una vita
Il concetto della pennetta usb-audio è diverso

Te lo spiego brevemente:
inserisci la pennetta usb-audio

windows oppure linux configura il dispositivo è sei pronto per usarlo
plug & play

ora la difficoltà sta tutta nel dire al sistema che usi
che il dispositivo non deve essere riconosciuto in nessun modo.

Perchè la risorsa se la usa linux non può essere usata da qemu realmente

Altrementi qemu non può usarlo come hardware reale e non si potrà mai usare perchè linux oppure windows carica i "driver" per farla funzionare ed entrano in conflitto con l'emulazione.

Per fare questo devi dire al kernel di linux di ignorare il dispositivo ma allo stesso tempo deve essere disponibile se chiamato in causa ad esempio da qemu con delle regole ovviamente impostate in un file che punta al dispositivo in base all'id del produttore
(spiegazione veloce non basta solo disattivare il dispositivo che ti interessa devi anche renderlo disponibile se lo vuoi usare).
(in pratica è nascosto ma allo stesso tempo lo puoi usare se ti serve).

Qual'è il vantaggio ?
e che puoi usare il dispositivo hardware come su una macchina reale.
quindi parliamo di hardware reale che aggiungono in questo caso l'audio non pennette usb passive per l'archiviazione.

in pratica con questa regola dico a linux di ignorare il dispostivo e non accedervi dopo il boot e alle sue risorse:

SUBSYSTEM == "usb", DRIVER == "snd-usb-audio", ATTRS {idVendor} == "0d8c", ATTRS {idProduct} == "0014", ATTR {authorized} = "0"

una volta silenziato il dispositivo dopo il boot
passo a qemu e dico questo:

attiva questo dispositivo:

-device usb-host, vendorid = 0x0d8c, productid = 0x0014

ed ecco che ho realmente accesso all'hardware tramite qemu senza nessuna interferenza ho conflitti con linux
senza questa operazione qemu entrebbe in conflitto con la periferica perchè già occupata dal "plug %play" di linux e non potrei mai usarla.


tutto qui

spero di avertelo spiegato bene :-)
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » mer set 22, 2021 12:47 am

Ok, hai provato a smontare il dispositivo da Linux con il comando "unmount", dovrebbe essere equivalente al "dismount" di Amiga, AROS.
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » mer set 22, 2021 2:07 pm

Carlo,
sei un po' fuori strada,
passthrough dovresti approfondire questo argomento ma per le emulazioni che usi non sono importanti.

la pennetta usb-audio è riconosciuta ci ha provato anche uno degli sviluppatori di morphos
il problema risiede in qemu come detto sopra
basterebbe che chi sviluppa qemu corregga il codice ed è fatta.
voglio dire io ho preso 2 pennette a 5 euro su amazon con confezione danneggiata.
entrambe vengono riconosciuta da "morphos reale" e da qemu
a quel punto morphos può essere usato per fare un po' di cose con l'audio video su youtube demo ecc..
Ma come ho sempe detto non credo che l'emulazione dei sistemi "amiga" abbia la priorità in qemu.
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » mer set 22, 2021 2:43 pm

Purtroppo non seguo l'Evoluzione di Qemu e non mi piace come funziona, avesse una bella GUI dove poter abilitare o dissabilitare l'hardware come fa WinUAE sarebbe una grande cosa, speriamo nel futuro che ci sia un supporto migliore sopratutto per i sistemi Amigosi.
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » gio set 23, 2021 10:15 am

@ Paolo
Quando hai tempo da perdere potresti provare la tua Scheda USB Audio sul mio AROS One x86 possibilmente su Hardware reale supportato ma anche su VMWare potrebbe essere indicativo, sarebbe interessante se funzionasse perchè magari ci sarebbe la possibilità di sfruttare anche una Scheda Video USB e colmare le varie incompatibilità con le schede integrate non supportate, grazie.
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » gio set 23, 2021 4:26 pm

Carlo, si non appena ho tempo volentieri, adesso mi sono ingrippato con l'audio di qemu :-)

Trovata la soluzione adesso credo che il problema si possa fixare
basta solo aspettare una versione di qemu che risolve questo problema

ho tolto tutte le regole UDEV

e ho semplicemente fatto:
"stop pulseaudio.socket"

adesso la pennetta è riconosciuta perfettamente
unico incoveniente e che qemu si "blocca"
ma appena si toglie la pennetta usb-audio tutto riprende a funzionare

adesso questo non spetta a me per trovare il fix e la varie soluzioni... aspettiamo

qui il test:
https://www.youtube.com/watch?v=nH1_b3gwxc0
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda AMIGASYSTEM » gio set 23, 2021 5:08 pm

Bravo Paolo credo tu sia sulla buona strada, magari con le prossime versioni di Qemu si potrà utilizzare anche la Scheda Audio interna, di questo ne sono sicuro ;)
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » ven set 24, 2021 2:06 pm

Ecco il dispositivo USB-AUDIO regolarmente riconosciuto come avviene su hardware reale:
https://imgur.com/9rICyZm

adesso non sono un esperto in linux faccio del mio meglio.
ma se in qualche modo si risolve il freeze di qemu dovrebbe andare bene
la pennetta usb-audio viene riconosciuta perchè stoppo questo:
pulseaudio.socket

ovviamente ho fatto altre prove, cercando di bypassare il dispositivo anche con nuove regole UDEV
ma sono soluzioni "artigianali"

spero proprio che questo sia utile in qualche modo per la risoluzione del problema.
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » sab set 25, 2021 11:19 am

Un piccolo miglioramento

serve eventualmente sempre aiuto
ma vedo che a nessuno interessa "ultimo post" :ride:

I tried a different approach and it seems to work.
in this case you no longer need to disable pulseaudio.socket
and no libusb errors occur and everything is recognized as usb-audio in morphos.

this is what i did:
-device usb-host, hostbus = 1, hostport = 4
it seems it only works on this bus and door

here too qemu crashes if I insert the usb-audio.

but I did this:
sudo udevadm monitor --kernel --subsystem-match = sound

result after inserting the usb-audio:
monitor will print the received events for:
KERNEL - the kernel uevent

KERNEL [608.461330] add /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1 (sound)
KERNEL [608.461356] add /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/pcmC1D0p (sound)
KERNEL [608.461546] add /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/pcmC1D0c (sound)
KERNEL [608.461563] add /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/controlC1 (sound)
KERNEL [608.538072] change /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1 (sound)

result after disconnecting the usb-audio:
KERNEL [707.731818] remove /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/controlC1 (sound)
KERNEL [707.731842] remove /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/pcmC1D0p (sound)
KERNEL [707.731853] remove /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1/pcmC1D0c (sound)
KERNEL [707.731860] remove /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1 (sound)

then i tried to give udev a rule:

ACTION == "add", /devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/1-4:1.0/sound/card1 (sound) GOTO = "my_usb_audio_end"

and here i don't think it's fair i need help creating a UDEV rule for that.
Also because he continues to block qemu and I believe that the UDEV rule is wrong

What could I put on? is the procedure right?
Is the qemu line right for usb-audio?

in pratica a questo punto dovrebbe servirmi una regola UDEV giusta

qualche idea?
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

Re: Qemu x86: Emulazione MorphOS

Messaggioda vagappc » dom ott 03, 2021 5:10 pm

https://wiki.debian.org/it/udev

Non mi ci sono mai cimentato, ma la doc debian è riciclabile per ubuntu e altre distro
vagappc

Veterano
 
Messaggi: 229
Iscritto il: dom feb 12, 2017 12:15 pm

Re: Qemu x86: Emulazione MorphOS

Messaggioda white » dom ott 03, 2021 9:56 pm

Grazie
Sono andato un pochino avanti è ho disattivato completamente i driver direttamente nel kernel
senza creare le regole udev come mi ha consigliato zbalaton, dicendomi che le regole udev non erano importanti
(era importante bloccare i driver direttamente nel kernel)
adesso non vengono più caricati
Quindi sono usati solo da qemu in esclusica linux non carica più i driver usb-audio
quindi ogni conflitto e bloccato direttamente nel kernel
Difatti la pennetta viene vista senza problemi come hid.class e usbaudio.class da poseidon
senza nessun errore
anche se poi qemu si blocca

altra cosa che ho scoperto e che la pennetta usb-audio opera solo sul bus 1.4
anche mettendo gli id del produttore ecc. la pennetta non viene riconosciuta (che poi sarebbe invece la scelta più giusta)

ma sinceramente anche se mi piace fare queste cose mi sono stancato
basterebbe che zbalaton si compra una pennetta usb-audio fa' il debug ed è fatta

farò altre cose più divertenti
d'altronde morphos c'è l'ho e funziona e anche bene ecc.

speravo in questo caso che qualcuno risolvesse questa cosa con qemu + pennetta-audio
non ho voglia di mettermi a testare le cose se a nessuno interessa.
E non mi metto li ore a leggermi le cose per qualcosa che chi più esperto sicuramente potrebbe fare forse in fretta
Se chi sviluppa qemu non è interessato.
Non vedo perchè devo esserlo io :ride:

A meno che c'è proprio qualche problema con l'emulazione dell'audio visto che sono passati anni e l'audio ancora non funziona

Inoltre ho voluto cambiare le lineee di comando usando quelle non ufficiali per provare e qemu mi risponde che cerca l'usb 1.0 e sta usando le mie ad alta velocità per farla breve.
Forse manca il supporto all'usb 1.0 che usa morphos realmente

Magari zbalaton ci sta' lavorando non lo so'


Grazie comunque per il link. :felice:
white

Maestro
 
Messaggi: 520
Iscritto il: mer ago 07, 2019 11:39 am

PrecedenteProssimo

Torna a MorphOS

Chi c’è in linea

Visitano il forum: Google [Bot] e 10 ospiti