Package Details: brother-ql1100 2.1.4r0-2

Git Clone URL: https://aur.archlinux.org/brother-ql1100.git (read-only, click to copy)
Package Base: brother-ql1100
Description: LPR and CUPS driver for Brother QL-1100 label printer
Upstream URL: http://solutions.brother.com/linux/en_us/
Keywords: brother cups cupswrapper driver filter label lpr ppd printer ql-1100
Licenses: custom
Submitter: kbabioch
Maintainer: kbabioch
Last Packager: kbabioch
Votes: 2
Popularity: 0.83
First Submitted: 2018-02-27 21:24
Last Updated: 2021-04-13 08:19

Latest Comments

kbabioch commented on 2021-04-13 08:20

@lkamp: Thank you for digging into this and fixing the package. I've just updated it (based on your input) and added you as "Contributor". Let me know if, it is (not) working or there are further issues.

lkamp commented on 2021-04-11 11:06

I got it running, the PKGBUILD below works for me, it is basically copied from the package brother-ql720nw. Would be great if the maintainer could update the package.

# Maintainer: Karol Babioch <karol@babioch.de>
# Inspired by package brother-dcp130c

pkgname='brother-ql1100'
pkgver=2.1.4r0
pkgrel=1
pkgdesc='LPR and CUPS driver for Brother QL-1100 label printer'
url='http://solutions.brother.com/linux/en_us/'
arch=('i686' 'x86_64')
license=('custom')
depends='cups'
if [ "$CARCH" = 'x86_64' ]; then
  depends+=('lib32-glibc')
fi
install="$pkgname.install"
source=("http://download.brother.com/welcome/dlfp100574/ql1100pdrv-${pkgver/r/-}.i386.rpm"
        'LICENSE')
sha256sums=('4523ee178173b11f9a66bd31a1ef03ecf2d933a0900f3dfc2fc1ffab07fffd26'
            'cdd1955a9996bc246ba54e84f0a5ccbfdf6623962b668188762389aa79ef9811')

prepare()
{
  # Create necessary CUPS directories
  install -d "${srcdir}/usr/share/cups/model"
  install -d "${srcdir}/usr/lib/cups/filter"
  install -d "${srcdir}/usr/bin"

  # Locate cupswrapper script
  _cupswrapper=$(find "${srcdir}/opt/brother/PTouch/" -type f -name 'cupswrapper*')
  echo "cupswrapper: ${_cupswrapper}"

  # Locate lpdwrapper script / symlink
  _lpdwrapper=$(find "${srcdir}/opt/brother/PTouch/" -name "brother_lpdwrapper_*")
  echo "lpdwrapper: ${_lpdwrapper}"

  # Basename of lpdwrapper script
  _lpdwrapper_basename="$(basename "${_lpdwrapper}")"
  echo "lpdwrapper_basename: ${_lpdwrapper_basename}"

  # Get model name of driver based on name from lpdwrapper script (e.g. brother_lpdwrapper_ql720nw -> ql720nw)
  _model="${_lpdwrapper_basename##brother_lpdwrapper_}"
  echo "model: ${_model}"

  # Patch cupswrapper script
  sed -i '/^sleep/d' ${_cupswrapper}
  sed -i '/^echo lpadmin/d' ${_cupswrapper}
  sed -i '/^lpadmin/d' ${_cupswrapper}
  sed -i "s|/usr|${srcdir}/usr|g" ${_cupswrapper}
  sed -i "s|/opt|${srcdir}/opt|g" ${_cupswrapper}
  sed -i "s|/model/Brother|/model|g" ${_cupswrapper}
  sed -i 's|lpinfo|echo|g' ${_cupswrapper}

  # Remove potential symlink (from previous runs)
  rm -f "${srcdir}/usr/lib/cups/filter/${_lpdwrapper_basename}"

  # Invoke cupswrapper script
  export srcdir=${srcdir}
  ${_cupswrapper}

  # Patch resulting filter
  sed -i "s|${srcdir}||" "${_lpdwrapper}"

  # Remove unneeded script (i.e. /etc/printcap is managed by CUPS)
  rm $(find "${srcdir}" -type f -name 'setupPrintcap*')

  # Make symlink absolute
  rm "${srcdir}/usr/lib/cups/filter/${_lpdwrapper_basename}"
  ln -s "/opt/brother/PTouch/${_model}/cupswrapper/${_lpdwrapper_basename}" "${srcdir}/usr/lib/cups/filter/${_lpdwrapper_basename}"
}

package()
{
  # Install actual content
  cp -R "${srcdir}/usr" "${pkgdir}"
  cp -R "${srcdir}/opt" "${pkgdir}"

  # Set some file ownerships and permissions
  # infdir, e.g. /opt/brother/PTouch/ql720nw/inf/
  _infdir=$(find "${pkgdir}/opt/brother/PTouch/" -type d -name 'inf')
  chown root:lp ${_infdir}
  chmod 775 ${_infdir}
  # rcfile, e.g. /opt/brother/PTouch/ql720nw/inf/brql720nwrc
  _rcfile=$(find "${pkgdir}/opt/brother/PTouch/" -type f -name '*rc')
  chown daemon:lp ${_rcfile}
  chmod 664 ${_rcfile}

  # Handle licenses
  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
  find "${pkgdir}" -type f -name 'LICENSE*.txt' -exec mv -t "${pkgdir}/usr/share/licenses/${pkgname}" {} +
}

lkamp commented on 2021-04-10 17:47

I am having troubles getting my printer to work with this. The package installs just fine and CUPS finds my printer, but I can't print. CUPS does not give me any error.

@aliasbody could you explain how you installed the RPM directly? I have not had any success so far.

Any help with getting a QL-1100 to run would be highly appreciated.

aliasbody commented on 2020-05-24 14:25

It seems to be related with the way the package is handled. I don't understand yet what it is, but when I install the rpm directly (without using this package) it works. I'll have a look and submit a request.

aliasbody commented on 2020-05-23 19:52

Still not working. Is there any missing library? It works on Ubuntu 20.04 when installing the required 32 libs (lib32ncurses5 and lib32stdc++6).

aliasbody commented on 2020-04-23 13:58

The driver isn't working anymore. Everything installs but it doesn't print.

I've tested in Ubuntu 20.04 where the same behavior happens and it's related to a missing lib32stdc++6 library. In AUR we have https://aur.archlinux.org/packages/lib32-libstdc%2B%2B5/ but it doesn't seem to solve the problem.

Update #1: Actually this file comes with lib32-glibc which is already included with this package, but it doesn't work, so either it's missing a connection or it's missing another library. Cups doesn't give any interesting info on the error file.