Epson Stylus Office BX525WD - FreeBSD
Hardware info on main page.
History
2024-12-28: I created this page, and restored content from the old Google Sites site, via Wayback Machine.
2011-07-17: scanner - after upgrading my workstation to FreeBSD 8.2-stable, I can get gscan2pdf working again:
tingo@kg-v2$ uname -a FreeBSD kg-v2.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #4: Sat Jul 16 02:07:14 CEST 2011 root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64
and here is gscan2pdf: gscan2pdf --device epson2:net:10.1.161.8
tingo@kg-v2$ gscan2pdf --device epson2:net:10.1.161.8 Constant subroutine main::LC_CTYPE redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_CTYPE () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_NUMERIC redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_NUMERIC () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_TIME redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_TIME () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_COLLATE redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_COLLATE () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_MONETARY redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_MONETARY () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_MESSAGES redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_MESSAGES () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Constant subroutine main::LC_ALL redefined at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Prototype mismatch: sub main::LC_ALL () vs none at /usr/local/lib/perl5/5.10.1/Exporter.pm line 67. at /usr/local/bin/gscan2pdf line 160 Name "PDF::API2::Version::CVersion" used only once: possible typo at /usr/local/bin/gscan2pdf line 433. Use of uninitialized value $PDF::API2::Version::CVersion{"vShort"} in concatenation (.) or string at /usr/local/bin/gscan2pdf line 433. Use of uninitialized value $code in concatenation (.) or string at /usr/local/bin/gscan2pdf line 11107. Use of uninitialized value $code in hash element at /usr/local/bin/gscan2pdf line 11108. Use of uninitialized value $code in concatenation (.) or string at /usr/local/bin/gscan2pdf line 11107. Use of uninitialized value $code in hash element at /usr/local/bin/gscan2pdf line 11108. Use of uninitialized value $code in concatenation (.) or string at /usr/local/bin/gscan2pdf line 11107. Use of uninitialized value $code in hash element at /usr/local/bin/gscan2pdf line 11108. Use of uninitialized value $code in concatenation (.) or string at /usr/local/bin/gscan2pdf line 11107. Use of uninitialized value $code in hash element at /usr/local/bin/gscan2pdf line 11108. Use of uninitialized value in subroutine entry at /usr/local/bin/gscan2pdf line 11047. Use of uninitialized value in subroutine entry at /usr/local/bin/gscan2pdf line 11047. Use of uninitialized value in subroutine entry at /usr/local/bin/gscan2pdf line 11047. Use of uninitialized value in subroutine entry at /usr/local/bin/gscan2pdf line 11047. (gscan2pdf:18304): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.HalVolumeMonitor is not supported (gscan2pdf:18304): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.GPhoto2VolumeMonitor is not supported Segmentation fault (core dumped)
OK, it core dumps, but it works.
2011-07-03: scanner - Ok, testing with xsane on my main workstation:
tingo@kg-v2$ uname -a FreeBSD kg-v2.kg4.no 8.1-STABLE FreeBSD 8.1-STABLE #3: Thu Sep 16 22:18:48 CEST 2010 root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64 tingo@kg-v2$ xsane -v xsane-0.998 (c) 1998-2010 Oliver Rauch E-mail: Oliver.Rauch@xsane.org package xsane-0.996 compiled with GTK-2.22.1 with color management function with GIMP support, compiled with GIMP-2.6.11 XSane output formats: jpeg, pdf(compr.), png, pnm, ps(compr.), tiff, txt
just 'xsane' doesn't find any devices, I need
xsane epson2:net:10.1.161.8
and that won't do as a GIMP plugin. I tried a few things, but none of them worked:
tingo@kg-v2$ SANE_NET_HOSTS="10.1.161.8" xsane tingo@kg-v2$ SANE_NET_HOSTS="epson2:net:10.1.161.8" xsane tingo@kg-v2$ SANE_DEFAULT_DEVICE="epson2:net:10.1.161.8" xsane
Hmm. I rebuilt sane-backends with the AVAHI=on "Avahi support" option, and rebuilt xsane, but nothing changed.
root@kg-v2# portversion -v | grep sane sane-backends-1.0.21_3 = up-to-date with port sane-frontends-1.0.14_7 = up-to-date with port xsane-0.998 = up-to-date with port
That's all.
2011-06-04: pipslite porting. With help from the FreeBSD forums, I added the following patch:
--- daemon/cbtd_setup.c.orig 2011-05-31 18:56:45.813178092 +0200 +++ daemon/cbtd_setup.c 2011-05-31 18:57:29.557178284 +0200 @@ -31,6 +31,7 @@ #include <sys/types.h> #include <sys/stat.h> +#include <sys/ioccom.h> #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> @@ -67,7 +68,7 @@ memset(deviceid, 0x00, DEVICEID_LENGTH); /* GET_DEVICE_ID = 1 */ - int iostatus = ioctl(fd, _IOC(_IOC_READ, 'P', 1, DEVICEID_LENGTH), deviceid); + int iostatus = ioctl(fd, _IOC(IOC_OUT, 'P', 1, DEVICEID_LENGTH), deviceid); if (iostatus == 0) { if (strstr(deviceid + 2, printer)) { result = 0; /* found */
After that, I tried make, which hung on a sed command. However, gmake gets further:
gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I../src -I../status-monitor -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/drm -I/usr/local/include -DPRTOPT_PATH=\"/usr/local/var/cache/pipslite/prtOpt.csv\" -DPAPER_PATH=\"/usr/local/share/pipslite/paper_list.csv\" -DCACHEDIR_PATH=\"/usr/local/var/cache/pipslite/\" -DPPDINSTALL_SH=\"/usr/local/lib/pipslite/scripts/install-ppd.sh\" -g -O2 -Wall -MT ppd_generator.o -MD -MP -MF .deps/ppd_generator.Tpo -c -o ppd_generator.o ppd_generator.c In file included from ppd_generator.c:30: /usr/include/malloc.h:3:2: error: #error "<malloc.h> has been replaced by <stdlib.h>" gmake[2]: *** [ppd_generator.o] Error 1 gmake[2]: Leaving directory `/usr/home/tingo/work/pipslite/makeinstall' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/home/tingo/work/pipslite' gmake: *** [all] Error 2
Ok, that one is easy. Replaced
gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I../src -I../status-monitor -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/drm -I/usr/local/include -DPRTOPT_PATH=\"/usr/local/var/cache/pipslite/prtOpt.csv\" -DPAPER_PATH=\"/usr/local/share/pipslite/paper_list.csv\" -DCACHEDIR_PATH=\"/usr/local/var/cache/pipslite/\" -DPPDINSTALL_SH=\"/usr/local/lib/pipslite/scripts/install-ppd.sh\" -g -O2 -Wall -MT utility.o -MD -MP -MF .deps/utility.Tpo -c -o utility.o utility.c utility.c: In function 'list_create_index': utility.c:328: error: '__compar_fn_t' undeclared (first use in this function) utility.c:328: error: (Each undeclared identifier is reported only once utility.c:328: error: for each function it appears in.) utility.c:328: error: expected ')' before 'list_handle' utility.c: In function 'list_find_item': utility.c:363: error: '__compar_fn_t' undeclared (first use in this function) utility.c:363: error: expected ')' before 'list_handle' gmake[2]: *** [utility.o] Error 1 gmake[2]: Leaving directory `/usr/home/tingo/work/pipslite/makeinstall' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/home/tingo/work/pipslite' gmake: *** [all] Error 2
Fun. Ok, it turns out that __compar_fn_t
is a Linuxism. I added this to ./makeinstall/utility.c, after the includes:
#ifdef __FreeBSD__ typedef int (*__compar_fn_t) (__const void *, __const void *); #endif
Now, try gmake again. Yes - it compiles! Nice!
2011-05-23: pipslite porting, today I try helping configure a bit:
tingo@kg-v2$ ./configure LDFLAGS=-L/usr/local/lib
Let's see if that makes thing better or worse. Ok, make errors out with:
gcc -DPRINTER_MODEL=\"LITE\" -DLIBPATH=\"/usr/local/lib/liblite.so\" -DRSC_PATH=\"/usr/local/etc/pipslite/pipsrc\" -DSPOOL_NAME=\"lite\" -DLOCALE_PATH=\"/usr/local/share/locale\" -DPRTOPT_PATH=\"/usr/local/etc/pipslite/prtOpt.csv\" -DPAPER_PATH=\"/usr/local/share/pipslite/paper_list.csv\" -D_LPR_DIRECT -fsigned-char -DCUPS_FILTER_PATH=\"/usr/local/local/libexec/cups/filter\" -g -O2 -Wall -o pipslitelp backend.o -lcups -lm ./.libs/libcutils.a -L/usr/local/lib -lpthread ./.libs/libcutils.a(err.o)(.text+0xc4): In function `err_doit': /usr/home/tingo/work/pipslite/src/err.c:104: undefined reference to `libintl_gettext' *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src. *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src. *** Error code 1 Stop in /usr/home/tingo/work/pipslite. *** Error code 1 Stop in /usr/home/tingo/work/pipslite.
Need to fix that. Let us try another configure:
tingo@kg-v2$ ./configure --with-libintl-prefix=/usr/local LDFLAGS=-L/usr/local/lib
and make again (I did a make clean first, to be safe):
gcc -DPRINTER_MODEL=\"LITE\" -DLIBPATH=\"/usr/local/lib/liblite.so\" -DRSC_PATH=\"/usr/local/etc/pipslite/pipsrc\" -DSPOOL_NAME=\"lite\" -DLOCALE_PATH=\"/usr/local/share/locale\" -DPRTOPT_PATH=\"/usr/local/etc/pipslite/prtOpt.csv\" -DPAPER_PATH=\"/usr/local/share/pipslite/paper_list.csv\" -D_LPR_DIRECT -fsigned-char -DCUPS_FILTER_PATH=\"/usr/local/local/libexec/cups/filter\" -g -O2 -Wall -o pipslitelp backend.o -lcups -lm ./.libs/libcutils.a -L/usr/local/lib -lpthread ./.libs/libcutils.a(err.o)(.text+0xc4): In function `err_doit': /usr/home/tingo/work/pipslite/src/err.c:104: undefined reference to `libintl_gettext' *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src. *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src. *** Error code 1 Stop in /usr/home/tingo/work/pipslite. *** Error code 1 Stop in /usr/home/tingo/work/pipslite.
Nope, still errors out in the same place. New try with configure:
tingo@kg-v2$ ./configure --with-libintl-prefix=/usr/local LIBS=-lintl LDFLAGS=-L/usr/local/lib
make clean and make. Ok, it got a bit further:
gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -DCONFIG_FILE_PATH=\"/usr/local/etc/pipslite/pipslitedrc\" -I/usr/local/include -g -O2 -Wall -MT cbtd_setup.o -MD -MP -MF .deps/cbtd_setup.Tpo -c -o cbtd_setup.o cbtd_setup.c cbtd_setup.c: In function 'is_searching_printer': cbtd_setup.c:70: error: '_IOC_READ' undeclared (first use in this function) cbtd_setup.c:70: error: (Each undeclared identifier is reported only once cbtd_setup.c:70: error: for each function it appears in.) *** Error code 1 Stop in /usr/home/tingo/work/pipslite/daemon. *** Error code 1 Stop in /usr/home/tingo/work/pipslite/daemon. *** Error code 1 Stop in /usr/home/tingo/work/pipslite. *** Error code 1 Stop in /usr/home/tingo/work/pipslite.
Now, let's see...
2011-05-22: OK, trying to get pipslite (1.5.0-3, filename pipslite_1.5.0-3.tar.gz) aka Epson Photo Image Print system Lite to compile under FreeBSD. Extracted the archive to ~/work
, then did
cd pipslite ./configure
Then did a make
tingo@kg-v2$ make make all-recursive Making all in lib /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_api.lo -MD -MP -MF .deps/escpr_api.Tpo -c -o escpr_api.lo escpr_api.c mkdir .libs gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_api.lo -MD -MP -MF .deps/escpr_api.Tpo -c escpr_api.c -fPIC -DPIC -o .libs/escpr_api.o gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_api.lo -MD -MP -MF .deps/escpr_api.Tpo -c escpr_api.c -o escpr_api.o >/dev/null 2>&1 mv -f .deps/escpr_api.Tpo .deps/escpr_api.Plo /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_cmd.lo -MD -MP -MF .deps/escpr_cmd.Tpo -c -o escpr_cmd.lo escpr_cmd.c gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_cmd.lo -MD -MP -MF .deps/escpr_cmd.Tpo -c escpr_cmd.c -fPIC -DPIC -o .libs/escpr_cmd.o gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_cmd.lo -MD -MP -MF .deps/escpr_cmd.Tpo -c escpr_cmd.c -o escpr_cmd.o >/dev/null 2>&1 mv -f .deps/escpr_cmd.Tpo .deps/escpr_cmd.Plo /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_osdep.lo -MD -MP -MF .deps/escpr_osdep.Tpo -c -o escpr_osdep.lo escpr_osdep.c gcc -DHAVE_CONFIG_H -I. -I.. -I../src/filter-l2/magick -I/usr/local/include -g -O2 -Wall -MT escpr_osdep.lo -MD -MP -MF .deps/escpr_osdep.Tpo -c escpr_osdep.c -fPIC -DPIC -o .libs/escpr_osdep.o In file included from escpr_osdep.c:23: /usr/include/malloc.h:3:2: error: #error "<malloc.h> has been replaced by <stdlib.h>" escpr_osdep.c: In function 'ESCPR_Mem_Alloc': escpr_osdep.c:46: warning: implicit declaration of function 'malloc' escpr_osdep.c:46: warning: incompatible implicit declaration of built-in function 'malloc' escpr_osdep.c: In function 'ESCPR_Mem_Free': escpr_osdep.c:56: warning: implicit declaration of function 'free' *** Error code 1 Stop in /usr/home/tingo/work/pipslite/lib. *** Error code 1 Stop in /usr/home/tingo/work/pipslite. *** Error code 1 Stop in /usr/home/tingo/work/pipslite.
Ok, must fix that. Replaced the include of
Making all in filter-l2 /bin/sh ../../libtool --tag=CC --mode=link gcc -DCUPS_FILTER_PATH=\"/usr/local/local/libexec/cups/filter\" -I../../lib-l2 -I../../src/filter-l2/ -g -O2 -Wall -o pipslitel2-filter analyze.o animate.o annotate.o attribute.o blob.o channel.o color.o colorspace.o command.o composite.o compress.o constitute.o decorate.o delegate.o deprecate.o display.o draw.o effect.o enhance.o error.o fx.o gem.o image.o list.o locale.o log.o magic.o magick.o magick_endian.o map.o memory.o module.o monitor.o montage.o operator.o paint.o pixel_cache.o pixel_iterator.o PreRvIcccm.o profile.o quantize.o registry.o render.o resize.o resource.o segment.o semaphore.o shear.o signature.o static.o sun.o tempfile.o timer.o transform.o tsd.o type.o unix_port.o utility.o version.o widget.o xwindow.o l2filter.o ../../lib-l2/liblitel2.la -lcups -lm -lcupsimage -lcups -ljpeg -lm -lpthread gcc -DCUPS_FILTER_PATH=\"/usr/local/local/libexec/cups/filter\" -I../../lib-l2 -I../../src/filter-l2/ -g -O2 -Wall -o .libs/pipslitel2-filter analyze.o animate.o annotate.o attribute.o blob.o channel.o color.o colorspace.o command.o composite.o compress.o constitute.o decorate.o delegate.o deprecate.o display.o draw.o effect.o enhance.o error.o fx.o gem.o image.o list.o locale.o log.o magic.o magick.o magick_endian.o map.o memory.o module.o monitor.o montage.o operator.o paint.o pixel_cache.o pixel_iterator.o PreRvIcccm.o profile.o quantize.o registry.o render.o resize.o resource.o segment.o semaphore.o shear.o signature.o static.o sun.o tempfile.o timer.o transform.o tsd.o type.o unix_port.o utility.o version.o widget.o xwindow.o l2filter.o ../../lib-l2/.libs/liblitel2.so -lcupsimage -lcups -ljpeg -lm -lpthread -Wl,--rpath -Wl,/usr/local/lib /usr/bin/ld: cannot find -lcupsimage *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src/filter-l2. *** Error code 1 Stop in /usr/home/tingo/work/pipslite/src. *** Error code 1 Stop in /usr/home/tingo/work/pipslite. *** Error code 1 Stop in /usr/home/tingo/work/pipslite.
There must be a problem here, but things look ok:
root@kg-v2# cups-config --ldflags -Wl,-R/usr/local/lib -L/usr/local/lib
and the Makefile too:
tingo@kg-v2$ grep CUPS_LDFLAGS ./src/filter-l2/Makefile CUPS_LDFLAGS = -Wl,-R/usr/local/lib -L/usr/local/lib
Hmm, what to do now?
2011-05-21: scanner - FreeBSD: tested from my main workstation:
tingo@kg-v2$ uname -a FreeBSD kg-v2.kg4.no 8.1-STABLE FreeBSD 8.1-STABLE #3: Thu Sep 16 22:18:48 CEST 2010 root@kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64
Let's see if it is detected:
tingo@kg-v2$ scanimage -V scanimage (sane-backends) 1.0.21; backend version 1.0.21 tingo@kg-v2$ scanimage -L device `snapscan:libusb:/dev/usb:/dev/ugen2.2' is a AGFA SNAPSCAN 1212U_2 flatbed scanner
Nope, only my old scanner there. Anyway, let's find out if it works:
tingo@kg-v2$ scanimage -d epson2:net:10.1.161.8 --mode Color > work/0_scan/test_out.pnm
ok, that works. But xscanimage always crashes. It doesn't matter if I try "preview" or "Scan", it just crashes:
tingo@kg-v2$ SANE_DEBUG_XSCANIMAGE=3 xscanimage epson2:net:10.1.161.8 [sanei_debug] Setting debug level of xscanimage to 3. [xscanimage] xscanimage (version: 1.0.14, package: sane-frontends) starting [sanei_debug] Setting debug level of xscanimage to 3. Segmentation fault (core dumped)
Not good.