Tag Archives: USB

Guide – How To Get Epson Perfection V200 Photo Flatbed Scanner Working with Ubuntu 18.04.1

This guide will explain how to get the Epson Perfection V200 Photo flatbed scanner to work with Ubuntu 18.04.1 (64-Bit/AMD64).

Introduction (Unnecessary Story)

A little while ago I bought a flatbed scanner. It’s something I’ve always wanted since I was a young lad, because I was ultimately a strange child. I do a lot of scanning as part of my hobbies relating to archiving documents and print items. For years I have used the scanners built into various all-in-one scanner devices, but a few months ago I got so fed up constantly getting up and down to swap over documents that I said “Enough! I must buy myself a flatbed”. I made my way over to the online car boot that is Facebook Marketplace and performed a few searches. Amazingly enough there are quite a few people selling scanners. Some people wanted insane amounts for really old (like Windows 98 era) flatbeds – but eventually I found someone who had what looked like a reasonably modern model for the small sum of £5. A few days later I turn up and collect the scanner (which included a nice Belkin USB A to B cable) and that’s the end of that.

As part of my move away from Windows 10 as my primary OS to Xubuntu (see this series of posts) – I am trying to see how many of my peripherals work with the operating system. Unfortunately the Epson scanner isn’t as plug and play as my new HP All-in-One printer (which works without any fiddling) but after a few forum posts and learning a little bit on how USB scanners work in Ubuntu I finally got it working.

(If you care, the scanner works without any issue in Windows 10)


You will need for this process:

  • An Epson Perfection V200 Photo flatbed scanner with USB A to B cable
  • A PC or laptop running 64-bit (AMD64) Ubunutu (or a variant) version 18.04.1 (kernel
  • An internet connection
  • Root privileges on your device
  • The Epson Perfection V200 linux drivers downloaded to your PC (from here, or a mirror here)


  1. Extract the tar archive to somewhere on your system (for example in a folder under /home/)
  2. Open up your terminal and change the directory to the folder you have extracted
  3. Run sudo .\install.sh
  4. Allow the script to run
  5. If you open your application menu under Graphics you should now see an item Image Scan! for Linux and GIMP (if not already installed)
  6. In the terminal type sudo nano /etc/sane.d/dll.conf (you can use your preferred text editor if you wish, such as vi)
  7. This now should display a long list of what appear to be manufacturers, move down the list using your keyboard cursor keys to the line epson. Put a # symbol on the lines epson, epson2, epsonds. Then make a new line after #epson and type in epkowa
    1. Check that the file matches the following format in the picture below:
  8. Save the changes made to the file and exit
  9. Type in the terminal sudo nano /etc/sane.d/epkowa.conf
  10. Under the section titled # Detect all devices supported by the backend there should be two lines usb and scsi – ensure these are not commented out (by the use of a #) and then close the document
  11. Back at the terminal now type in the command sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane
  12. Now type in sudo nano /etc/udev/rules.d/55-epson-libsane.rules
  13. You should be in a blank document, copy in the following text:
    1. SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, MODE==”0666″
      SUBSYSTEM==”usb_device”, MODE==”0666″ATTRS{manufacturer}==”EPSON”, DRIVERS==”usb”, SUBSYSTEMS==”usb”, ATTRS{idVendor}==”04b8″, ATTRS{idProduct}==”*”, MODE=”0666″

      ATTRS{idVendor}==”04b8″, ATTRS{idProduct}==”0137″, MODE=”0666″, GROUP=”scanner”, ENV{libsane_matched}=”yes”

  14. Save the file and exit
  15. Now back at the terminal prompt type in sudo cp /etc/udev/rules.d/55-epson-libsane.rules /lib/udev/rules.d/
  16. Disconnect and power off the scanner (best to do this at the wall as I know the V200 goes into a “sleep state” sometimes that looks like it is off). Now reconnect everything and restore the power to the scanner by holding down the power button on the unit.
  17. Now open the Simple Scan application and then open Document and then Preferences
  18. After a short period the Scanner drop-down should populate with Epson Perfection V200. It the drop-down appears Epson then you must check that Epson is commented out of the dll.conf file!
  19. Begin to scan your documents


I am in no way a Linux pro. Actually I am very new to the operating system so I won’t be able to explain exactly what is happening in this process like I normally can.

My understanding is that the V200 requires the Epkowa “driver” not any of the Epson named drivers. Although it looks like the system knows its a scanner you will probably end up encountering a communication error if you try to use any other configuration with sane. Sane (Scanner Access Now Easy) is an Linux API for scanners – its man page is here. All we are doing in this process is loading in a different configuration that works with the Epson.

Now the only other scanner I have to use is the HP All in One which I currently have disconnected to avoid any confusion. I would assume these changes won’t have any affect on the operation of the scanner of the HP – I will come back and edit this article if it does. However I cannot guarantee how well this would work if you (for whatever reason) had multiple Epson scanners or other flatbeds.

This document ended up being envisioned as only taking a mere 30 minutes to complete, to multiple hours. Firstly I had done something very silly and not backed up my files before making changes, this mean that although I had got everything working I had no way to see what had changed and what needed to be changed to get it working (avoiding the process including unnecessary steps). After restoring back to a factory sane setup I started over but kept running into the issue where sane would only detect the scanner as an “EPSON” device and not the “Epson Perfection V200”. I also found that a few of the steps I thought were necessary (such as finding the scanner’s ID) didn’t need to be run. With the setup above we simply ask the Epkowa driver to connect and search through all connected scanners to see which one it is compatible with. I would assume that if we had multiple scanners on this system this task may take a while to complete. You could probably override this as the Epkowa.conf file appears to have a section where you can manually specify the product id (you retrieve this information by running sudo sane-find-scanner).

Well I’ve got some scanning to do, I was intending on getting a few other bits done tonight but that looks to have gone out of the window. I will try and keep this article updated as the version of Ubuntu goes along and for as long as I have the scanner. I hope to do more articles that are similar later on in the year, not always for scanners but other USB equipment.