Summary
After the 2024-09-04 USBD feature update (b1f7ff96), Open PS2 Loader builds that embed the current usbd_mini / usbmass_bd IRX fail to run Crash Bandicoot: The Wrath of Cortex from USB on real hardware.
Rebuilding the same modern OPL with USB IRX from immediately before that rewrite (2dc6b32f) restores normal behaviour.
This looks like a ps2sdk USBD (and/or usbmass_bd pairing) regression, not an OPL game-code bug.
Symptoms (hardware)
On broken (post-rewrite) USB stack:
- Load to game menu can take up to ~5 minutes (good case is ~10 seconds)
- Starting play then goes to a black screen
On pre-rewrite USB stack (same OPL otherwise):
Reproduction
- Consoles: PAL slim PS2s (SCPH-70003 / 75003 / 77003)
- Device: USB ISO
- Games: NTSC
SLUS_202.38 and PAL SLES_503.86 (both fail the same way)
- Host loader: Open PS2 Loader (embeds SDK IRX at build time)
OPL stock bisect (same USB/ISOs):
- Last good OPL Beta build era: Beta-2125
- First bad: Beta-2127
- That window lines up with OPL builds that baked in post-rewrite USBD
Confirmed isolation
| Build |
Result |
Modern OPL + current SDK usbd_mini / usbmass_bd |
Broken (slow load → black screen) |
Modern OPL (Beta-2245 tree) + USB IRX from ps2sdk @2dc6b32f (pre-b1f7ff96) |
Works (~10s, playable) |
| Stock OPL Beta-2245 |
Broken |
So only swapping the embedded USB IRX back to pre-rewrite fixes it.
Suspected commit
- Introduced:
b1f7ff96 — USBD feature update (2024-09-04)
(“usbd 1.2 API now exposed, module unloading, isochronous scheduling”)
- Last known-good tree for this use case:
2dc6b32f (parent side / immediately before that update)
Related follow-ups in the same era (imports etc.) may also matter; happy to help narrow further if useful.
Related reports
Notes
- Temporary OPL-side workaround (vendor/pin pre-rewrite IRX) is confirmed on hardware for upstream OPL, but maintainers correctly prefer a real fix here rather than permanently shipping 2024 USB binaries.
- I can provide the pre/post IRX hashes / sizes and help test SDK patches on hardware if needed.
Request
Please investigate USBD (and usbmass_bd if involved) behaviour changes since b1f7ff96 that could cause severe USB read slowdown / failure for this game’s access pattern under OPL’s BDM USB path.
Summary
After the 2024-09-04 USBD feature update (
b1f7ff96), Open PS2 Loader builds that embed the currentusbd_mini/usbmass_bdIRX fail to run Crash Bandicoot: The Wrath of Cortex from USB on real hardware.Rebuilding the same modern OPL with USB IRX from immediately before that rewrite (
2dc6b32f) restores normal behaviour.This looks like a ps2sdk USBD (and/or usbmass_bd pairing) regression, not an OPL game-code bug.
Symptoms (hardware)
On broken (post-rewrite) USB stack:
On pre-rewrite USB stack (same OPL otherwise):
Reproduction
SLUS_202.38and PALSLES_503.86(both fail the same way)OPL stock bisect (same USB/ISOs):
Confirmed isolation
usbd_mini/usbmass_bd@2dc6b32f(pre-b1f7ff96)So only swapping the embedded USB IRX back to pre-rewrite fixes it.
Suspected commit
b1f7ff96— USBD feature update (2024-09-04)(“usbd 1.2 API now exposed, module unloading, isochronous scheduling”)
2dc6b32f(parent side / immediately before that update)Related follow-ups in the same era (imports etc.) may also matter; happy to help narrow further if useful.
Related reports
(related symptoms; wOPL CI is not floating
:main, but still embeds post-rewriteusbd_mini. A naïve old-IRX pin that works on upstream OPL did not apply cleanly there.)Notes
Request
Please investigate USBD (and usbmass_bd if involved) behaviour changes since
b1f7ff96that could cause severe USB read slowdown / failure for this game’s access pattern under OPL’s BDM USB path.