Page 1 of 1

USB mass support Issue

Posted: Wed Aug 16, 2006 6:32 pm
by evilo
Hi all,

I just added USB support in my current software and have some problem with it. the PS2 is just blocking when I'm trying to access the device (either read the FAT or open a file).

I use/load the following IRXs :

Code: Select all

XSIO2MAN
XPADMAN
IOMANX
USBD (from the PS2SDK)
USB_MASS
And doing the following thing to initialize the USB mass support :

Code: Select all

 int ret;
    
    SifExecModuleBuffer(UsbdIrx_start, UsbdIrx_size, 0, NULL, &ret);
    SifExecModuleBuffer(usb_massIrx_start, usb_massIrx_size, 0, NULL, &ret);
   
    nopdelay();
    
    ret = usb_mass_bindRpc();
    
    if &#40;ret < 0 &#41;
         printf&#40;"\nSifBindRpc failed&#58; %d !!!!\n", ret&#41;;
    else
	 printf&#40;"Usb Driver Initialized\n"&#41;;
THe whole thing is loaded through ps2link (booted from the CC BootManager) and both IRXs report to be loaded/initialized correctly.

All are the last version from the SVN (SDK, ps2link, and including as well last changes made to USBD by Herben, etc...)

Additionaly, as I'm using eXtended modules, I modified the orignial mass_support IRX to use iomanX instead of the defaut ioman.h (changed the references in both the include and import list), and so loaded IOMANX at boot up as well (is it really needed ?).

I also noticed some weird thing if I load SIO2MAN and not XSIO2MAN, the version of usb_mass "becomes" version 0.30 (while the version I compile and see if i'm loading XSIO2MAN is the version 0.40), could it be a version embedded in the BM software ?

last but not least, i also tried to reset the IOP but it makes no differences.

thanks beforehands, I'm on it since 2 days, and it's getting me crazy !

I'm maybe dumb, but I don't see where i'm wrong....

Posted: Mon Aug 21, 2006 6:10 pm
by evilo
Nobody can help on this point ?

Also, can anyone explain me what is the rule about X modules ?
If I load XSIO2MAN and XPADMAN, do I have to use X modules for all the rest ? (MC, ...) ? or can it be different ?

thanks beforehands,
Evilo.

Posted: Mon Aug 21, 2006 7:08 pm
by Drakonite
If you are loading an X module, you need to use X modules for all the dependencies and dependents.

In the case of XSIO2MAN and XPADMAN, yeah, you'd need to use XMCMAN and such as well. The X* modules are just newer versions, with mostly broken compatibility...

IOMANX is not really an X* module... it's a homebrew module that replaces IOMAN and adds some features/bugfixes. It is not the same thing as X* modules in the rom ;) You should probably be using IOMANX no matter what other modules you are using.