[#1] Driver USB (XHCI) dla Pistorm/RPi4B
Witam,
Beta wersja sterownika do XHCI na Raspberry PI 4B.
To jest dość świeże i testowane tylko przeze mnie, proszę się liczyć z możliwością utraty danych i wszelkich innych złych rzeczy - na własną odpowiedzialność.

Wymagania:
- Poseidon 4.5
- PI4B na Pistorm32-lite, porty USB-A (na razie nie działa na CM4 i porcie USB-C PI4 - to inny kontroler. Też XHCI, ale nie na PCIe. Dorobię obsługę jak naprawię drugą A1200.)
- gic400.library w LIBS:
- Emu68 1.1 albo jakieś świeże nightly.. 1.0.99 to się nazywa?

Testowane tylko na AmigaOS 3.2.3 z AmiKit 12.8.3.
Nie testowałem urządzeń USB 3.x w niebieskich portach - na ten moment powinny nie zadziałać :)

Wyniki z devtest (lide.device - mSATA SSD na RIPPLE IDE):
13.RAM Disk:devtest/devtest_1.6> devtest -b lide.device 0
Test lide.device 0 with Coprocessor RAM
read  512 KB xfers          1960 KB/sec
read  128 KB xfers          1954 KB/sec
read   32 KB xfers          1890 KB/sec
13.RAM Disk:devtest/devtest_1.6> devtest -b usbscsi.device 0
Test usbscsi.device 0 with Coprocessor RAM
read  512 KB xfers         30386 KB/sec
read  128 KB xfers         23293 KB/sec
read   32 KB xfers         12239 KB/sec
13.RAM Disk:devtest/devtest_1.6> devtest -b brcm-emmc.device 1
Test brcm-emmc.device 1 with Coprocessor RAM
read  512 KB xfers         27915 KB/sec
read  128 KB xfers         25832 KB/sec
read   32 KB xfers         14656 KB/sec
13.RAM Disk:devtest/devtest_1.6>


Screenshot na zachętę:


Ostatnia aktualizacja: 08.02.2026 14:23:36 przez rondoval
8
[#2] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #1

Jest szansa na działanie z pi3?
Pistorm32 lite, czy na innych też zadziała?
[#3] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@mareq, post #2

PI3 nie - tam jest USB 2.0 oparte na kontrolerze DWC2. Trzeba by napisać zupełnie nowy driver.

Inne Pistormy - tak w zasadzie sam sprzęt nie powinien mieć znaczenia. Znaczenie ma wersja Emu68 - musi mieć działającą obsługę przerwań i mapować przestrzeń adresową PCIe poniżej granicy 4GB, bo inaczej 68k do tego ne sięgnie ;)
[#4] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #3

Ok. Pi4 zamówione. Coś nie mogę na githubie znaleźć tych wersji, które nie są oficjalnie wypuszczone. Kiedyś znalazłem a teraz kicha. Chętnie bym protestował z pistorm a2k. Mogę prosić o link?
[#5] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@mareq, post #4

W sumie też nie wiem... Tu jest mój stary build 1.06 z poprawkami do PCIe: https://github.com/rondoval/Emu68/releases/tag/v1.0.6-pcie
Mogę też gdzieś wrzucić nowszy - teraz używam builda z gałęzi 1.1 gdzieś z grudnia.

Przy okazji:


Tak, to jest pendrive działający w trybie SuperSpeed (USB 3.0) na klasyku
Jak widać jest parę rzeczy do wyprostowania, bo Poseidon myśli że to low speed z problemem z zasilaniem...
To jest ~54MB/s, ten pendrive w Crystal DiskMarku pod Windows w porcie 2.0 wyciąga 40MB/s. W 3.0 133 MB/s. Obawiam się że tu już mogą się pokazywać ograniczenia samego Poseidona... zobaczymy.
Będzie w następnej wersji.
1
[#6] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #1

Super, że robisz to co robisz. Czy klawiatury, myszki działają?
[#7] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@koczis, post #6

te co mam - tak. czy wszystkie... nie wiem.
Działają też karty dźwiękowe, w obu kierunkach. Takie po 4-5zł z Aliexpress.

Ostatnia aktualizacja: 08.02.2026 22:18:04 przez rondoval

Ostatnia aktualizacja: 08.02.2026 22:19:26 przez rondoval
1
[#8] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #7

Działają też karty dźwiękowe, w obu kierunkach. Takie po 4-5zł z Aliexpress.

brawo! No to mnie zatkało. Szok Sprawdziłem datę, bo czas leci dość szybko i kto wie może to już jest pierwszy kwietnia i ucieszyłem się, że jednak nie. Czy jest może jakieś wideo, które może przybliżyć proces instalacji jak i samo działanie tych sprawdzonych kart, myszy jak i klawiatur? brawo!
[#9] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #5

Mogę też gdzieś wrzucić nowszy - teraz używam builda z gałęzi 1.1 gdzieś z grudnia.

Mógłbym prosić o jakiś nowszy build? Używam Framethrower i on dobrze pracuje dopiero od wersji 1.0.7.
[#10] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #1

Na Pistorm classic z Pi4B+ działa zacnie. Póki co pendrive przetestowałem w czarnym porcie.
3
[#11] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #3

Mam RPi 4B i Pistorm Classic w A500, przetestuję jutro.
Dobrze że działają czarne porty, u mnie po niebieskich (jak i Ethernecie) zostały wspomnienia.

EDYTA: Widzę że TomcioPaluszek przetestował i u niego działa, miodzio...

Ostatnia aktualizacja: 09.02.2026 19:32:28 przez waldiamiga
[#12] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@TomcioPaluszek, post #10

Na Pistorm classic z Pi4B+ działa zacnie. Póki co pendrive przetestowałem w czarnym porcie.


Tu powinno być zacniej w porcie niebieskim, jak masz pendrive 3.0:
https://github.com/rondoval/emu68-xhci-driver/releases/tag/v2.0

Zmiany:
- root hub raportuje się jako self-powered
- eksperymentalny support dla 3.0/SuperSpeed

Ograniczenia SuperSpeed:
- pendrive musi być wpięty bezpośrednio do niebieskiego portu
- huby 3.0 wpięte do portu 3.0 na razie jeszcze nie działają - muszę dorobić emulator/translator 2.0<->3.0
- urządzenia 2.0 w niebieskich portach działają
- oczywiście nie ma mowy o zaawansowanych ficzerach 3.0: strumienie itp. Tu się nie obejdzie bez zmian w Poseidonie i class driverach.
Urządzenia które rzeczywiście mają zestawiony link SuperSpeed mają dodane do nazwy " (SS)" - to ze względu na to, że prędkość dla Poseidona musi być max High Speed... Wypadałoby zrobić port Poseidona z AROSa z powrotem na AmigaOS. Przy okazji można by popracować nad prędkością.

Tak się zastanawiam co dalej:
a) kończyć support dla hubów 3.0
b) port drivera na CM4
c) a może zostawić to i zabrać się za NVMe?
2
[#13] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #12

Tak się zastanawiam co dalej:

Sporo użytkowników posiada CM4, więc lepiej by było dla nich gdybyś zacząć od b).
1
[#14] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #12

Tu powinno być zacniej w porcie niebieskim, jak masz pendrive 3.0:


Pendrive to by się znalazł, ale portów niebieskich w moim Pi4 już nie ma
[#15] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@TomcioPaluszek, post #14

No to już sprawdziłem: z pistorm a2k działa. Nie mam żadnego urządzenia usb3 ale na niebieskich portach to co mam na usb3 działa. Tylko przydałby się do tego emu68k w wersji przynajmniej 1.0.7, bo na tym 1.0.6 Framethrower daje pasek na ekranie po prawej stronie.
Szkoda, że z myszki USB nie można odpalić boot menu. Przydało by się, żeby Poseidon był w jakimś boot romie.
Czy ktoś wie, czy z klawiatury na USB da się jakoś zrobić soft reset?

Generalnie Amiga powiała mi świeżością. Poczułem odrobinę luksusu. Wielkie dzięki za ten sterownik.

Ostatnia aktualizacja: 10.02.2026 14:53:38 przez mareq
2
[#16] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@mareq, post #15

Jestem po pierwszych testach. Nie wiem co jest winą sterownika a co samego poseidona.
- Zdarza się, że na pendrive niektóre pliki są niewidoczne.
- Sprawdziłem 2 tanie karty muzyczne. Na obu dźwięk jest poszarpany. Tak jakby były przerwy w transmisji.
- Klawiatura nie powtarza naciśniętego klawisza. Tu akurat na jednym odbiorniku jest i klawiatura i mysz. Może to ma znaczenie?
Przy okazji brakuje mi soft resetu z klawiatury a nie mogę się doszukać w tridencie, czy da się gdzieś to ustawić.
[#17] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@mareq, post #16

poszarpany dźwięk - czym/z czego odtwarzasz? jaka wersja AHI?
Możesz spróbować pokombinować z priorytetami tasków...
To jest mniej więcej tak: driver ma wewnętrznego taska. Ten task musi "wepchnąć" nowe pakiety na ring xHCI przynajmniej raz na 9-10ms, inaczej będzie buffer underrun i przerwa. Dlaczego tak? Bo stos pozwala zbuforować max 2048 bajtów.. a to jest ~11ms dźwięku przy stereo 44.1kHz.
Więc popatrz może SysInspectorem jaki priorytet ma task drivera. Normalnie ustawiam 30 z tego co pamiętam. Taki np. Executive potrafi nieźle namieszać.

Widzę jeszcze coś takiego: AmigaAMP mi czasem i tak raz na kilka sekund robi przerwy przy odtwarzaniu radia internetowego - ale tu to nie jest buffer underrun na poziomie drivera...wygląda jakby coś w stosie wyżej. Nie namierzyłem jeszcze co to. W EaglePlayer tego nie słyszę.

Klawiatura - też tak mam, na zwykłej przewodowej. To raczej nie driver, obstawiam bardziej klasę HID - przy naciśnięciu klawisza przez driver przechodzi info wyżej, później przy puszczeniu też - pewnie kwestia interpretacji.

Reset z klawiatury - u mnie działa, tylko tam jest domyślnie 10s... znaczy trzeba trzymać naciśnięte 10s. Sprawdź też mapowanie klawiszy.

Niewidoczne pliki - a to nowe i niepokojące... mógłbyś napisać coś więcej? Kiedy to się dzieje? jaki filesystem? pendrive 2.0 czy 3.0?

Ostatnia aktualizacja: 13.02.2026 00:37:23 przez rondoval
[#18] Re: Driver USB (XHCI) dla Pistorm/RPi4B

@rondoval, post #17

Odnośnie wersji to muszę sprawdzić. Wszystko jest z najnowszego pakietu Caffeine. Do odtwarzania muzyki używam AmigaAMP i nawet nie pomyślałem o możliwym nie wyrabianiu się, bo sam Amp przy MP3 generuje znikome obciążenie procesora.
Odnośnie klawiatury: gdzie znaleźć to mapowanie dla resetu? Przekopałem ustawienia w Trident i nigdzie nie znalazłem.
Jak chodzi o pendrive to jest na pewno 2.0 podłączony do portu 2.0. Próbie jeszcze testy na różnych pendrivach i dam znać.
Jeśli gdzieś mogę włączyć jakieś logowanie, które mogło by ci pomóc to daj znać.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem