Czy moduł serial-u16550 może być używany z konwerterem szeregowym USB dla MIDI?

2

Próbuję użyć kabla hosta Yamaha do połączenia mojej 12-letniej klawiatury muzycznej (Yamaha PSR550) z komputerem stacjonarnym obecnej generacji z systemem Ubuntu Linux (18.04.1) w celu wymiany danych MIDI.

Klawiatura Yamaha PSR550 ma zarówno standardowy interfejs MIDI, jak i interfejs szeregowy, tzn. Konwersja MIDI na RS232 odbywa się w samej klawiaturze, którą można następnie podłączyć bezpośrednio do interfejsu szeregowego na komputerach PC za pomocą kabla do hosta . Zatem kabel hosta to nic innego jak kabel połączenia szeregowego między klawiaturą a komputerem PC do wymiany danych MIDI (zamiast standardowego interfejsu MIDI, który ma nieco inne właściwości elektryczne).

Dla starych komputerów PC z wbudowanym UART (chyba jeden o nazwie U16550) istniał moduł jądra o nazwie snd-serial-u16550, który można załadować i skonfigurować do wymiany danych MIDI między Linuksem działającym na PC a PSR550. Najwyraźniej trzeba było wykonać następujące czynności:

setserial /dev/ttyS0 uart none

Śledzony przez:

modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=38400

Co pozwoliłoby ALSA rozpoznać / dev / ttyS0 jako interfejs szeregowy-MIDI, a to z kolei byłoby widoczne w JACKd jako Serial MIDI (UART16550A) .

Ponieważ jednak współczesne komputery PC nie mają wbudowanego interfejsu UART, używam standardowego adaptera szeregowego USB (el-cheapo, PL2303), który wygląda następująco:

wprowadź opis zdjęcia tutaj

Najpierw dodaj interfejs szeregowy do komputera, a następnie użyj kabla Yamaha do hosta, aby podłączyć klawiaturę Yamaha PSR550 do mojego komputera w celu wymiany informacji MIDI.

Biorąc pod uwagę to podejście, przypuszczam, że adapter USB-Szeregowy jest po pierwsze widoczny jako inne urządzenie, tj. /dev/ttyUSB0(Zamiast / dev / ttyS0), a UART nie jestem pewien, czy można go uznać za w pełni zgodny z U16550, zastanawiając się, czy ten sam zestaw polecenia można użyć do skonfigurowania go, aby stał się prawidłowym urządzeniem szeregowym MIDI ALSA i tym samym został rozpoznany przez JACKd jako prawidłowy port Serial MIDI (UART16550) ? Czy też muszę zrobić coś innego, aby to zadziałało?

icarus74
źródło

Odpowiedzi:

2

snd-serial-u16550Moduł działa tylko z 16550 (-Kompatybilny) sprzętu, czyli z portów COM dostępnych poprzez magistralę ISA na płycie głównej.

Istnieje narzędzie „ttyMIDI”, które może łączyć się między dowolnym portem szeregowym a programowym portem MIDI, ale jest przeznaczone do niestandardowych oprogramowania układowego Arduino i mówi w uproszczonym protokole, który nie jest dokładnie taki sam jak MIDI. (I wydaje się, że Hairless MIDI to Serial Bridge jest kompatybilny z ttyMIDI.)

O ile mi wiadomo, wydaje się, że nie ma oprogramowania, które pozwalałoby używać kabla To-Host z nowoczesnym komputerem. Musisz kupić adapter USB / MIDI.

CL.
źródło