I've done some more testing. The problem with PS2ESDL hanging with a black screen for all(?) games over USB happens only with my 1TB partition/2TB drive FreeAgent Xtreme. Loading the same game files from a different 320GB USB drive works correctly. (That's with or without the iLink plugin.)
So there seems to be some incompatibility between PS2ESDL's USB game-loading code and the particular partition layout of the 2TB drive. As I mentioned though, PS2ESDL does correctly load the list of games, it just seems to hang when starting to load a game. Very strange! I tried renaming the iLink plugin just in case that was the cause, but there was no difference. (And seeing as games on the same drive/partition work fine over iLink and with Open PS2 Loader over USB that's probably not the cause of this strange problem.)
I gave details of the working 320GB partition in this thread (2TB partition not recognised by OPL, PS2ESDL or uLaunchELF). In case it's relevant, here's info on the 1TB partition I'm using.
Code:
# disktype /dev/sdd
--- /dev/sdd
Block device, size 1.819 TiB (2000398934016 bytes)
DOS/MBR partition map
Partition 1: 1.000 TiB (1099511595520 bytes, 2147483585 sectors from 63)
Type 0x0C (Win95 FAT32 (LBA))
FAT32 file system (hints score 4 of 5)
Volume size 1.000 TiB (1099243126784 bytes, 33546238 clusters of 32 KiB)
# fsck.vfat -v -n /dev/sdd1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
Checking we can access the last sector of the filesystem
Boot sector contents:
System ID "MSWIN4.1"
Media byte 0xf8 (hard disk)
512 bytes per logical sector
32768 bytes per cluster
128 reserved sectors
First FAT starts at byte 65536 (sector 128)
2 FATs, 32 bit entries
134201344 bytes per FAT (= 262112 sectors)
Root directory start at cluster 9713177 (arbitrary size)
Data area starts at byte 268468224 (sector 524352)
33546238 data clusters (1099243126784 bytes)
63 sectors/track, 255 heads
63 hidden sectors
2147483585 sectors total
Checking for unused clusters.
Checking free cluster summary.
/dev/sdd1: 380 files, 9713175/33546238 clusters
About Stolen: testing with the 320GB USB drive, PS2ESDL loads it but hangs at the HIP Games logo screen with sound looping, the same place as Open PS2 Loader hangs.
Midway Arcade Treasures 3: I couldn't get OPL to load that at all over USB (it hangs with black screen after a copyright message screen, if I remember correctly). So I can't say whether the same memory card issue is present with OPL.
But for Vexx, I tested again loading it two times over USB (from the 320GB drive) and twice over iLink. Both times over iLink, it initially showed a memory card not found type message. Selecting Retry the game detected the card. Both times over USB, the card was detected first time. Could that be due to faster I/O over iLink? Maybe the game does something like this? Init card, read data from disc, try reading from card. If my non-Sony card initialises slower than an official one, that could explain why Vexx doesn't detect it first time when loading over iLink.

Originally Posted by
SP193
Currently, PS2ESDL uses device priorities. The built-in device drivers will always be loaded first, which means that USB device support will be loaded first. After that, it starts loading plugins in the order of their filenames (e.g. extension0.plg will be loaded before extension1.plg).
However, the device that ends up getting selected as the source device really depends on how quickly the driver to initializes the device and gives PS2ESDL access to it.
Ideally that's something which could be changed in future. For example I'd like to have both a USB drive and iLink drive connected for testing. (OPL can't use the iLink drive of course.) I think PS2ESDL will mostly default to USB, especially as the iLink drive is a 3.5" 7200rpm which takes several seconds to spin up/become ready.