PS2 [Testers Needed] UDPBD - The next generation of loading games through LAN on a PS2!

I am getting able to list all the games from the directory but whenever I launch any one of them I get the green debug screen.
The cover art also is weirdly corrupted sometimes in cases.
I am using the 2044 opl, and udpbd-vexfat by awaken1ng
Log from a sample run ->

UDPBD_CMD_INFO from 192.168.1.10:48573
UDPBD_CMD_INFO from 192.168.1.10:48573
UDPBD_CMD_READ(cmdId=1, startSector=198262808, sectorCount=4)
Block size changed to 512
UDPBD_CMD_READ(cmdId=1, startSector=198262808, sectorCount=4)
UDPBD_CMD_READ(cmdId=2, startSector=198262872, sectorCount=4)
UDPBD_CMD_READ(cmdId=2, startSector=198262872, sectorCount=4)
UDPBD_CMD_READ(cmdId=3, startSector=198263852, sectorCount=4)
UDPBD_CMD_READ(cmdId=3, startSector=198263852, sectorCount=4)

Anyone knows how to debug the green screen that shows up?
 
Thanks for the reply!
Didn't work with mode 1. Another curious thing (ik since udpbd-vexfat is RO it will not save configs) but if I go into game settings and turn on mode 1 then select save settings and close options; on reopening options all settings are set to default (the settings aren't persisted in a single OPL session)
I selected test configuration option which I hope kept mode 1 on but still green screen
 
Did you update OPL recently?
I had the same problem a while ago and it was some kind of problem with the OPL version and the config from the previous version.
I just removed the config files, reconfigured OPL and it was solved.
I'm not 100% sure that this is your issue, but you can try. Just make a backup of your config files and try to remove them and try again.
 
Last edited:
I do have two versions of OPL, one from the current master(udpbd can't connect to net to download settings) and the other which is the 2040 udpbd version. I'll try this out

I removed the old configurations from mc0: and did the configuration via opl manager before running udpbd-vexfat (verified that mode 1 was showing as on in all my games). Still all of them fail on green screen :(

The logs when it is stuck on green screen is the same each time
"Block size changed to 512"
followed by a couple of UDPBD_CMD_READ logs
 
Last edited by a moderator:
Ok so 1st problem (configuration not saving) solved.
About the green screen on loading games, Did you try to defrag the device where you have the games?
I'm not sure if this really matter using udpdb, I've not tested this method yet and my ps2 is not ready for now (i've changed my old fat ps2 and have a "virgin" slim 75000 so I have to install all the mods to this new one, but I have no time to invest on it for now ).
I cannot help on this for now, sorry.
Just try to defrag maybe it could work.
 
I defragmented the drive, still green screen.
Still server's last logs are at
```
Block size changed to 512
UDPBD_CMD_READ(cmdId=1, startSector=141414424, sectorCount=4)
UDPBD_CMD_READ(cmdId=2, startSector=141414488, sectorCount=4)
UDPBD_CMD_READ(cmdId=2, startSector=141414488, sectorCount=4)
UDPBD_CMD_READ(cmdId=3, startSector=141415468, sectorCount=4)
UDPBD_CMD_READ(cmdId=3, startSector=141415468, sectorCount=4)
```

Is there any error code I can look for here which would help?

So I tried multiple things now (PS2 IP is set to 192.168.1.10)->
1) OPL ->
a) Host using windows using udpbd-vexfat and an external usb with exfat file system-> Games show up but launching anything leads to green screen (mode 1). Same as hosting udpbd-vexfat on the NAS
b) Host using udpbd-server with external exfat drive as the block device -> Games do not even show up in this case

2) Neutrino
a) Host with udpbd-vexfat and using ps2link, ran neutrino to run the game. Same issue as udpbd-vexfat on NAS with OPL (no green screen, but that is due to no debug colours option on neutrino). Same Block size changed to 512 followed by READ commands
b) Host with udpbd-server on Linux and using ps2link, ran neutrino to run the game. Same issue as udpbd-vexfat on NAS with OPL (no green screen, but that is due to no debug colours option on neutrino). Same Block size changed to 512 followed by READ commands

I am at my wits end now, probably my console is just jinxed lol. Anyone with any ideas?
 
Last edited by a moderator:
If you do not save the settings then compatibility mode will not work, in UDPBD vexfat does not save the configuration, you can only save through OPL MANAGER

So I tried multiple things now (PS2 IP is set to 192.168.1.10)->
1) OPL ->
a) Host using windows using udpbd-vexfat and an external usb with exfat file system-> Games show up but launching anything leads to green screen (mode 1). Same as hosting udpbd-vexfat on the NAS
b) Host using udpbd-server with external exfat drive as the block device -> Games do not even show up in this case

2) Neutrino
a) Host with udpbd-vexfat and using ps2link, ran neutrino to run the game. Same issue as udpbd-vexfat on NAS with OPL (no green screen, but that is due to no debug colours option on neutrino). Same Block size changed to 512 followed by READ commands
b) Host with udpbd-server on Linux and using ps2link, ran neutrino to run the game. Same issue as udpbd-vexfat on NAS with OPL (no green screen, but that is due to no debug colours option on neutrino). Same Block size changed to 512 followed by READ commands

I am at my wits end now, probably my console is just jinxed lol. Anyone with any ideas?
The network connection of the ps2 does not need to be touched, I just set the IPv4 192.168.1.42, the other settings are set automatically and I also check the private, public and domain boxes of the udpbd-server.exe in the Firewall, I did all that to make it work for me.
 
Last edited by a moderator:
I've been using 4gordi's RASPBERRY Pi version on github which is preferred for me. The only problem I have with it is compatibility , some games work some games don't.

Are there any other RASPBERRY Pi versions out there ? or gordi is going to update his version ?
 
@TnA
I have a QNAP NAS, can I use UDPBD with my NAS?
I don't like the idea much about having to have my PC on while I use my PS2.
 
This has a conflict with computers connected to ISPs that use 0 instead of 1 for the gateway. I.e. 192.168.0.1.

For instance:
Your WiFi adaptor will have the computers' IP set to 192.168.0.1, and then the UDPBD software will focus on the WiFi adaptors wrong gateway, instead of the Ethernet adaptors gateway (192.168.1.1). Disabling the WiFi adaptor will fix this but it's obviously massively inconvenient.
 
This has a conflict with computers connected to ISPs that use 0 instead of 1 for the gateway. I.e. 192.168.0.1.

For instance:
Your WiFi adaptor will have the computers' IP set to 192.168.0.1, and then the UDPBD software will focus on the WiFi adaptors wrong gateway, instead of the Ethernet adaptors gateway (192.168.1.1). Disabling the WiFi adaptor will fix this but it's obviously massively inconvenient.

I have a problem with how my ISP set up my LAN as well. My ISP is using 192.168.2.1 so the hard coded 192.168.1.1/0 makes it so I cannot use the original or official version of UDPBD-server. I got around to trying it out last night with a Raspberry Pi and the PS2 and Pi did not see each other. I my modem also doesn't allow me to create a VLAN.
 
I have a problem with how my ISP set up my LAN as well. My ISP is using 192.168.2.1 so the hard coded 192.168.1.1/0 makes it so I cannot use the original or official version of UDPBD-server. I got around to trying it out last night with a Raspberry Pi and the PS2 and Pi did not see each other. I my modem also doesn't allow me to create a VLAN.
I had the same problem but I decided to recompile OPL-UDPBD and change the hardcoded Ip, for anyone interested on trying this method I will describe what i did:
- Followed this tutorial psx-place.com/threads/how-to-build-open-ps2-loader-using-docker-container.29899/
but on the first code did this instead:
Code:
docker run --name opl_build_tmp -it ghcr.io/ps2homebrew/ps2homebrew@sha256:f6198051571464dd71018c178530654d608af7cb42538efc4a55aae7600cfe3b sh
cd ~
git clone -b udpbd https://github.com/awaken1ng/Open-PS2-Loader.git
cd Open-PS2-Loader
This will download the specific version of OPL compatible with udpbd vexfat using a ps2homebrew docker image compatible with the repository.
Then edit the IP on "modules/smap_udpbd/src/ministack.c" on line 7 on docker you can use vi text editor ie;
Code:
vi modules/smap_udpbd/src/ministack.c
then change line static uint32_t ip_addr = IP_ADDR(192, 168, 1, 10); to any fixed IP compatible with your network ie:
static uint32_t ip_addr = IP_ADDR(192, 168, 100, 123);

Then save changes and compile with:
Code:
make --trace clean release
It will create a Zip file with the ELF file inside, then outside docker you have to copy the zip file out of the container
Code:
docker cp opl_build_tmp:/root/Open-PS2-Loader/((zipfile_name)).ZIP ./OPNPS2LD.ZIP
Lastly you install this modified OPL as usual and you are done, OPL-UDPBD vexfat compatible with your network!
 
This is as far as I got. Problem I have now is that there is no /dev/sda1 or sdb1 and OPL doesn't show any games. It would be great if someone figures this out, but I'm giving up on it for now. It's taken way too much of my time so I just bought a PS2 fat instead.

Thanks a lot for this post, this was my starting point to setup the server part on OpenWRT.

As my filserver is a OpenWRT device, i didn´t want to convert the existing filesystem from Ext4 to ExFat and i didn´t have an additional USB port for a HDD or USB Stick and as i always try to keep my infrastructure minimal (which excludes USB Hubs aso for permanent usage), i needed another solution to match my needs.

I also saw multiple posts with OrangePI devices or NAS systems, where this HowTo may be a solution too, as you just need linux basics and no exfat driver on the server side (for a minimal but working setup).

I wanted to keep my fileserver like it is and give my PS2 a ExFat HDD via UDPBD, no matter which filesystem is used on the fileserver. Technically this works on all Linux/Unix based maschines.

The filesystem for UDPBD will be ExFAT and is completly independent of the filesystem used on the local maschine, for the local maschine, it´s just a file on the exsting filesystem. No changes (except for creating an additional file) will be done to the local filesystem.

This is my personal pre-alpha HowTo to setup the server part on OpenWrt (very very dirty and feedback is very welcome, especially for errors and unclear parts, no screenshots, no other nice stuff, just text with typos (for sure)):

Preflight check:

on your PC:
scp udpbd-server.elf [email protected]:/bin/ <-- change 192.168.1.1 to your OpenWRT address (it´s just the default after installing OpenWRT)
scp libstdc++.so.6.0.25 [email protected]:/lib/ <-- change 192.168.1.1 to your OpenWRT address

Of course u can also use Filezilla or whatever your tool to transfer files to your OpenWRT device is called, scp is the easiest tool to use on linux, so i used it.

on the OpenWRT device command line:

chmod +x /bin/udpbd-server.elf
ln -s /lib/libstdc++.so.6.0.25 /usr/lib/libstdc++.so.6

and try:
/bin/udpbd-server.elf
This should give you this output:
Usage:
/bin/udpbd-server.elf <file>

if not, your device needs a executeable which has been built for your platform, or you forgot the chmod +x line ;)
It runs fine for me on ramips/mt7621 with OpenWrt 23.05.4 (latest stable 09/2024)

Preflight check completed


If the server binary works fine:

web interface or commandline on OpenWRT----- for BETA STATE -----:


Web interface --> Network --> Interfaces ---> edit button @ lan --> IPV4 address, add 192.168.0.1/24 and 192.168.1.1/24 as additional addresses

Useful in beta phase, i found different hard-coded addresses in different client binaries, so adding those 2 saves troubleshooting time,
if you try multiple client betas, if you already elected one, which is working for you already, you should know which one you will need.

------------------------------------ Start of "i create my harddisk myself, i don´t need a buy button" ;) -----------------------------

webinterface --> Software .... or commandline:

Install packages to create and manage loopback devices:
kmod-loop
losetup

If you want to create/access the .bin file locally on your OpenWRT device:
Install ExFat driver and mgmt tools:

kmod-fs-exfat
exfat-mkfs
exfat-fsck

If not (or you need to save flash space) create the .bin on another computer scp it to the openwrt device and skip the next step module installation and the "dd line"

REM The router doesn´t need to be able to read the filesystem in the .bin, it´s useful if you want to copy isos into it locally, but it´s not needed for normal operation

If not, create the UDPBD.bin on your PC, fill it with isos or whatever and transfer it to your OpenWRT device and skip the next 2 points.

Command line ssh ... local connection whatever you need to get on the OpenWRT command line:

Create a Blockdevice structure in a file:
dd if=/dev/zero of=/DATA/PS2/UDPBD.bin bs=1M count=5120 <-- change size (count= 1024=1G 5120=5G .....) change PATH (of=...)to your enviroment

Create a ExFat filesystem on that blockdevice file:
mkfs.exfat /DATA/PS2/UDPBD.bin -c 128k <---- change PATH to your enviroment (same as in the "dd line")

------------------------------------ Finish of "i create my harddisk myself, i don´t need a buy button" ;) -----------------------------
---------------------------------------------------Back to standard setup -----------------------------

On the OpenWRT Webinterface:
System --> Startup --> local startup
add these lines before the exit line::
losetup /dev/loop0 /DATA/PS2/UDPBD.bin <---- change PATH to your enviroment (same as in the "dd line")
/bin/udpbd-server.elf /dev/loop0 & <---- if you want you can use screen, or log into a file, this works fine for me

This will setup /dev/loop0 pointing to the UDPBD bin, which acts like a normal block device and start the UDPBD server using /dev/loop0 at each startup.

--> Save

reboot

If you installed kmod-fs-exfat, you can mount the .bin, by mounting /dev/loop0 (after stopping the UDPBD binary) and move isos or whatever into the file locally (don´t forget to unmount and start the UDPBD binary after that or simply reboot),if not you need to mount it on your PC and fill it there.

Configure your PS2 to a fixed IP address in 192.168.0.0/24 or 192.168.1.0/24 (if your home networks is in a different IP range) and try multiple PS2 UDPBD clients binaries, as some didn´t show up any content for me (copy all you got to MC0: and try one after another).

Just an idea for adv. users:
in cron: monitor download folder, if there is new content:
stop UDPBD-server
mount bin
mv new stuff into bin
unmount bin
start UDPBD-server

I hope it helps someone.
Like always, just my 2 cents, use it at your own risk and feedback is welcome :D
 

Similar threads

Back
Top