Getting Epson Workforce M100 Inktank printer working - FreeBSD 12.0-RELEASE

Iam having a Epson Workforce M100 Inktank printer which works in linux but not in FreeBSD. With the help of Tatsuki Makino I successfully installed and happy with the performance. With a view of helping a person in need Iam documenting this:

The first post was wrt FreeBSD 12.0 RELEASE.

There is no driver available for Epson Workforce M100 Inktank printer in the ports system. However Epson provides the driver for linux. Therefore there are two options a) Port the linux driver b) Install the driver using the linux emulation in FreeBSD. I have taken the easier option of using linux emulation.

print/epson-inkjet-printer-escpr driver supports ESC/P-R models and can not be used for these Epson printers and such a printer would need to use the `ESC/P Driver (full feature)' like print/epson-inkjet-printer-201401w and print/epson-inkjet-printer-201601w.

1. To use Linux emulation at https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu.html

2. Inssttall the following from ports or packages.
emulators/linux_base-c7
print/linux-c7-cups-libs
graphics/linux-c7-jpeg
devel/linux-c7-dbus-libs
security/linux-c7-libgcrypt
devel/linux-c7-libelf
print/cups-filters

3. Download the systemd-libs, lz4 and elfutils-libs rpms .
fetch 'http://mirror.centos.org/centos/7/os/x86_64/Packages/systemd-libs-219-62.el7.x86_64.rpm'
fetch 'http://mirror.centos.org/centos/7/os/x86_64/Packages/lz4-1.7.5-2.el7.x86_64.rpm'
fetch 'http://mirror.centos.org/centos/7/os/x86_64/Packages/elfutils-libs-0.172-2.el7.x86_64.rpm'

4. Extract them under /compat/linux
tar -x -f systemd-libs-219-62.el7.x86_64.rpm -C /compat/linux/ -- ./usr/lib64/libsystemd.so.0 ./usr/lib64/libsystemd.so.0.6.0
tar -x -f lz4-1.7.5-2.el7.x86_64.rpm -C /compat/linux/ -- ./usr/lib64/liblz4.so.1 ./usr/lib64/liblz4.so.1.7.5
tar -x -f elfutils-libs-0.172-2.el7.x86_64.rpm -C /compat/linux/ -- ./usr/lib64/libdw-0.172.so ./usr/lib64/libdw.so.1

5. Download ESC/P Driver (full feature) for M100 Series from http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
fetch 'http://a1227.g.akamai.net/f/1227/40...kjet-printer-201215w-1.0.0-1lsb3.2.x86_64.rpm'

6. Extract all files under /compat/linux
tar -x -f epson-inkjet-printer-201215w-1.0.0-1lsb3.2.x86_64.rpm -C /compat/linux/

7. Gunzip all ppd files.
gunzip -f /compat/linux/opt/epson-inkjet-printer-201215w/ppds/Epson/*.ppd.gz

8. Replace /opt/epson-inkjet-printer-201215w/cups/lib/filter/epson_inkjet_printer_filter in the *cupsFilter: line of the ppd file with /compat/linux/opt/epson-inkjet-printer-201215w/cups/lib/filter/epson_inkjet_printer_filter.

sed -i '' '/^\*cupsFilter:/s,/opt/,/compat/linux&,' /compat/linux/opt/epson-inkjet-printer-201215w/ppds/Epson/*.ppd

9. Create a symlink for the ppd files to appear in cupsd.
ln -s -f /compat/linux/opt/epson-inkjet-printer-201215w/ppds/Epson /usr/local/share/cups/model/Epson-201215w

The above procedure uses tar for rpm. But if rpm is installed, it will be like 10.2.3 in the handbook. Step 4 of the above would be

rpm2cpio /path/to download/directory/elfutils-libs-0.172-2.el7.x86_64.rpm | cpio -id
rpm2cpio /path/to download/directory/lz4-1.7.5-2.el7.x86_64.rpm | cpio -id
rpm2cpio /path/to download/directory/systemd-libs-219-62.el7.x86_64.rpm | cpio -id

Some day I want to port the driver to FreeBSD. Maybe somebody can guide me.
 
Last edited:
Back
Top