SMB (network share)
Load PS2 (and PS1) games directly from a shared folder on a Windows PC, Linux Samba server, or NAS over your local network. RiptOPL speaks SMBv1 by default and can be switched to SMB2 with the SMB Version row in Device Settings. No USB drive required โ the PS2 mounts the share and reads ISOs straight off it.
What you need
- A PS2 with a network adapter (PS2 HDD adaptor with Ethernet, or a compatible third-party adapter).
- A PC, NAS, or Linux/macOS box that can serve a share in the dialect you select โ SMBv1 (the default) or SMB2. The server only has to speak the one dialect you pick. On Windows, the recommended path is the PS2 Servers all-in-one launcher, whose server is SMBv1-only; Samba and compatible NAS shares remain supported.
- Both devices on the same local network (wired is strongly recommended โ Wi-Fi via a media bridge is possible but adds latency).
- A static IP address for the PS2, or DHCP with a known/stable lease. A static IP is far simpler and avoids reconnection surprises.
PS2-Servers.url from the release package or
visit PS2 Servers, choose its SMBv1 server,
select your games folder and follow the protocol-specific IP, port, share and credential values the
launcher displays. It implements the OPL-compatible SMBv1 subset directly and does not require you
to enable Windows' built-in SMB1 feature. Because it serves SMBv1 only, leave
Device Settings โ SMB Version on SMBv1 when you use it โ set to SMB2 it lists no games
at all. Samba/NAS users staying on SMBv1 may need min protocol = NT1 if their server
defaults have been tightened; that line is not needed when you run OPL on SMB2.1. Set up the SMB server and share
PS2 Servers: download its packaged app, choose SMBv1 server (RiptOPL), select your games folder and click Start. Use the exact connection settings shown by the launcher, and keep SMB Version on SMBv1. The manual share instructions below are for Samba, a NAS, or another already-configured SMB server.
Create a folder
Create a folder to act as the OPL root โ e.g. C:\PS2SMB on Windows or /srv/ps2smb on Linux. Give it the standard OPL subfolder layout (OPL will create missing folders automatically on first connect, but it helps to have them ready):
PS2SMB\ CD\ โ PS2 CD-ROM games (blue-bottom discs, <700 MB ISOs) DVD\ โ PS2 DVD5 / DVD9 ISOs POPS\ โ PS1 *.VCD files + POPSTARTER.ELF (for PS1 games) ART\ โ cover art CFG\ โ per-game config files VMC\ โ Virtual Memory Card images THM\ โ themes CHT\ โ cheat files APPS\ โ homebrew ELFs
Share the folder with full read/write access
OPL needs full read and write permissions on the share so it can create the sub-folders above and write per-game config files during gameplay.
Linux / Samba: add a share block to /etc/samba/smb.conf โ for example:
[PS2SMB] path = /srv/ps2smb browseable = yes writable = yes guest ok = yes min protocol = NT1
Then run sudo systemctl restart smbd. If you use a password, set up a Samba user with sudo smbpasswd -a <username> instead of using guest ok = yes.
The min protocol = NT1 line above is only there to let a modern Samba still answer SMBv1. If you set SMB Version to SMB2 in Device Settings, drop that line and leave Samba at its own defaults.
Place your game ISOs
Copy PS2 ISOs into DVD\ (for DVD games) or CD\ (for CD-ROM games). USBExtreme/USB Advance split-format games (ul.*) work too, but single-file ISOs are simpler over a network. There is no per-file size limit on the SMB path โ DVD9 dual-layer ISOs (~8 GB) are fine.
2. Configure Network Settings in OPL
In RiptOPL, go to Settings โ Network Settings. This dialog has two sections: the PS2's own network identity, and the share address.
PS2 IP address
| Field | Description |
|---|---|
| IP address type | Static or DHCP. Static is recommended โ it avoids re-needing to update the settings when your router assigns a different lease. |
| IP Address | The PS2's IP address (e.g. 192.168.0.10). Grayed out when DHCP is selected. |
| Subnet Mask | Typically 255.255.255.0 for a home /24 network. |
| Gateway | Your router's IP (e.g. 192.168.0.1). |
| DNS Server | Usually the same as the gateway, or your ISP/public DNS. Not required for SMB itself (which connects by IP), but needed if DHCP negotiation touches DNS. |
| Eth. Link Mode | Leave on Auto unless your switch forces a specific speed/duplex. Options: Auto, 100Mbps Full-Duplex, 100Mbps Half-Duplex, 10Mbps Full-Duplex, 10Mbps Half-Duplex. |
Share address and credentials
| Field | Description |
|---|---|
| Address Type | IP Address or NetBIOS. For most setups use IP address โ it connects directly without name resolution. NetBIOS lets you type a Windows machine name (e.g. MYPC) but requires the PS2 to resolve the name first; if the name lookup fails, OPL cannot connect at all. |
| Address | Either the server's IPv4 address (e.g. 192.168.0.5) or its NetBIOS name (up to 15 characters, e.g. MYPC), depending on Address Type. |
| Port | RiptOPL defaults to 1111, but the client and server must match. PS2 Servers currently defaults to 1445; enter the value its launcher displays. Standard Samba/native SMB commonly uses port 445. Network Settings opens with advanced options on, so the Port field is always visible and editable. |
| Share | The share name, e.g. PS2SMB. This is the name you gave the share on the server โ not a path. Default is PS2SMB. |
| User | The username to log on with. Default is GUEST. For a guest/public share leave this as-is. For a password-protected share enter the correct account name. |
| Password | Leave empty for no-password shares. For password-protected shares OPL first asks the loaded SMB driver to pre-hash the password. The SMBv1 driver does that and sends the hash; the SMB2 driver declines, because its own NTLMSSP exchange wants the password verbatim โ so OPL hands it over as-is and the driver still turns it into an NTLM response rather than putting it on the wire in the clear. |
eth_prefix) to the subfolder name. OPL will prepend that path to every read/write inside the share. Leave it empty to use the share root directly.Saving and connecting
After filling in the fields, press OK to save. The dialog also has a Reconnect button: it saves and immediately retries the SMB connection without a full restart. If anything changed on the server (new files, credentials updated), Reconnect refreshes the game list without rebooting.
3. Enable SMB in Device Settings
Network Settings stores the how (address, credentials). Device Settings stores the whether โ open Settings โ Device Settings. The network block is four separate rows, not one combined picker. For SMB you set the first row to Manual or Auto, the second to SMB, and the third to the dialect your server speaks:
| Row | Values | What it does |
|---|---|---|
| Network Protocol | Off / Manual / Auto | The network start mode, using the same three options as every other device. Off loads no network transport at all and greys out the three rows below it. Manual registers the ETH Games tab and connects when you navigate into it โ boot stays fast and you only pay the connection cost on entry. Auto brings the stack up during startup instead. |
| Protocol | SMB / UDPFS / UDPBD | Which transport owns the single Ethernet adapter. SMB is the network-share client documented on this page; UDPFS and UDPBD select Network Boot instead โ see Network Boot. |
| SMB Version | SMBv1 / SMB2 | Which SMB dialect to speak. SMBv1 is the default. Live only while Protocol is SMB, and greyed out otherwise โ but the value is kept, so detouring through UDPFS and back does not silently reset you to SMBv1. See SMB Version below. |
| Access | Files / IMG | Only meaningful for UDPFS. Under SMB it is locked to Files and greyed out; under UDPBD it is locked to IMG. You never need to touch it for an SMB setup. |
ethsupport.c, which refuses to bring up the SMB stack while UDPBD holds the adapter.SMB Version โ SMBv1 or SMB2
The SMB Version row picks the dialect for the whole SMB session. It is not a browse-only or an in-game-only setting โ selecting SMB2 swaps both halves of the SMB path:
| Half | SMBv1 (default) | SMB2 |
|---|---|---|
| Browsing the share in the menu (the ETH Games tab) | PS2SDK's smbman.irx | RiptOPL's smb2man.irx, built on libsmb2 |
| Reading the disc image in-game | The SMB1 reader inside cdvdman | The SMB2 reader inside cdvdman |
Both drivers register the same smb0: device name, so every path elsewhere in OPL โ the folder layout, the ETH prefix, the config keys โ is identical whichever one is loaded. Only one is ever resident at a time.
cdvdman starts. If a network stack has already been brought up this session, switching between SMBv1 and SMB2 (or changing Protocol) does nothing until you restart OPL โ OPL shows the same restart notice it uses for a protocol change. From a cold boot the new dialect applies straight away.4. Game and folder layout
OPL uses the same folder structure on an SMB share as on USB or MMCE:
| Folder | Contents |
|---|---|
CD\ | PS2 CD-ROM games (ISOs under ~700 MB โ blue-bottom discs) |
DVD\ | PS2 DVD5 and DVD9 ISOs (up to ~8.5 GB โ FAT32 4 GB limit does not apply over SMB) |
POPS\ | PS1 *.VCD files + POPSTARTER.ELF (see PS1 over SMB below) |
ART\ | Cover art images |
CFG\ | Per-game configuration files |
VMC\ | Virtual Memory Card images (.bin) |
THM\ | Themes |
CHT\ | PS2RD cheat files |
APPS\ | Homebrew ELFs |
Note that SMB paths use backslashes (\) internally โ OPL handles this automatically; your folder names on the server should just be plain ASCII without special characters.
5. PS1 games over SMB
The L3 VCD view works on SMB just like USB: press L3 on the ETH Games page to toggle between your PS2 disc list and your PS1 *.VCD list. Place your VCDs (and POPSTARTER.ELF) in the POPS\ subfolder of the share.
Launching a PS1 game over SMB has one extra requirement: POPSTARTER needs its own copy of the network configuration and its SMB modules on the memory card โ it cannot read them from the share at launch time.
Copy the SMB modules to the memory card
The release package ships a POPSTARTER/ folder containing the four network IRX modules POPSTARTER needs for SMB: smbman.irx, ps2ip.irx, ps2smap.irx, and ps2dev9.irx. Copy them to mc0:/POPSTARTER/ (or mc1:/POPSTARTER/). OPL checks for all four on one card before an SMB VCD launch and warns you rather than hanging if any are missing. OPL does not install them for you.
Write the POPSTARTER network config
Enable Settings โ Network Settings โ Write POPSTARTER Network Config (off by default). When you save Network Settings with this enabled, OPL mirrors the IP address and share values you just entered directly into mc?:/POPSTARTER/IPCONFIG.DAT and mc?:/POPSTARTER/SMBCONFIG.DAT, in the exact format POPSTARTER expects. You do not need to edit those files by hand.
The write is free-space-gated and truncation-safe โ it will not corrupt the memory card even if the card is nearly full. If writing fails, OPL shows an error message.
smbman.irx), and POPSTARTER reads its own SMBCONFIG.DAT, not OPL's dialect choice. So a PS1 VCD launched over SMB still needs a server that answers SMBv1, even if you have set OPL to SMB2 for PS2 games. If your server is SMB2-only, PS2 games over SMB will work and PS1 VCDs over SMB will not.For deeper PS1 coverage โ cover art by PS1 disc ID, the Default game view lock, and BDMA module equipping for exFAT โ see PS1 Games (VCD).
Does the BDMA exFAT equip apply to SMB?
No. The BDMA equip copies block-device driver modules for POPSTARTER to use when reading an exFAT drive. SMB is a pure network path โ there is no block device involved. The BDMA Mode and BDMA Source settings in General Settings have no effect on an SMB VCD launch. The only prerequisite for PS1 over SMB is the four network IRX modules above plus the POPSTARTER network config files.
6. SMB vs. Network Boot โ the NIC interlock
The PS2's DEV9 expansion bay contains the Ethernet adapter (SMAP). There is only one, and only one network driver stack can own it at a time.
- SMB active: OPL loads its own network stack (NETMAN + SMAP + PS2IP) and connects to the share. UDPBD/UDPFS cannot load.
- Network Boot active: Neutrino's UDPBD or UDPFS driver owns the adapter. The SMB stack will not load (enforced both in the Device Settings UI and by a runtime guard in
ethsupport.c).
To switch from SMB to Network Boot (or vice versa), go to Device Settings, change the Protocol row, save, and restart OPL. You do not need to change any hardware.
The two approaches serve different use cases: SMB lets any device on the LAN (NAS, always-on PC, server) host your library with no special server software beyond a standard file share; Network Boot via UDPBD/UDPFS requires a dedicated server process running on a PC during play but streams the disc image at block-device level (Neutrino handles the disc emulation, not OPL's loader core). See Network Boot (UDPBD/UDPFS) for details.
7. Common problems
| Symptom | Likely cause & fix |
|---|---|
| OPL shows "Network startup error: CONN" or similar | The PS2 cannot reach the server. Check: server IP is correct, server is on and reachable, the server answers the dialect selected in SMB Version, no firewall is blocking the configured port, and the PS2 IP is valid. With PS2 Servers, copy the protocol-specific IP and port shown by its launcher rather than assuming RiptOPL's default 1111. |
| OPL shows "LOGON" error | Wrong username or password. Try GUEST / empty password for a guest share, or confirm the account credentials. Check that the Samba user (if Linux) has been added with smbpasswd. |
| OPL shows "SHARE" error (open share failed) | The share name does not match. Verify the exact share name on the server (case-sensitive on Linux). The default OPL share name is PS2SMB. |
| Game list is empty even after connecting | Check that ISOs are in the correct subfolder (DVD\ or CD\) and that the user has read access to those folders. On Windows, NTFS permissions and share permissions are separate โ verify both. |
| ETH Games tab lists nothing at all after switching to SMB2 | Almost always a dialect mismatch: the server only speaks SMBv1. The session does not negotiate down, so nothing is listed. Set Device Settings โ SMB Version back to SMBv1 (required for the bundled PS2 Servers SMBv1 server), or point OPL at a server that speaks SMB2. If you just changed the row and nothing moved at all, restart OPL โ see below. |
| Changing SMB Version appears to do nothing | The SMB module chain loads once per boot and the in-game reader latches its dialect when the game starts, so the new dialect only applies after a restart if a network stack was already up this session. OPL shows a restart notice in that case; save and restart OPL. |
| Games load slowly or stutter | Wired Ethernet is strongly recommended. If using a media bridge or powerline adapter, test with a direct cable run first. Neither dialect compresses or caches on OPL's side; all disc reads go across the wire in real time. |
| DHCP fails / no IP assigned | OPL waits up to 30 seconds for a valid DHCP lease. If it times out, it logs "Unable to get valid IP address via DHCP." Switch to a static IP if your DHCP server is slow or if the PS2's MAC is not being offered a lease. |
| PS1 VCD launch fails or hangs | Check that the four SMB IRX modules (smbman.irx, ps2ip.irx, ps2smap.irx, ps2dev9.irx) are present in mc?:/POPSTARTER/, and that the network config files (IPCONFIG.DAT, SMBCONFIG.DAT) have been written. Use the Write POPSTARTER Network Config toggle in Network Settings. Note that this leg is SMBv1 whatever SMB Version is set to, so the server must still answer SMBv1 for PS1 VCDs. |
| Windows: share works from PC but PS2 cannot connect | Use PS2 Servers instead of enabling Windows' built-in SMB1 feature, and match the IP, port, share and credentials shown by its launcher. Confirm its firewall rule allows the selected SMB port on your private LAN. |
8. Config file keys
The PS2's network identity and the share address are stored in conf_network.cfg (saved alongside settings_riptopl.cfg). You can edit it directly for values the on-screen number-spinner makes tedious to enter:
| Key | Description |
|---|---|
ps2_ip_use_dhcp | 0 = static, 1 = DHCP |
ps2_ip_addr | PS2 static IP address |
ps2_netmask | Subnet mask |
ps2_gateway | Default gateway |
ps2_dns | DNS server |
eth_linkmode | 0 = Auto, 1โ4 = 100M FDX / 100M HDX / 10M FDX / 10M HDX |
smb_share_use_nbns | 0 = IP address mode, 1 = NetBIOS name mode |
smb_share_nb_addr | NetBIOS name of the server (used when smb_share_use_nbns=1) |
smb_ip | Server IP address (used when smb_share_use_nbns=0) |
smb_port | SMB TCP port (default 1111) |
smb_share | Share name (default PS2SMB) |
smb_user | Login username (default GUEST) |
smb_pass | Password (empty for no-password shares) |
Two more keys affect SMB but live in settings_riptopl.cfg rather than conf_network.cfg, because they belong to OPL's own settings rather than to the share address:
| Key | Description |
|---|---|
smb_dialect | The SMB Version row. 0 = SMBv1 (default), 1 = SMB2. 2 is reserved for SMB3 and is not selectable; any value other than 0 or 1 is clamped back to SMBv1 on load. |
eth_prefix | The ETH Prefix Path subfolder inside the share โ see below. |
What about eth_prefix / ETH Prefix?
The eth_prefix key (set via General Settings โ Prefix Paths โ ETH Prefix Path) is stored in settings_riptopl.cfg, not in conf_network.cfg. When non-empty, OPL appends it (plus a backslash) between the share root and every path it constructs โ so smb0:PS2\DVD\game.iso instead of smb0:DVD\game.iso. Use this if the share hosts multiple setups and OPL's root is not the share root.