Page 1 of 1

Help installing Mr Brown's exploit under PS2 Linux

Posted: Tue Jan 27, 2004 2:40 pm
by Barbarian
I successfully compiled titleman and added my PS1 game to the TITLES.DB, BUT PS2 Linux will refuse to copy, create or read the BADATA-SYSTEM folder. I suspect there is a protection in Sony's mem card libraries, since even with a real dev kit I can't read or modify that folder.
Since the ps2dev libs obviously can copy files there, this must be a software protection somewhere.
Would anyone have insight in this? Mr. Brown?

Posted: Tue Jan 27, 2004 7:01 pm
by zaurglub
you can't create this folder because there is already one, that you can't see. I suppose it has some system permission flags.
So, just go to the ps2 browser, and erase the "Your System Configuration"
. After that, create is ok

I put my elf as BOOT.ELF, but it doesn't run...
I could get to the white screen ( SETBG(0xff, 0xff, 0xff); from _start() in payload.c )
it seems to load my elf correctly, because I don't see the other color errors (SETBG(...))
the screen just turn black, and nothing...

someone has a clue ? better luck with other BOOT.ELF ?
thx

Posted: Tue Jan 27, 2004 7:46 pm
by Lukasz
zaurglub wrote: I put my elf as BOOT.ELF, but it doesn't run...
I could get to the white screen ( SETBG(0xff, 0xff, 0xff); from _start() in payload.c )
it seems to load my elf correctly, because I don't see the other color errors (SETBG(...))
the screen just turn black, and nothing...

someone has a clue ? better luck with other BOOT.ELF ?
thx
You will have to be specific about what you BOOT.ELF is, the problem is most likely IOP related, eg. error when trying to load a module, calling nprintf or similar.

Lukasz

Re: Help installing Mr Brown's exploit under PS2 Linux

Posted: Wed Jan 28, 2004 3:02 am
by mrbrown
Barbarian wrote:I successfully compiled titleman and added my PS1 game to the TITLES.DB, BUT PS2 Linux will refuse to copy, create or read the BADATA-SYSTEM folder. I suspect there is a protection in Sony's mem card libraries, since even with a real dev kit I can't read or modify that folder.
Since the ps2dev libs obviously can copy files there, this must be a software protection somewhere.
Would anyone have insight in this? Mr. Brown?
You'll have to use a tool like nPort to modify that save. You can setup ps2link to run from PS2/Linux, then run nPort once you have ps2link booting.

You're correct about why you can't see those files, there is a flag that allows "system" saves to be accessed, and that flag is only set in the BIOS version of MCMAN.

Posted: Wed Jan 28, 2004 12:45 pm
by Barbarian
Hmm, I tried running the pukkling (with the reload1 stub), but it doesn't work on the latest versions of PS2 (I have v9 unfortunately).
If ps2link has an updated RTE loader that would be awesome, I have been trying to run the exploit for weeks now ...

Posted: Wed Jan 28, 2004 1:04 pm
by Oobles
If you don't have a modchip, the other option you have is to use a commercial memory card manager like Xport. Or if you know someone with a modchip then you can use Nport to load ps2link and exploit.

I don't have the linux kit, so can't help you with reload.

Posted: Wed Jan 28, 2004 1:15 pm
by Barbarian
Hmm, I didn't realize I can buy a memory card manager. Thanks for the tip.

Posted: Thu Jan 29, 2004 3:38 am
by mrbrown
Barbarian wrote:Hmm, I tried running the pukkling (with the reload1 stub), but it doesn't work on the latest versions of PS2 (I have v9 unfortunately).
If ps2link has an updated RTE loader that would be awesome, I have been trying to run the exploit for weeks now ...
It's something I've needed to do for a long time now, but haven't gotten to it. When I get my ps2dev setup at home, I'll release an updated reload1 for v9's.

Posted: Thu Jan 29, 2004 7:07 am
by Barbarian
Thanks Mr Brown that will be greatly appreciated.

Posted: Thu Jan 29, 2004 8:18 am
by mrbrown
BTW, and this isn't directed towards you in particular Barbarian :P. "mrbrown" is just the first two initials of my name and my last name, Marcus R. Brown -> mrbrown. I see folks writing Mr. Brown, but that's not how the nick was intended :). If you want to say Marcus, or mrbrown, that's fine with me, but please not "Mr. Brown" :).

Just FYI.

Posted: Thu Jan 29, 2004 5:00 pm
by Guest
Oh, I see. My bad :D
I somehow assumed it's a Reservoir Dogs thing ...

Posted: Thu Jan 29, 2004 5:11 pm
by Barbarian
OMG, the login is playing tricks on me.

Btw, Marcus, I can help with the reload1 stub if you want me to. I just need an idea what to look for that is different between v4 and v9 machines. I believe the reload1 code was published on playstation2-linux.com. Is this the latest version?

Posted: Fri Jan 30, 2004 3:33 am
by mrbrown
In reload1.c, on line 134, change 0x80005390 to 0x80005388. I *think* that is the only change required for v9 and higher.

The problem right now with me publishing the full fix is that the HDD it's sitting on is in storage atm. Hopefully that will do it for you.

Posted: Fri Jan 30, 2004 6:11 pm
by Barbarian
Ok, the fix did the trick and the reload1 boots succesfully.
BUT, ps2link hangs saying : "Booting from host: (host:)"
I think it fails to load some IRX files, since the network adapter doesn't get initialized.
I put all IRX files in the BWLINUX folder. Does it expect them somewhere else? Or is it somehow sensitive to the fact it's being loaded through the RTE.
I even tried with pukklink with the same result - failing to load some IRX.

Posted: Fri Jan 30, 2004 6:34 pm
by Barbarian
Ok, found it. ps2link expects argc to be some huge number and somehow it's not anymore, so I just hardcoded reload1 to always use the BWLINUX path. Works like magic now :-)

Posted: Fri Jan 30, 2004 8:21 pm
by blackdroid
// reload1 usually gives an argc > 60000 (yea, this is kinda a hack..)
else if (argc != 1) {
bootPath = "mc0:/BWLINUX/";
}

You mean this hack ? Im not sure what reload passes in argv ( mc0:ps2link.elf ? )
but what happens if you comment the argc if statement ( from line 378 in current ee/ps2link.c ) ?

could you scr_printf argc and argv and tell us what you get ?

Posted: Sat Jan 31, 2004 9:24 am
by Barbarian
Actually I hacked the elf directly and replaced the host: string with mc0:/BWLINUX/
I couldn't figure out how to get a tarball from the CVS last night and was too lazy to download each file. I just looked at ps2link.c source to see what it expects as arguments.

I'll try to compile the source tonight and get a printout of argv and argc.

Posted: Tue Feb 03, 2004 5:29 am
by boman666
What's the easiest way of getting ps2link to work on a PS2 Linuxkit not having xRhino installed?

Posted: Tue Feb 03, 2004 6:19 am
by boman666
ie how do I solve the prb that ps2link can't access the MC after I've started it with reload and hence can't load the modules required to run.

Posted: Tue Feb 03, 2004 11:00 am
by Barbarian
The problem is that ps2link fails to detect it was booted from reload1.
There is a updated version of ps2link which has a special elf called ps2link_forcemc or something like that.
Attach this elf to the reload1 stub and you should be good to go. All IRX files should be in the BWLINUX directory (or in case you don't have the MC patch installed - in the only directory you can see when you mount mc00).

Posted: Tue Feb 03, 2004 12:24 pm
by boman666
I've already modified ps2link.c to force it to load from the MC, but it wasn't able to find any modules with neither mc0:/ nor mc0:/BWLINUX/. I don't have the MC-patch installed. I, for some reason, thought the feature of being able to fully access the MC came with the xRhino kernel. My bad!

Are you saying that, when I put a file, FILE, on the MC with my unpatched kernel, it'll be visible from the PS2 OS as mc0:/BWLINUX/FILE ? Because I forced ps2link to use the mc0:/BWLINUX-path but it still wasn't able to find and load the modules. Maybe I screwed something up, I'll try that again.

Posted: Tue Feb 03, 2004 2:01 pm
by boman666
I've got it to work now. The reason it didn't work was probably because I'd forgotten that I'd comment out all sbv-calls, because I didn't have that lib the first time I tried to get ps2link to compile. Anyways, thanks for the help!

Posted: Thu Feb 05, 2004 4:29 am
by Barbarian
Yes, under unpatched kernel, anything you write in mc00/, is in reality mc0:/BWLINUX/.
Basicly the patch modifies the kernel so you can see the root of the MC.

Btw, congrats on getting reload1 working. I spent weeks struggling with it before I finally got it :-)

Posted: Thu Feb 05, 2004 5:02 am
by mrbrown
I have a fix for ps2link and proper RTE detection.

/me adds to ever-growing list...