You are not logged in.

#1 2016-12-08 00:38:05

auipga
Member
Registered: 2016-12-08
Posts: 5

[Request] brother-dcp353c / dcp357c printer driver

There are already many other drivers for Brother printers. Maybe some existing code can be reused. An easy one [1] and a more complicated one [2].

Driver sources (rpm and deb): http://support.brother.com/g/s/id/linux … l#DCP-353C

md5sums:
a309a9c06646789ded489b3b5fc63435  dcp353ccupswrapper-1.0.1-1.i386.rpm
e112ac9bc3f420f082625eb9df0b5b11  dcp353clpr-1.0.1-1.i386.rpm

[1]: https://aur.archlinux.org/cgit/aur.git/ … er-dcp135c
[2]: https://aur.archlinux.org/cgit/aur.git/ … er-dcp350c

Last edited by auipga (2016-12-08 00:39:36)

Offline

#2 2017-01-13 15:59:01

auipga
Member
Registered: 2016-12-08
Posts: 5

Re: [Request] brother-dcp353c / dcp357c printer driver

nobody? :'(

Offline

#3 2017-01-14 06:44:09

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [Request] brother-dcp353c / dcp357c printer driver

Just a simple rework of brother-dcp135c by Libernux:
The simpliest way to do is (all in konsole):
1. Clone AUR git for brother-dcp135c:

$ git clone https://aur.archlinux.org/brother-dcp135c.git

2. Change directory to this which is downloaded:

cd brother-dcp135c

3. Copy this PKGBUILD:

# Maintainer: pavbaranov
# Based on PKGBUILD by Maintainer: Libernux <dutchman55@gmx.com> for DCP135C
pkgname="brother-dcp353c"
pkgver="1.0.1"
pkgrel=1
pkgdesc="LPR and CUPS driver for the Brother DCP353C/357C"
arch=('i686' 'x86_64')
url="http://solutions.brother.com/linux/en_us/"
license=('custom:brother commercial license')
depends=('cups')
install="$pkgname.install"
source=(
        "http://www.brother.com/pub/bsc/linux/dlf/dcp353clpr-$pkgver-$pkgrel.i386.rpm"
        "http://www.brother.com/pub/bsc/linux/dlf/dcp353ccupswrapper-$pkgver-$pkgrel.i386.rpm"
        'cupswrapper-license.txt'
        'lpr-license.txt'
)
md5sums=('e112ac9bc3f420f082625eb9df0b5b11'
         'a309a9c06646789ded489b3b5fc63435'
         '97ad0cffd216059e9d1d3121899d8646'
         '5e87a3dc0f3e3438c088eda0f3565f0d')
if test "$CARCH" == x86_64; then
  depends+=('lib32-glibc')
fi
prepare() {
#  do not install in '/usr/local'
        if [ -d $srcdir/usr/local/Brother ]; then
                install -d $srcdir/usr/share
                mv $srcdir/usr/local/Brother/ $srcdir/usr/share/brother
                rm -rf $srcdir/usr/local
                sed -i 's|/usr/local/Brother|/usr/share/brother|g' `grep -lr '/usr/local/Brother' ./`
        fi
# setup cups-directories
        install -d $srcdir/usr/share/cups/model
        install -d $srcdir/usr/lib/cups/filter
#  go to the cupswrapper directory and find the source file from wich to generate a ppd- and wrapper-file
        cd `find . -type d -name 'cupswrapper'`
        if [ -f cupswrapper* ]; then
                _wrapper_source=`ls cupswrapper*`
                sed -i '/^\/etc\/init.d\/cups/d' $_wrapper_source
                sed -i '/^sleep/d' $_wrapper_source
                sed -i '/^lpadmin/d' $_wrapper_source
                sed -i 's|/usr|$srcdir/usr|g' $_wrapper_source
                sed -i 's|/opt|$srcdir/opt|g' $_wrapper_source
                sed -i 's|/model/Brother|/model|g' $_wrapper_source
                sed -i 's|lpinfo|echo|g' $_wrapper_source
                export srcdir=$srcdir
                ./$_wrapper_source
                sed -i 's|$srcdir||' $srcdir/usr/lib/cups/filter/*lpdwrapper*
                sed -i "s|$srcdir||" $srcdir/usr/lib/cups/filter/*lpdwrapper*
                rm $_wrapper_source
        fi
#  /etc/printcap is managed by cups
        rm `find $srcdir -type f -name 'setupPrintcap*'`
}
package() {
        cp -R $srcdir/usr $pkgdir
        if [ -d $srcdir/opt ]; then cp -R $srcdir/opt $pkgdir; fi
        install -m 644 -D cupswrapper-license.txt $pkgdir/usr/share/licenses/${pkgname}/cupswrapper-licence.txt
        install -m 644 -D lpr-license.txt $pkgdir/usr/share/licenses/${pkgname}/lpr-licence.txt
}

Save it as PKGBUILD and replace original PKGBUILD for brother-dcp135c
3. Change name of brother-dcp135c.install:

mv brother-dcp135c.install brother-dcp353c.install

There should be those files in brother-135c directory:

PKGBUILD; brother-dcp353c.install; cupswrapper-license.txt; lpr-license.txt

4. Now you can build and install driver:

makepkg -sirc

I hope it works smile

Offline

#4 2017-01-27 21:21:48

auipga
Member
Registered: 2016-12-08
Posts: 5

Re: [Request] brother-dcp353c / dcp357c printer driver

Thanks for your help!
It was installed successfully, adding the printer was not possible through gnome-control-center but I succeeded using system-config-printer. I manually choosed the "DCP-353C driver (recommended)" for my 357C model.

on my pc (host 'hp' is 192.168.1.2)

~ lpstat -s
system default destination: Brother-DCP-357C
device for Brother-DCP-357C: ipp://hp:631/printers/Brother-DCP-357C

on my hp microserver (where the printer is plugged in)

~ lpstat -s
system default destination: Brother-DCP-357C
device for Brother-DCP-357C: usb://Brother/DCP-357C?serial=BROH8F652321

Now trying to print: The print jobs is added to the queue and a few seconds later marked as "Completed". But the printer just didn't anything.
qovae1.png
Job #14 was sent from my pc, jobs #15-17 from the microserver.
Printing a text file results in a job with 14k in size (seems legit).

//edit:

In the details (Job attributes) of Job #14 is a key named job-printer-state-message with value "No pages found!" which leads me to
* (did not work) https://answers.launchpad.net/ubuntu/+s … #comment-6
* (did work) https://bbs.archlinux.org/viewtopic.php … 24#p940524

I also added a2ps to the depends.

Now it works smile

https://aur.archlinux.org/packages/brother-dcp353c/

Last edited by auipga (2017-01-27 21:22:15)

Offline

Board footer

Powered by FluxBB