PlayStation 2 PS2 SMB with a Raspberry Pi or how to load games at near full speed

Discussion in 'Technical Chat' started by DarkWing, Nov 13, 2017.

  1. DarkWing

    DarkWing Member

    While playing with this setup I was taking some notes an though compiling this into a step by step guide would benefit the community more than sitting on my laptop so after a bit of effort there it is.

    This guide will help you setting up a Raspberry Pi to stream games to a PS2.
    The point of this is to by pass the PS2 slow USB1 slot and basically run games and FMV at near full speed. So far haven't come across a laggy FMV with this setup.

    This setup look lengthy but is actually quite straight forward when you know what is involve, it should take between 30min to probably more than an hour depending of how familiar your are with Linux. I’ve also tried to make this guide as simple as possible so that it is not necessary to have experience with Linux although some basic understanding is preferred.

    If you found this guide helpful feel free to Buy Me a Coffee to support this ;)

    What you will need
    - PS2 which works with FMCB
    - Memory card with FMCB and Open Ps2 Loader installed
    - Raspberry pi 2 or 3 or other hardware compatible with Rasbian which has the required ports (Ethernet, usb, etc…)
    - USB drive, would suggest to at least get a 32gb
    - Keyboard, mouse, micro SD card
    - Micro usb power supply for the Pi, most android phone charger works
    - Ethernet cable (a normal Cat5 or Cat6, not cross over)
    - Modem/router (only for initial setup)

    Let’s start!


    1. USB drive

    1.1. fat32 vs NTFS formating
    When it comes to formatting your USB drive to work with SMB you have 2 options:
    - FAT32 which can be manage on both Mac and Windows but you are limited to having iso’s under 4gb.
    There is ways to get around this but require splitting the files which make this process a bit tedious.

    - NTFS which has no size limit and is a native windows format but is not supported on mac by default.

    Based on this, NTFS is a no brainer because most of the games I wanted to play are over the 4gb limit.
    The only issue is, as a mac user, I had to look for a way to access and manage the files.

    I went down the path of using an extension called Tuxera NTFS which as a 15 days trial.
    An alternative would be to install Parallel or something similar and run windows.


    1.2. ISO’s
    You will need to follow the naming convention for your ISO’s.
    If you don’t do this they will not show up.

    It’s actually quite straight forward, you need to follow only 2 points:
    - Make sure your ISO name are not excessively long
    - Make sure your game as a game id at the begin of it’s name

    The game ID can be easily found online, just search the name of your game and add game id at the end of your search terms. Usual the search will return a gamefaqs.com page which has all those ID’s for each region.

    The format to follow is REGION_123.45.Name of Your Game.iso
    You can have space in the name section but the region and ID need to follow the exact same format.

    So for example if you have an iso called :
    Shin Megami Tensei: Devil Summoner: Raidou Kuzunoha vs. the Soulless Army (USA).iso

    You could rename it:
    SLUS_214.31.Shin Megami Tensei RK vs SA.iso


    1.3. Folder structure
    Last thing to keep in mind is that OPL requires a specific folder structure on the USB so that it can access your files.

    For more info check the OPL wiki page https://bitbucket.org/ShaolinAssassin/open-ps2-loader-0.9.3-documentation-project/wiki/tree-structure
    Based on that page the folder structure will be created automatically when launch OPL for the first time.

    So a way to get this on a fresh setup would be to plug your USB drive in a the PS2, run OPL and launch loading from USB. Alternatively you should be able to just create a folder called DVD.

    When you are done with your OPL folder(s), move your ISO to the DVD folder,
    create a new folder at the root of your USB, call it PS2SMB and move all the files/folders into it.
     
    ttsgeb likes this.
  2. DarkWing

    DarkWing Member

    2. Raspberry PI

    2.1. Setting up your PI
    2.1.1. Cool, now that you have setup you USB drive just plug it into the PI
    and using you ethernet cable plug into your Modem so that you have access to internet.

    For this setup you will need to install Raspbian which is the default OS for Pi’s.

    The easiest way is to download the NOOBS setup and copy it onto your Micro SD card before doing anything with the PI.

    This page will take you through this in details:
    https://www.raspberrypi.org/help/noobs-setup/2/

    2.1.2. After you finish this setup Raspbian might be booting directly in the GUI, this can be change by going
    to the Raspberry Pi configuration and selecting Boot: To CLI and reboot it.

    More info can be found on this page under the Raspberry Pi Configuration Utility on the desktop section:
    https://www.raspberrypi-spy.co.uk/2015/09/raspbian-configuration-utility-and-new-boot-options/

    2.1.3. Once your Pi as boot up it will ask you to login, the default details are:
    User: pi

    Password: raspberry

    2.1.4. You can run the usual update if you want (optional but good to do)
    sudo apt-get update

    sudo apt-get upgrade


    2.2. Set static IP address
    2.2.1. For the PS2 to access you PI it needs to have a static address which can setup in the dhcpcd.conf file,
    using nano we will open and edit the file.
    sudo nano /etc/dhcpcd.conf


    Look for eth0 setting, remove the # infront of each line.
    Update the IP address, in my case I have set it up as 192.168.0.143.

    Make sure that you keep the /24 at the end of the IP.
    Update the router IP if needed and you can leave the 8.8.8.8 port number at the end if they are present.

    This should look like this:
    interface eth0

    static ip_address=192.168.0.143/24
    static routers=192.168.0.1
    static domain_name_servers=192.168.0.1

    Once finish, press control+x, enter Y for yes and press enter key


    2.2.2. Reboot your PI for the change to take effect
    reboot


    2.2.3. You can double check your ip address by typing the following command.
    ifconfig

    You should be able to see the new IP address that you updated under the eth0 section.
    [​IMG]

    2.3. Mount USB drive
    2.3.1. Install ntfs support
    sudo apt-get install ntfs-3g

    2.3.2. To find our external hard drive enter the following
    sudo fdisk -l

    2.3.3. There should be 2 section showing up, each representing 1 drive.
    The first one which will show a few different partition should be your micro SD.

    The second one should be your USB drive, you can check the storage space next to the path to confirm it the right one.

    If you look under the Device boot column you will see the path to this drive along with it’s name, in my case /dev/sda1. Write down this path because we will need it in the next steps.

    2.3.4. Next we will create a folder to mount the drive. I keep the same folder name from the USB drive but it could be anything else as long as you can remember what it is.
    sudo mkdir /media/PS2SMB

    2.3.5. We will need to edit the stab config to auto mount the usb
    sudo nano /etc/fstab

    2.3.6. At the bottom of this file add the following line (remember to change the folder names if you didn’t follow the same names in the previous steps)
    /dev/sda1 /media/PS2SMB auto nofail,noatime 0 0

    Once finish, press control+x, enter Y for yes and press enter key

    2.3.7. Then just reboot the PI
    reboot

    2.3.8. To check if it worked, go to the folder you created and see if you can access the files inside it
    ls /media/PS2SMB/PS2SMB

    If you can see your folder(s) (e.g. DVD folder) it means that it was successful


    2.4. Setting up samba and share folder
    2.4.1. Samba is a suite of application that use the Server Message Block (SMB) protocol.
    It is basically use to create a server and in our case make our USB drive accessible over ethernet.

    Install it with the following:
    apt-get install samba samba-common-bin

    2.4.2. Edit the config files
    nano /etc/samba/smb.conf

    2.4.3.Add the following at the to the bottom of the file:

    [PS2SMB]
    Comment = PS2 folder
    Path = /media/PS2SMB
    Browseable = yes
    Writeable = Yes
    only guest = no
    create mask = 0777
    directory mask = 0777
    Public = yes
    Guest ok = yes

    As a side note, I wouldn’t advice to use the above setting on a network as they allow anyone to access
    your folder but for this usage it is not an issue as the Pi will be connected directly to the PS2.

    Once finish, press control+x, enter Y for yes and press enter

    2.4.4. restart Samba
    ~/etc/init.d/samba restart

    2.4.5. Check if you can access drive

    on Windows
    1. On a windows PC open up file explorer.
    2. Click on network in the left hand column.
    3. In here open up Raspberry Pi.
    4. Double click on the folder.

    on Mac
    Keep in mind that you might not see the drive without having NTFS extension installed
    1. Select Finder and do command+k
    2. enter smb://192.168.0.143/PS2SMB and click connect

    2.4.6. Turn off your PI with the following command :
    poweroff

    This will causes the green LED to blink 10 times at 1 second intervals when it is safe to poweroff.
    An important thing to note is that you should always turn off your Raspberry Pi with the correct command,
    removing the micro USB while the Pi is running could potentially corrupt the Micro SD card or even damage your Pi.

    To turn it off you can have your pi plug to your TV and using your keyboard enter the power off command as above.

    Also Raspberry Pi are quite energy efficient so letting them on are not such a big deal too.
     
    ttsgeb likes this.
  3. DarkWing

    DarkWing Member

    3. OPL settings

    3.1. Plug everything together
    You are almost there, after doing all those steps you should be ready to connect the PS2 and PI together.

    As mentioned in the item list this setup works with a normal ethernet cable, the Pi and PS2 will do all the magic so you don’t need to use a cross over cable. Just Plug your Cat5 or Cat 6 cable directly from the PI to the PS2.



    3.2. Lauch OPL
    Power up your pi, turn on your PS2 and and launch OPL.
    When you open OPL for the first time it will present you the setting page.

    Which look like this:
    [​IMG]


    3.3 Network settings
    Go to the Network config options and change the following from top to bottom

    3.3.1 Under -PS2-
    - Change IP address type to Static
    - Make sure that the Mask is 255.255.255.0 (should be there by default)
    - Make sure that the Gateway and DNS server addresses are 192.168.0.1 (should be there by default)


    3.3.2 Under -SMB server-
    - Change address type to IP
    - In the Address section, enter your PI static address in my case 192.168.0.143
    - In the Share section, enter the name of the folder you want to access, in my case PS2SMB
    - in the User section, enter guest

    After double check all the above your setting should look like this
    [​IMG]

    Next just select connect/OK option at the bottom of the screen.

    This will trigger OPL to look for your raspberry Pi, once it does you can push the circle button to show the list.

    Troubleshooting
    If the games are not showing up and that you have double check the settings mention above you could try to reset the PS2 after having saved the OPL configuration in step 3.5. In some case it OPL doesn't retry to connect to the PI if it couldn't connect to it the first time around.


    3.4 General settings
    Nice, you should be able to see your games if all went according to plan.

    A nice feature from OPL is to setup auto boot to the ETH tab directly, doing this will just save a bit of time the next time you launch it.

    For this just go back t the setting by pushing the start button.

    Select Settings and set the ETH device start mode to Auto and Default menu to ETH games
    [​IMG]
    Once this is done the select OK

    3.5 Save the changes
    The final step is to save all this by selecting Save change.
    [​IMG]

    You are done!

    From now on you should be able to reset the PS2, launch OPL and land directly on the ETH menu with the list of games.
    More info about OPL can be found here
    https://bitbucket.org/ShaolinAssassin/open-ps2-loader-0.9.3-documentation-project/wiki/network-config

    I hope this guide as been helpful and that you can now enjoy some of those amazing games that the PS2 as to offer.

    If you like this guide and want to support me feel free to buy me a Coffee

    Resources
    Installing FMCB
     
    ttsgeb likes this.
  4. Diminuendo

    Diminuendo Well-Known Member

    interesting guide.

    could this be combined with the ps2 Bluetooth adapter using one raspberry pi for both dutys?
     
  5. DarkWing

    DarkWing Member

    Thanks, I had a quick look and it seem that he is using a custom firmware instead of raspbian on his Pi.

    Raspbian is what I chose to use for my project but you should be able to use any Linux repo that can run Samba and is compatible with the Raspberry Pi, as long as you know how to set it up.

    So if there firmware can run Samba, maybe. If it's not the case then probably not.
     
    Last edited: Nov 30, 2017

Share This Page