Skip to content

Instantly share code, notes, and snippets.

@chris-jamieson
Last active February 17, 2021 18:16
Show Gist options
  • Save chris-jamieson/5605657 to your computer and use it in GitHub Desktop.
Save chris-jamieson/5605657 to your computer and use it in GitHub Desktop.
Install Epson AL-M1200 printer on Ubuntu

Ubuntu seems to have trouble talking to the Epson AL-M1200 printer. These instructions will get it working. Based on a set of instructions found here.

  1. Download epsoneplijs-0.4.1.tgz -file from here
  2. cd Downloads (or whatever directory you downloaded the file to)
  3. tar zxvf epsoneplijs-0.4.1.tgz
  4. cd epsoneplijs-0.4.1
  5. ./configure --prefix=/usr
  6. sudo make install
  7. Download PPD file from here or here
  8. Connect your printer to your computer and turn it on. (You can do it in the beginning, but at least now you need it connected and powered on.)
  9. Go to System Settings → Printing → click “Add” and choose from the list Epson AL-M1200.
  10. Click "Forward". Ubuntu searches for drivers for some time and then gives “New printer”-window with the title “Choose driver”.
  11. Tick the box "Provide PPD file” and navigate to the directory where you downloaded it and choose it.
  12. Click "Open" and "Forward". Ubuntu asks if you want a test page.
@snchiou
Copy link

snchiou commented Apr 27, 2016

I tried on both ubuntu 15.10 and ubuntu16.04(released on April 22th), and they all works fine. Thanks.

@giulnz
Copy link

giulnz commented Aug 31, 2016

Thanks works fine for me too.

@benwex93
Copy link

works great! thanks

@aliaksandr-adzinets
Copy link

I had to restart my Ubuntu 18.04 after providing the PPD file. Otherwise, it works, thank you!

@smachj
Copy link

smachj commented Feb 26, 2020

Hello. I used this driver on opensuse 13.x. after upgrading to Tumbleweed it doesn't work on my desktop or on NB Lenovo and HP. when compiling it shows some minor code errors. it does not print and speak a filter error after installation. Could it be fine-tuned so I could use the printer?

@smachj
Copy link

smachj commented Feb 26, 2020

nosp@localhost:/Stažené/epsoneplijs-0.4.1> make clean
rm -f *.o ijs_client_example ijs_server_example ijs_server_epsonepl *.epl
rm -f *
gmon.out core ijs_spec.log ijs_spec.tex ijs_spec.aux libijs.a libijs.so config.cache config.log config.status ijs-config testlibusb test5700lusb libieee1284/lib1284.spec
[ -d libusb ] && (cd libusb ; make clean) || true
[ -d libieee1284 ] && (cd libieee1284 ; make clean) || true

su

localhost:/home/nosp/Stažené/epsoneplijs-0.4.1 # ./configure --prefix=/usr
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for OS USB support... Linux 5.4.14 ... seems good.
checking for libusb... no
checking for OS 1284 support... OS doesn't seem to have IEEE 1284 support
checking for libieee1284... no
checking for null transport... yes
checking for solaris-specific requirements... no
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ijs-config
config.status: executing default commands

localhost:/home/nosp/Stažené/epsoneplijs-0.4.1 # make
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o ijs_server_epsonepl.o ijs_server_epsonepl.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o ijs_server.o ijs_server.c
ijs_server.c: In function ‘ijs_server_parse_int’:
ijs_server.c:486:7: warning: variable ‘sign’ set but not used [-Wunused-but-set-variable]
486 | int sign = 1;
| ^~~~
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o ijs.o ijs.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_job_header.o epl_job_header.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_page_header.o epl_page_header.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_page_footer.o epl_page_footer.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_job_footer.o epl_job_footer.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_print_stripe.o epl_print_stripe.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_poll.o epl_poll.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_compress.o epl_compress.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_write.o epl_write.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_bid_utils.o epl_bid_utils.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_bid_replies.o epl_bid_replies.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_status.o epl_status.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_time.o epl_time.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_utils_kusb.o epl_utils_kusb.c
epl_utils_kusb.c: In function ‘epl_kernel_init’:
epl_utils_kusb.c:49:7: warning: variable ‘model’ set but not used [-Wunused-but-set-variable]
49 | int model;
| ^~~~~
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_57interpret.o epl_57interpret.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_59interpret.o epl_59interpret.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_62interpret.o epl_62interpret.c
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -c -o epl_utils_null.o epl_utils_null.c
In file included from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from epl_utils_null.c:37:
/usr/include/features.h:185:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
185 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
| ^~~~~~~
gcc -DHAVE_KERNEL_USB_DEVICE -DHAVE_NULLTRANS -g -O2 -Wall -ansi -pedantic -Wmissing-prototypes -o ijs_server_epsonepl ijs_server_epsonepl.o ijs_server.o epl_job_header.o epl_page_header.o epl_page_footer.o epl_job_footer.o epl_print_stripe.o epl_poll.o epl_compress.o epl_write.o epl_bid_utils.o epl_bid_replies.o epl_status.o epl_time.o epl_utils_kusb.o epl_57interpret.o epl_59interpret.o epl_62interpret.o epl_utils_null.o ijs.o
localhost:/home/nosp/Stažené/epsoneplijs-0.4.1 #

@chris-jamieson
Copy link
Author

Sorry @smachj but I'm not sure how to help - the errors etc. you're seeing mean nothing to me! Hope you can figure it out.

@smachj
Copy link

smachj commented Feb 29, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment