No CDROM handler. error on TOOL when loading elf

Discussion in 'Sony Programming and Development' started by relax, May 19, 2013.

  1. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    So long story short. I modified the source of kloader to load the missing modules from rom (i.e EELOADCNF). kloader boots up. but stops responding and sends "No CDROM handler. Run CDVDMAN first" to dsidb. No exception thrown.

    The EELOADCNF is the one generated from silverbull's romfs using my TOOL's rom and a retail.
    I know this is a kloader related question more than a TOOL question. (I'm having registration problems with their forums), but there are a few people on this forum I think could help me. (recompiling with "host0:" EELOADCNF path suggested by silverbull, to fix the "no rom0:EELOADCNF")

    also quick question. what is the ADDDVR module used for? kloader can't load it. even when extracted and put in host0:. The source states something to do with rom1:. but I'm not familiar with the ps2 rom. and wasn't aware of a second rom location(rom1). That may be the problem. but kloader just continues even after not loading it.
    Any light shined would be very helpful.

    Loading module (rom0:CLEARSPU)
    loadmodule: fname rom0:CLEARSPU args 0 arg
    clearspu: completed
    loadmodule: id 31, ret 1
    Loading module (host0:ADDDRV)
    loadmodule: fname host0:ADDDRV args 0 arg
    loadmodule: id -200, ret 1
    Failed to load module "host0:ADDDRV".
    Loading module (eromdrvloader.irx)
    open name rom1:EROMDRV flag 1 data 54478
    open fd = -6
    Loading module (host0:SIO2MAN)
    loadmodule: fname host0:SIO2MAN args 0 arg
    loadmodule: id 32, ret 0
    Loading module (host0:MCMAN)
    loadmodule: fname host0:MCMAN args 0 arg
    loadmodule: id 33, ret 0
    Loading module (host0:MCSERV)
    loadmodule: fname host0:MCSERV args 0 arg
    loadmodule: id 34, ret 0
    open name rom1:LIBSD flag 1 data 54478
    open fd = -6
    Failed to open rom1:LIBSD.
    open name mc0:kloader/config.txt flag 1 data 54478
    open fd = -11
    Switching to Auto
    Loading module (host0:pADMAN)
    loadmodule: fname host0:pADMAN args 0 arg
    Pad driver. (99/11/22)
    loadmodule: id 35, ret 0
    Loading module (rom0:CDVDMAN)
    loadmodule: fname rom0:CDVDMAN args 0 arg
    loadmodule: id 36, ret 1
    Loading module (host0:SMSUTILS.irx)
    Loading module (host0:SMSCDVD.irx)
    Loading module (host0:ioptrap.irx)
    loadmodule: fname host0:ioptrap.irx args 0 arg
    ioptrap starts.
    loadmodule: id 37, ret 0
    Loading module (host0:iomanX.irx)
    loadmodule: fname host0:iomanX.irx args 0 arg
    loadmodule: id 38, ret 0
    Loading module (host0:poweroff.irx)
    loadmodule: fname host0:poweroff.irx args 0 arg
    No CDROM handler. Run CDVDMAN first
     
  2. krHACKen

    krHACKen Enthusiastic Member

    Joined:
    Oct 24, 2012
    Messages:
    571
    Likes Received:
    376
    Isn't the loading of CDVDFSV a requirement (after loading CDVDMAN/before loading SMSUTILS) ?
     
  3. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    mlist shows CDVDFSV as loaded
     
  4. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    My guess: Your TOOL's rom0:CDVDMAN and/or INTRMAN modules are/is somehow so different that POWEROFF can't hack itself into CDVDMAN's interrupt handler.

    rom0:ADDDRV scans for the DVD ROM's rom1: region and adds it to ROMDRV. Most TOOLs can't support DVD players, and hence they don't need and don't have a DVD ROM chip. DVD video support may be screwed up though, since the only way to re-enable DVD video disc playback is for a valid Magicgate container to be passed through the MECHACON (Most homebrew will load rom1:EROMDRV for that, but this isn't possible on consoles lacking a working DVD ROM).
     
    Last edited: May 19, 2013
  5. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    Hmm that doesn't sound fun. I doubt loading up a retail cdvdman would do anything also. extra info though. a few seconds after that error msg, I am unable to communicate with the ps2, other than reset commands.
     
    Last edited: May 19, 2013
  6. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    The TOOL's CDVDMAN module is a retail CDVDMAN module, I believe. The ROM area is supposed to contain the modules that the developed game will be shipped with.

    According to this page here: http://sourceforge.net/projects/kernelloader/files/Kernelloader/Kernelloader 2.6/, the DEV9 module should be loaded afterwards. Since you didn't see any messages from DEV9, it probably didn't load.

    Try commenting out the call to the function that loads the POWEROFF module, and use a DEV9 module from Sony instead.

    ***

    EDIT: Are you the same guy who posted here as well? http://psx-scene.com/forums/f168/no...0000-when-loading-kloader-114138/#post1061776
     
    Last edited: May 20, 2013
  7. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    Yes that is also me. (finally go the reregistration to work) that is with a different IOP parameter "0". Which from the notes in the docs. shouldn't be used for this. but I was trying different methods. I did not notice copy-pasting that log instead. thank you for pointing it out.

    I am also the person who posted the question about ule on the tool, some years ago. I have since forgotten the email and password. I was a lot less familure with source code back then. So when he suggested changing the paths in source. I did not tackle that.
    So in a since, this is a continuation of running an elf on the tool. just with a better knowledge of what that might entail.
     
    Last edited: May 20, 2013
  8. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    So slight success. commenting out poweroff and ADDDRV, made some promising effects. I still get 4 "Unknown device" msgs at start. but everything else looks to be smooth, and kloader loads up... but :( It complains it cant use FONTM, because its not in ROM0.. well I've searched the source, and I can't find any reference to the path of FONTM. adding FONTM to them module loading sequence just produces "failed to load module FONTM". and mload also gives "*** Invalid Object Format".
    No exceptions thrown though. I can still "somewhat" interact with koader. just no text

    DECI2 manager start.
    Multi Threaded Fileio module.(99/11/15)
    iop heap service (99/11/03)
    cdvd driver module version 0.1.1 (C)SCEI
    Unknown device ''
    Unknown device ''
    Unknown device ''
    Unknown device ''
    Unknown device ''
    Get Reboot Request From EE
    *** Resetted
    Update rebooting.. reset parameter for IOP=00000000_00000100
    cdvdman Init
    use alternate ROM image
    *** Resetted
    Update reboot complete
    IOP Realtime Kernel Ver.0.9.1
    Copyright 1999 (C) Sony Computer Entertainment Inc.
    IOP DECI2 manager Version 0.9.1
    Copyright 1999 (C) Sony Computer Entertainment Inc.
    DECI2 manager start.
    Reboot service module.(99/11/10)
    cdvd driver module version 0.1.1 (C)SCEI
    Load File service.(99/11/05)
    Multi Threaded Fileio module.(99/11/15)
    iop heap service (99/11/03)
    read/write allocate memory 4000
    PS2 Console type:
    Loading module (rom0:CLEARSPU)
    loadmodule: fname rom0:CLEARSPU args 0 arg
    clearspu: completed
    loadmodule: id 31, ret 1
    Loading module (host0:~/SIO2MAN)
    loadmodule: fname host0:~/SIO2MAN args 0 arg
    loadmodule: id 32, ret 0
    Loading module (host0:~/MCMAN)
    loadmodule: fname host0:~/MCMAN args 0 arg
    loadmodule: id 33, ret 0
    Loading module (host0:~/MCSERV)
    loadmodule: fname host0:~/MCSERV args 0 arg
    loadmodule: id 34, ret 0
    open name rom1:LIBSD flag 1 data 54478
    open fd = -6
    Failed to open rom1:LIBSD.
    open name mc0:kloader/config.txt flag 1 data 54478
    open fd = -11
    Switching to Auto
    Loading module (host0:~/PADMAN)
    loadmodule: fname host0:~/PADMAN args 0 arg
    Pad driver. (99/11/22)
    loadmodule: id 35, ret 0
    Loading module (host0:~/CDVDMAN)
    loadmodule: fname host0:~/CDVDMAN args 0 arg
    loadmodule: id 36, ret 1
    Loading module (host0:~/FONTM)
    loadmodule: fname host0:~/FONTM args 0 arg
    loadmodule: id -201, ret 1
    Failed to load module "host0:~/FONTM".
    Loading module (host0:~/SMSUTILS.irx)
    Loading module (host0:~/SMSCDVD.irx)
    Loading module (host0:~/ioptrap.irx)
    loadmodule: fname host0:~/ioptrap.irx args 0 arg
    ioptrap starts.
    loadmodule: id 37, ret 0
    Loading module (host0:~/iomanX.irx)
    loadmodule: fname host0:~/iomanX.irx args 0 arg
    loadmodule: id 38, ret 0
    Loading module (host0:~/ps2dev9.irx)
    loadmodule: fname host0:~/ps2dev9.irx args 0 arg
    loadmodule: id -200, ret 0
    Failed to load module "host0:~/ps2dev9.irx".
    Loading module (host0:~/ps2ip.irx)
    loadmodule: fname host0:~/ps2ip.irx args 0 arg
    loadmodule: id 39, ret 0
    Loading module (host0:~/ps2smap.irx)
    loadmodule: fname host0:~/ps2smap.irx args 39 arg 192.168.0.10
    loadmodule: id -200, ret 0
    Failed to load module "host0:~/ps2smap.irx".
    Loading module (host0:~/dns.irx)
    Loading module (host0:~/ps2http.irx)
    Loading module (host0:~/usbd.irx)
    loadmodule: fname host0:~/usbd.irx args 0 arg
    FreeUsbd v.0.1.2
    loadmodule: id 40, ret 0
    Loading module (host0:~/usb_mass.irx)
    loadmodule: fname host0:~/usb_mass.irx args 0 arg
    usb_mass: version 0.40 wr - experimental! Use at your own risk!
    loadmodule: id 41, ret 0
    Loading module (host0:~/fileXio.irx)
    loadmodule: fname host0:~/fileXio.irx args 0 arg
    fileXio: fileXio RPC Server v1.00
    Copyright (c) 2003 adresd
    loadmodule: id 42, ret 0
    Loading module (host0:~/ps2kbd.irx)
    loadmodule: fname host0:~/ps2kbd.irx args 0 arg
    PS2KBD - USB Keyboard Library
    loadmodule: id 43, ret 0
    modules id 1 "System_Memory_Manager" version 0x101
    modules id 2 "Module_Manager" version 0x101
    modules id 3 "Exception_Manager" version 0x101
    modules id 4 "Interrupt_Manager" version 0x101
    modules id 5 "ssbus_service" version 0x101
    modules id 6 "dmacman" version 0x101
    modules id 7 "Timer_Manager" version 0x101
    modules id 8 "System_C_lib" version 0x101
    modules id 9 "Heap_lib" version 0x101
    modules id 10 "Multi_Thread_Manager" version 0x101
    modules id 11 "Vblank_service" version 0x101
    modules id 12 "IO/File_Manager" version 0x102
    modules id 13 "Moldule_File_loader" version 0x101
    modules id 14 "ROM_file_driver" version 0x102
    modules id 15 "Stdio" version 0x101
    modules id 16 "IOP_SIF_manager" version 0x101
    modules id 17 "Deci2_Manager" version 0x101
    modules id 18 "Deci2_PIF_interface_driver" version 0x101
    modules id 19 "Deci2_SIF2_interface_driver" version 0x101
    modules id 20 "Deci2_TTY/FILE_driver" version 0x101
    modules id 21 "Deci2_Kprintf_driver" version 0x101
    modules id 22 "IOP_SIF_rpc_interface" version 0x101
    modules id 23 "RebootByEE" version 0x101
    modules id 24 "LoadModuleByEE" version 0x101
    modules id 25 "Deci2_Load_Manager" version 0x101
    modules id 26 "cdvd_driver" version 0x105
    modules id 27 "cdvd_ee_driver" version 0x104
    modules id 28 "FILEIO_service" version 0x101
    modules id 29 "secrman_for_tool" version 0x103
    modules id 30 "SyncEE" version 0x101
    modules id 32 "sio2man" version 0x101
    modules id 33 "mcman" version 0x101
    modules id 34 "mcserv" version 0x101
    modules id 35 "padman" version 0x114
    modules id 37 "ioptrap_driver" version 0x101
    modules id 38 "IOX/File_Manager" version 0x101
    modules id 39 "TCP/IP Stack" version 0x103
    modules id 40 "usbd" version 0x101
    modules id 41 "" version 0x00
    modules id 42 "IOX/File_Manager_Rpc" version 0x101
    modules id 43 "" version 0x00
    Please wait, pad(0,0) is in state EXECCMD
    The device has 2 modes
    ( 4 7 )It is currently using mode 4
    Enabling dual shock functions of pad 0
    Please wait, pad(0,0) is in state EXECCMD
    PS2KBD: Found a keyboard device
    PS2KBD: Connected device
    PS2KBD Keyboard Manufacturer: Logitech
    PS2KBD Keyboard Product: USB Keyboard
    infoPressMode: 1
    enterPressMode: 1
    Please wait, pad(0,0) is in state EXECCMD
    # of actuators: 2
    padSetActAlign: 1
    Please wait, pad(0,0) is in state EXECCMD
    Please wait, pad(1,0) is in state EXECCMD
    pad 1 initalization failed!
    open name usbkbd:dev flag 1 data 54478
    open fd = 2
    argc 1
    argv[0] = kloader.elf
    Switching to 640x480 60Hz
    open name rom0:ROMVER flag 1 data 54478
    open fd = 3
    open name rom0:ROMVER flag 1 data 54478
    open fd = 3
    open name rom0:FONTM flag 1 data 54478
    open fd = -2
    Failed to open FONTM from ROM0
    Can't find any font to use
     
    Last edited: May 20, 2013
  9. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Alright, that is indeed some progress!

    Some things for you to take note of:
    1. The Sony DEV9 module is named DEV9.IRX, so you have to either rename or or change "ps2dev9.irx" in the source code to "dev9.irx" instead.
    2. FONTM is NOT a IOP module, so don't load it with SifLoadModule. The log file indicates that it is being loaded by gsKit, so you need to modify the fontm loading code within gsKit.
     
  10. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    Well the path for FONTM is in gsFontM.c . After changing it to host. and recompiling. kloader crashes instantly.
    I find it odd, that changing the path to FontM, would crash it at start, since it isn't even loaded until kloader is at the start screen

    *** Unexpected reply - type=BREAKR code=ff result=EXCEPTION
    *** Target program stopped. Check the location by dr command.
    dsidb S> dr
    at=00060078 v0-1=00480400,00000001 a0-3=01201000,007eab00,00000001,00038830
    t0-7=00000001,00000001,0000000d,00000001, 00067c1c,00000000,00000000,00000000
    s0-7=24020001,007eab00,00062cd0,007eab00, 00000001,0000001e,00000004,00000010
    t8=00000000 t9=00000000 k0=00035da0 k1=00000000 gp=0006ac10 sp=007fb4f0
    fp=007fb6e0 ra=0000fc70 lo=00000000 hi=00000000 PC=0000fc78 bada=3efffbfb
    $cr=0x1000001c [ CE1 Bus error (load/store) ]
    $sr=0x00000504 [ IM0S0 IEp ]
    0x0000fc70: 0x001011c2 srl $v0,$s0,7
    0x0000fc74: 0x00022080 sll $a0,$v0,2
    ->0x0000fc78: 0x94830008 lhu $v1,8($a0)
    0x0000fc7c: 0x24027f04 li $v0,0x7f04
    0x0000fc80: 0x14620006 bne $v1,$v0,0x0000fc9c
    0x0000fc84| 0x00101043 sra $v0,$s0,1
    0x0000fc88: 0x9483000a lhu $v1,0xa($a0)
     
  11. SilverBull

    SilverBull Site Supporter 2010,2011,2013,2014,2015.SitePatron

    Joined:
    Jun 12, 2008
    Messages:
    385
    Likes Received:
    6
    Those "unknown device" errors worry me. Did you notice the two inverted commas with nothing in between? Seems it cannot extract the file name from the fioOpen RPC message... Which usually means the EE is running the wrong homebrew file I/O library. Depending on what the EE-side code attempts to do, this can result in severy memory corruption. Its usually the IOP kernel that's getting trashed, though, but I would still be cautious.

    Granted, the errors are generated before the reboot (which should return the IOP to a clean state), but it would still be safer if they weren't there. Can you check what might be causing these errors? The IOP reset with "host0:EELOADCNF" should be among the very first instructions in a program's main routine, especially before trying any file I/O.

    sp193 is correct on rom0:FONTM. That's getting loaded by gsKit.

    In your original log (message #1 in this thread), it says it loaded rom0:CDVDMAN. I don't see that line in the second log anymore, so the following probably does not apply any longer, but I think it should still be noted. On a TOOL, rom0:CDVDMAN is supposed to be identical to the CDVDMAN that the game will be running with. That is, the same CDVDMAN that will be loaded on a retail console from the IOPRP image. Therefore, if you perform an update reboot on the TOOL yourself (for example, by resetting with the special EELOADCNF), never ever load rom0:CDVDMAN afterward. Chances are the rom0 variant has a higher version number and screws up with the other one being around.
     
  12. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    So something went wrong when editing the gsKit source. but starting from scratch and repeating the steps. kloader is now running. and its a beautiful site :love-struck: . but alas the we have not won yet.

    from the look of it. The reset with EELOADCNF is part of the modules loading routine:

    From Main
    Code:
    debug_mode = -1;
        disable_cdrom = 0;
        for (i = 0; i < argc; i++) {
            if (strcmp(argv[i], "-d") == 0) {
                /* Enter debug mode, activate ps2link. */
                debug_mode = 1;
            } else if (strcmp(argv[i], "--no-cdvd") == 0) {
                disable_cdrom = 1;
            }
        }
        /* Disable debug output at startup. */
        loaderConfig.enableEEDebug = 0;
        /* Setup graphic screen. */
        menu = graphic_main();
        lastValidMenu = menu;
        /* Disable menu until start up. */
        setCurrentMenu(NULL);
        /* Show disc symbol while start up. */
        setEnableDisc(true);
        checkROMVersion();
        initMenu(menu);
        [B]loadLoaderModules[/B](debug_mode, disable_cdrom);
    
    The call "loadLoaderModules"
    Code:
    int loadLoaderModules(int debug_mode, int disable_cdrom)
    {
    #ifdef RESET_IOP
        graphic_setStatusMessage("Reseting IOP");
        FlushCache(0);
        SifExitIopHeap();
        SifLoadFileExit();
        SifExitRpc();
        SifStopDma();
        [B]SifIopReset[/B](s_pUDNL, 0);
    
    Code:
    static char s_pUDNL   [] __attribute__(   (  section( ".data" ), aligned( 1 )  )   ) = "host0:~/UDNL host0:~/EELOADCNF";
    
    I can do this. though. Where do I obtain the Sony DEV9 module?
     
    Last edited: May 20, 2013
  13. SilverBull

    SilverBull Site Supporter 2010,2011,2013,2014,2015.SitePatron

    Joined:
    Jun 12, 2008
    Messages:
    385
    Likes Received:
    6
    Looks like a different error. FONTM is parsed entirely on the EE, so it does not make sense that the IOP crashes just because the file is present. Which messages did dsidb show before the crash?

    Any chance of finding out which module crashed? Does "mlist -m" still work in this state?
     
    relax likes this.
  14. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    the erroneous kloader that produced that exception has since been deleted. as far as I know, I only edited a source file in gsKit. though the fie could have been copurt on the way to the tool. or I made a typo somewhere. but starting from scratch and reediting the FOTM path fixed that
     
  15. relax

    relax Active Member

    Joined:
    Jun 14, 2012
    Messages:
    28
    Likes Received:
    0
    I put a sony dev9.irx in host(kloader/the TOOL, seemed to like that, loaded up alot of info) and loaded up kloader with a linux kernel. it loads the kernel and the initrd. says "starting" and just sits there. no error. I'm going to take a break for today. I'm happy with the progress so far. but I'm going to frustrate myself trying to get it perfect today

    Loading module (host0:~/dev9.irx)
    loadmodule: fname host0:~/dev9.irx args 0 arg
    dev9: CXD9566 detected.
    dev9: T10K detected
    dev9: 16bit pcmcia card detected. vcc = 3V
    dev9: Speed chip: ES2
    dev9: CXD9566(pcmcia) driver start
     
    Last edited: May 20, 2013
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page