- Packaging Brother printer drivers
- Creating a PKGBUILD from a .deb
- Creating a PKGBUILD from a .rpm
- Other changes
- x86_64
- Общая информация
- Автоматическая установка
- Установка вручную
- Пример установки драйвера МФУ DCP-7030R в Ubuntu
- Устанавливаем вспомогательное ПО
- Устанавливаем драйвер устройства
- Подключаем драйвер принтера
- Подключаем сканер
- Установка драйвера сканера
- Полезные ссылки
- См. также
- How do I install proprietary drivers for my Brother all-in-one printer/scanner/fax?
- 5 Answers 5
- Как установить проприетарные драйверы для моего принтера / сканера / факса Brother «все в одном»?
- 5 ответов
Packaging Brother printer drivers
Reason: This page was written before the i686 architecture stopped being supported. As such, it provides examples with i386 packages and packages them without taking 32-bit package guidelines into consideration. (Discuss in Talk:Packaging Brother printer drivers)
Brother supplies Linux drivers for its printers, but they are provided as .rpm and/or .deb packages only. This article explains what adjustments to the contents of the DEB and RPM packages supplied by Brother will need to be made to create a PKGBUILD for the printer driver. Additional example PKGBUILDs for Brother printers can be found by searching in the AUR.
CUPS handles printers using a .ppd file and a filter binary. Once those two files are installed, the printer can be added in CUPS.
Creating a PKGBUILD from a .deb
Brother is offering a «Driver Install Tool» as well as two .deb packages.
One is the LPR driver and the other one a CUPS wrapper (running on top of LPR driver). Both can be found on Brother’s «Support & Downloads» page (e.g. for HL-L9200CDW).
It is possible to create a PKGBUILD that will automatically download and install the .deb packages directly from the URL provided by Brother. Therefore you will need to obtain the direct download links for both .deb packages from brothers website (e.g. for HL-L9200CDW you have the LPR driver and the CUPS wrapper).
Once you have obtained the download URLs for both .deb packages, use existing PKGBUILD files from brother-hll8360cdw-lpr-bin AUR and brother-hll8360cdw-cups-bin AUR as templates. You will need to adjust the package name. Change url= to the URL of Brother’s support page for your specific printer model, source= needs to be adjusted to the URL of the .deb package. The following PKGBUILD example has been based on brother-hll8360cdw-cups-bin AUR but has been adjusted for HL-L9200CDW LPR printer driver:
# Maintainer: John Doe pkgname=brother-hll9200cdw-lpr-bin pkgver=1.1.2 pkgrel=1 pkgdesc arch=("i686" "x86_64") url license=("EULA") source=("http://www.brother.com/pub/bsc/linux/packages/hll9200cdwlpr-1.1.2-1.i386.deb") md5sums=("30124df7d49362906a2a118eff3c710e") package() < tar -xf data.tar.gz -C "$" >
Do not forget to update the md5sum. The pkgver version should be the same version as Brother’s printer drivers (please note versions might differ for LPR and CUPS wrapper). Create the PKGBUILD file for the CUPS wrapper, too:
# Maintainer: John Doe pkgname=brother-hll9200cdw-cups-bin pkgver=1.1.3 pkgrel=1 pkgdesc arch=("i686" "x86_64") url license=("EULA") source=("http://www.brother.com/pub/bsc/linux/packages/hll9200cdwcupswrapper-1.1.3-1.i386.deb") md5sums=("0a802088aac7236a3c309b2b46b37f11") package() < tar -xf data.tar.gz -C "$" >
Finally, use makepkg to test/install your newly created PKGBUILD file(s). If everything works, do not forget to publish your new driver to AUR. See AUR submission guidelines for the details.
Creating a PKGBUILD from a .rpm
Unfortunately, Brother’s drivers have some issues:
- The CUPS driver is built on top of the lpr driver.
- The CUPS driver package contains a single installation shell script with an embedded ppd and filter. It is executed by rpm during installation. It extracts the ppd and filter, and performs some installation procedures in a Red Hat-specific way.
- The CUPS driver package uses paths that are not compliant with the Arch packaging standards.
These issues can be worked around.
- The lpr driver does not need to be installed, so the PKGBUILD can just extract the files in the lpr driver’s RPM package.
- The CUPS driver’s RPM should contain a single shell script. For instance, for the brother-hl2030AUR package, the PKGBUILD changes three things:
- The paths are changed.
- All commands are disabled except » cat . » or whatever there is that emits *.ppd or filter to separate file. It was done by wrapping irrelevant instructions by if false; then . fi .
- The target file names for the ppd and filter are changed so they are installed into the same directory as the PKGBUILD. Note that paths to the embedded filter where also changed.
- To fix the paths to conform to the Arch packaging standards, sed or similar can be used on all text files unpacked from both the lpr and CUPS drivers. Look at the patch in the brother-hl2030AUR package to check which files are affected.
Effectively after the changes described above the script will just output a ppd and a filter to some known location. The PKGBUILD will then copy them to the proper directories in $pkgdir :
install -m 644 -D ppd "$/usr/share/cups/model/HL2030.ppd" install -m 755 -D filter "$/usr/lib/cups/filter/brlpdwrapperHL2030"
The lpr driver files will also need to be copied into $pkgdir !
Other changes
Edit the installation script:
-#PSTOPSFILTER=`which pstops` +PSTOPSFILTER='/usr/lib/cups/filter/pstops'
As pstops is not installed in a standard location, the path will need to be hard-coded.
The factual accuracy of this article or section is disputed.
Reason: The original author «could not remember» why this is needed, or whether it was required at all (Discuss in Talk:Packaging Brother printer drivers)
This may also need to be added.
+[psconvert2] +pstops=/usr/lib/cups/filter/pstops
x86_64
Because some of the supplied binaries are 32 bit only, on an x86_64 system some additional multilib packages such as a 32 bit version of glibc ( lib32-glibc ) may need to be installed.
Общая информация
Компания Brother довольно хорошо поддерживает ОС Linux. Драйвера для принтеров и МФУ Brother можно скачать с официального сайта.
Автоматическая установка
Driver Install Tool — специальная утилита от производителя, определяющая какое устройство подключено к системе. Утилита скачивает из Интернета все необходимые драйвера для принтера и сканера.
После загрузки Driver Install Tool, распаковываем архив. В консоли можно командой gunzip linux-brprinter-installer-*.*.*-*.gz . Например:
И запускаем от имени суперпользователя, указав название устройства:
Установщик предупредит о пакетах, которые будут устанавливаться:
brdcp7030lpr-2.0.2-1.i386.deb cupswrapperDCP7030-2.0.2-1.i386.deb brscan3-0.2.13-1.amd64.deb brscan-skey-0.2.4-1.amd64.deb
Соглашаемся, нажав «y» (на английской раскладке). Затем ещё дважды соглашаемся с условиями лицензий на устанавливаемые драйвера:
На запрос об адресе сетевого принтера (URI) отвечаем «n», если принтер подключен к компьютеру напрямую, иначе (если принтер сетевой) отвечаем «y» и вводим URI.
Печатаем тестовую страницу:
Далее следует установка драйверов сканера. Соглашаемся с двумя лицензиями:
К сожалению установщик не до конца регистрирует сканер в ОС, поэтому придётся прописать вручную:
Название файла может отличатся в разный версиях ОС. Чтобы выяснить его выполняем:
ATTRS=="3", ATTRS=="BROTHER", ATTRS=="DCP-7030", ENV="yes"
# Brother scanners ATTRS=="04f9", ENV="yes" # The following rule will disable
Сохраняем изменения, перегружаем компьютер и проверяем сканирование. В случае проблем см. ниже раздел установки сканера вручную.
Установка вручную
Пример установки драйвера МФУ DCP-7030R в Ubuntu
Устанавливаем вспомогательное ПО
sudo su apt-get install apparmor-utils aa-complain cupsd mkdir /usr/share/cups/model
Устанавливаем драйвер устройства
- Скачиваем драйвера с сайта производителя: http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_prn.html#DCP-7030
- Устанавливаем скаченные драйвера.
- Проверяем, что драйвер установился:
ls -l /usr/share/cups/model dpkg -l | grep Brother
Подключаем драйвер принтера
В системном меню выбираем:
- Администрирование — Печать — Добавить — Предоставить PPD-файл
- Выбрать /usr/share/cups/model/dcp7030.ppd
Подключаем сканер
Название файла может отличатся в разный версиях ОС. Чтобы выяснить его выполняем:
Находим в нём строку # The following rule will disable . и выше неё дописываем:
# Brother scanners ATTRS=="04f9", ENV="yes" # The following rule will disable
Сохраняем изменения, перегружаем компьютер и проверяем сканирование.
Установка драйвера сканера
$ brscan-skey -l DCP-7030 : brother3:bus2;dev3 : USB Active $ scanimage -L device `brother3:bus2;dev3′ is a Brother DCP-7030 USB scanner
$ brscan-skey -l DCP-7030 : brother3:bus1;dev1 : USB Not registered $ scanimage -L No scanners were identified.
В этом случае, возможно, система не находит драйверов. Копируем их:
Полезные ссылки
См. также
How do I install proprietary drivers for my Brother all-in-one printer/scanner/fax?
Guides on how to install drivers for a Brother all-in-one network printer are either for older devices or are rather complicated as they often involve editing or copying system files in my root directory. Is there a newer, more convenient way to install the drivers needed?
5 Answers 5
For presently supported devices Brother provide an install script that both, downloads and installs all drivers needed to set up a network printer very quickly.
- Set up the network connection
- First set up your wireless connection on the printer display according to the quick setup manual. Note down your printer’s IP as we need it later.
- Install the proprietary drivers from Brother
- Browse to Brother Support and search for your model number.
- Search for Linux (deb) drivers: In case we have a locale different from English we may have to ignore a warning to then select Language > English>
- Download the Driver Install Tool only (no need to download the other drivers as the installer tool will do that for you).
- Unpack the downloaded file and give it executable permission
cd ~/Downloads ## or the path you had stored the download gunzip linux-brprinter-installer-2.0.0-1.gz chmod +x linux-brprinter-installer-2.0.0-1
sudo ./linux-brprinter-installer-2.0.0-1
- Input model name -> type in the number of your printer (e.g. MFC-J5320DW )
- Missing dependencies will be installed from the repositories
- Will you specify the Device URI? [Y/n] -> Say Y if your printer was installed in the network ( n for USB only).
- Type in the number of your new printer’s URI (e.g. 12 in the example below) from a list of all devices found
.. 12: dnssd://Brother%20MFC-J5320DW._ipp._tcp.local/ ..
- Optionally choose to make it your default printer, and adjust the default properties (e.g. paper size etc.).
brmfcfaxcups-1.0.0-1.i386.deb brmfcfaxlpd-1.0.0-1.i386.deb
These drivers will likely also work with your printer’s fax module by adding a BRFAX -printer for sending a fax from any application.
Note in addition: Some devices will come with a maintenance web-interface we can reach simply by browsing to the printer’s IP.
Как установить проприетарные драйверы для моего принтера / сканера / факса Brother «все в одном»?
Руководства по установке драйверов для сетевого принтера Brother all-in-one предназначены либо для старых устройств, либо довольно сложны, поскольку часто включают редактирование или копирование системных файлов в моем корневом каталоге.
Есть ли более новый, более удобный способ установки необходимых драйверов?
5 ответов
Для поддерживаемых в настоящее время устройств Brother предоставляет скрипт установки, который загружает и устанавливает все драйверы, необходимые для быстрой настройки сетевого принтера.
- Настройте сетевое соединение
- Сначала настройте беспроводное соединение на дисплее принтера в соответствии с руководством по быстрой установке. Запишите IP-адрес вашего принтера, как нам нужно позже.
- Установите проприетарные драйверы от Brother
- Перейдите в службу поддержки Brother и найдите номер своей модели.
- Поиск драйверов для Linux (deb): В случае, если у нас есть локаль, отличная от английского, нам, возможно, придется игнорировать предупреждение, чтобы затем выбрать Язык> Английский>
- Загрузите только инструмент установки драйверов (нет необходимости загружать другие драйверы, поскольку инструмент установки сделает это за вас).
cd ~/Downloads ## or the path you had stored the download gunzip linux-brprinter-installer-2.0.0-1.gz chmod +x linux-brprinter-installer-2.0.0-1
sudo ./linux-brprinter-installer-2.0.0-1
- Input model name -> введите номер вашего принтера (например, MFC-J5320DW )
- Отсутствующие зависимости будут установлены из репозиториев
- Will you specify the Device URI? [Y/n] -> Сказать Y если ваш принтер был установлен в сети ( n только для USB).
- Введите номер URI вашего нового принтера (например, 12 в приведенном ниже примере) из списка всех найденных устройств
.. 12: dnssd://Brother%20MFC-J5320DW._ipp._tcp.local/ ..
- При желании можно выбрать принтер по умолчанию и настроить свойства по умолчанию (например, размер бумаги и т. Д.).
brmfcfaxcups-1.0.0-1.i386.deb brmfcfaxlpd-1.0.0-1.i386.deb
Эти драйверы, вероятно, также будут работать с факсимильным модулем вашего принтера, добавив BRFAX -принтер для отправки факса из любого приложения.
Обратите внимание: некоторые устройства поставляются с веб-интерфейсом обслуживания, к которому мы можем обратиться, просто перейдя по IP-адресу принтера.