By the way (if anybody's still interested) I went for an Epson Expressions XP-510 ultimately and had great fun (some phrase!!) installing it.
Traditionally HP support for Linux has been strong, and hplip drivers often come bundled with Linux distros. After looking for a printer recently (my last one was a HP 3-in-one years ago) we too went for the XP-225 as we don't print much and it was a nice budget all-in-one.I understand your headaches, as it took me quite a bit of searching to get everything working, under Arch Linux especially.
As such I'm posting this general guide for posterity in case others find this thread via search.
Epson provide rpm and deb drivers
for their printers and scanners, however you'll need to do a little (easy) editing of two config files to get network scanning working OK once you've installed the printer driver, scanner driver, and the iScan packages they provide (rpm or deb, as your distro requires).
If you're running Arch (which uses pacman not deb or rpm) you'll need to do the following:
sudo pacman -Rdd foomatic-db foomatic-db-nonfree
This removes a conflict caused by foomatic packages. Without this you'll get a 'CUPS error: Success!' message when trying to add the printer in the system printer settings dialogue.
Then install epson-inkjet-printer-escpr from AUR, as well as iscan and the iscan network packages (just search in your preferred package manager). Then add the printer in the printers settings, and you can then join the rest of this guide.Everyone else will need to install the deb or rpm files for their distro.
So if after installing the required rpm or deb printer and scanner and iscan packages (as downloaded from the Epson link earlier) you get an error along the lines of “Could not send command to scanner.Check the scanner’s status.” when trying to use iScan or Scanner for Linux then the following will help.
First go into your router's UI (usually at 192.168.1.1 or similar) and set the printer/scanner to have a static LAN IP address. For example mine is set to 192.168.1.138 This means we can tell the config files where on the network to find the scanner, and we know the location won't keep changing, as it's static.
To edit the two config files required to get network scanning working OK, you can either use 'sudo nano' or else 'sudo your-fave-text-editor'. In the example I'll use nano but you can substitute as required (eg sudo pluma or sudo gedit).
1) sudo nano /etc/sane.d/dll.conf
Make it read only the following:
You can either delete the other config lines or (easier) comment them out with # at the start of each line.
2) sudo nano /etc/sane.d/epkowa.conf
net 192.168.1.xxx #(This is the static IP you set for the printer/scanner before we began)
Finally if you are using GIMP v2 then you can link the iscan binary to be used as a plugin so you can import from the scanner into GIMP directly. This is achieved by:
ln -s /usr/bin/iscan /usr/lib/gimp/2.0/plug-ins/iscan
After this my Epson all-in-one works flawlessly every time on any Linux distro I've tried (Fedora, Arch, Mint etc). Hopefully it helps someone. Sorry for any omissions I'm rushing before going out (I didn't want to not finish, then forget). Cheers.