news 2026/10/1 6:31:17

Linux下安装Brother打印机驱动全指南:CUPS配置与排错

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下安装Brother打印机驱动全指南:CUPS配置与排错

说实话,我在Linux下装打印机的经历,最早是被一台老款Brother DCP-7055折磨出来的。当时插上USB线,系统完全没反应,网上搜了一堆教程,不是讲Windows的就是装到一半报错,最后还是摸透了Brother官方驱动包的结构才解决。后来陆续给朋友配过DCP-L2550DW、MFC-7895DW,从Debian、Ubuntu到Fedora都折腾过,踩过的坑基本能写一本小册子了。这篇就把Linux下安装Brother打印机驱动的完整思路、命令和排错流程整理出来,照着走一遍,比去官网翻英文文档效率高得多。

1. 安装前先搞清楚这三件事,能省两小时

1.1 查准打印机完整型号:少个字母都可能没驱动

很多新手第一步就栽在型号上。Brother打印机型号有个习惯,喜欢在后面加一堆后缀字母,比如DCP-L2550DW、DCP-B7500D、MFC-7895DW。D代表双面、W代表无线、F代表传真,这些后缀不只是配置差异,它们在官网驱动列表里是独立的条目。

我见过有人在论坛求驱动,说自己的打印机是"DCP-7080",结果机器侧面铭牌写的是"DCP-7080D"。这两个型号虽然外观几乎一样,但驱动包不通用,DCP-7080D必须选带D的驱动包。安装驱动之前,先到打印机正面铭牌或机身后部标签上看清楚完整型号,记下来,后面下载、搜索、设置队列都要用这个型号,一个字都不能错。

1.2 分清发行版和处理器架构:别拿rpm包在Debian上装

Brother官网的Linux驱动按发行版分了两大类:一类是deb包,给Debian、Ubuntu、Mint以及基于Debian的其他发行版用;另一类是rpm包,给Fedora、CentOS、RHEL、openSUSE这类发行版用。这个分类非常死板,拿到rpm包在Ubuntu上强行用dpkg安装,系统会直接回怼一句话:

dpkg: error: cannot access archive 'xxx.rpm': not a Debian format archive

同理,把deb包拿到Fedora上用rpm命令装,也会报错。下载之前先在终端确认自己的发行版和架构:

uname -m

x86_64的结果对应amd64架构,aarch64对应ARM64架构。Brother驱动包后缀里会有i386、amd64、aarch64这样的标识,选错了会报"package architecture (i386) does not match system (amd64)"。这个细节很多人忽略,但恰恰是安装失败的重灾区。

1.3 确认连接方式:USB和网络打印机的处理完全不一样

Brother打印机在Linux下的驱动安装逻辑分为两种情况:

  • USB直连:插上打印机,系统识别后配置设备URI,驱动安装相对简单。
  • 网络连接:打印机通过网线或WiFi接入局域网,安装驱动时要把打印机的IP地址作为设备URI写进CUPS队列。这一步没有图形化引导,很多人到了这里就卡住。

有一个观察:很多人的打印机用的是有线连接,但电脑走的是WiFi,两台设备明明在同一个局域网里,系统自动搜索却找不到打印机。这不是驱动问题,是CUPS的自动发现机制对Brother设备支持不完整。后面第三章会讲到,网络打印机最好手动指定IP,不要依赖自动发现。

2. 驱动从哪来:Brother官方下载流程与驱动包拆解

2.1 在Brother支持页面找到正确驱动

打开Brother官方支持站(support.brother.com),在搜索框输入完整型号,进入产品页面后找到"Downloads"标签,选择操作系统为Linux。这时页面会列出该型号在Linux下的全部驱动包,通常分三类:

  • LPR Printer Driver(打印机LPR驱动)
  • CUPSwrapper Printer Driver(CUPS包装驱动)
  • Scanner Driver(扫描驱动,仅多功能一体机有)

下载页面还会让你选发行版类型,常见的是Debian/Ubuntu和RedHat/Fedora两个分支。按自己系统类型选,然后下载对应的deb或rpm包。

有一点要提醒:有些人觉得官网下载太麻烦,直接用发行版软件源里搜brother,或者用CUPS自带的通用驱动。如果打印机只是应急凑合用,这办法能应付;但Brother打印机的双面打印、灰度模式、墨粉余量查看这些功能,通用驱动经常支持不全。我的建议是,正式使用还是乖乖装官方驱动。

2.2 官方驱动包的结构:lpr驱动和cupswrapper分别是什么

Brother官方Linux驱动分成两个包,不是故意折腾用户,而是有历史原因的。

LPR驱动是底层通信程序,负责把打印数据转换为Brother打印机认识的格式,并负责通过网络端口515或USB设备发送数据。安装后它主要工作在后台,没有它,后面cupswrapper包装了也白装。

CUPSwrapper驱动是包装层,它的作用是生成CUPS打印队列、PPD文件(PostScript Printer Description)以及过滤器脚本。CUPS靠PPD文件知道打印机支持什么纸张尺寸、是否支持双面、默认分辨率是多少。没有cupswrapper,系统不知道这台打印机是什么型号、有什么能力。

两个包的安装顺序不能乱,必须先装lpr,再装cupswrapper。因为cupswrapper安装脚本会调用lpr驱动里已经安装好的后端程序。如果只装了cupswrapper,安装过程会报找不到相关文件,队列建不出来。

另外,别拿其他打印机品牌的驱动安装教程往Brother上套。惠普打印机在Linux下用的是hplip,佳能有自己的cnijfilter系列,架构完全不同。搜教程时如果看到不是Brother相关的内容,直接跳过,避免被带偏。

2.3 三种安装方式的对比:官方deb包、CUPS通用驱动、installer脚本

很多人问,除了官网手动下载,还有没有别的办法。整理一下目前常见的安装方式:

安装方式优点缺点适用场景
官网deb/rpm包手动安装功能完整,双面/灰度/扫描都能用下载和依赖处理对新手不友好正式使用、生产环境,最推荐
CUPS自带通用驱动不用下载,系统自带功能受限,双面等特性可能失效临时应急、测试打印机是否通信正常
Brother官网installer脚本一键在线获取,自动匹配型号网络要求高,交互提示不清晰官网明确提供该型号脚本时可用

官方installer脚本是个shell脚本,可以联网从Brother服务器拉驱动,但实际用下来交互提示并不友好,很多选项默认值并不适合国内用户。我通常还是用手动下载deb/rpm包的方式,后面第三、四章也以这种方式演示。

3. 命令行安装实操:从零到打印出测试页

3.1 装依赖:i386架构与32位运行库

这里以Debian/Ubuntu系为例,Fedora/RHEL系大致类似,只是所有apt命令换成dnf或yum。

全新系统先确认CUPS服务已经安装并启动:

sudo apt update sudo apt install cups cups-client sudo systemctl start cups sudo systemctl enable cups

CUPS是Linux打印系统的核心服务,驱动只是给CUPS提供打印机描述和通信后端,CUPS本身不运行的话,驱动装了也是空转。

接下来是Brother驱动特有的依赖问题。Brother的LPR驱动包虽然也提供amd64版本,但有相当一部分型号的lpr包还是i386架构的。在64位系统上安装这类包,必须先启用i386多架构支持,并安装32位兼容库:

sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32stdc++6

这个lib32stdc++6是很多教程里不会提到的隐性依赖。如果不装,dpkg安装lpr驱动时会报依赖错误;装了之后,后续安装通常一路顺畅。

顺手检查一下当前用户是否在相关权限组里,避免后面没权限管理打印队列:

groups $USER

如果输出里没有lpadmin和scanner,执行:

sudo usermod -aG lpadmin,scanner $USER

改完组后注销重新登录,或者重启一下,组权限才生效。

3.2 安装lpr驱动和cupswrapper

下载好的驱动包放到Downloads目录,然后按顺序安装:

cd ~/Downloads sudo dpkg -i brother-dcp-l2550dw-lpr-en-*.deb sudo dpkg -i brother-dcp-l2550dw-cupswrapper-en-*.deb

如果dpkg报依赖错误,不要硬着头皮加--force-all强行安装,先用apt自动修复:

sudo apt --fix-broken install

修复后重新执行dpkg命令。依赖问题通常出在缺少lib32stdc++6或cups相关组件,补齐后重装即可。

安装完成后,检查驱动文件是否就位:

dpkg -l | grep brother ls /opt/brother/Printers/

看到类似DCP-L2550DW的文件目录,说明核心驱动已经装好了。

3.3 USB打印机与网络打印机的分头配置

USB直连的情况下,把打印机用USB线连到电脑,插电开机。这时系统通常会自动创建一个名为DCP-L2550DW的打印队列。可以用以下命令确认:

lpstat -p

如果列出的队列状态是idle,说明已就绪;如果是disabled或stopped,需要先启用:

sudo cupsenable DCP-L2550DW

网络打印机的情况稍微麻烦一些。cupswrapper安装脚本在创建队列时,默认按USB设备处理。如果打印机走的是网络,需要手动修改队列的设备URI,或者删除旧队列重新添加。

我给网络打印机配置队列时,习惯用CUPS的Web管理界面,路径是:

http://localhost:631

用root账号登录,进入Administration标签,点击Add Printer,选择连接类型为"LPD/LPR Host or Printer",设备URI填写:

lpd://192.168.1.100/binary_p1

注意,192.168.1.100要换成打印机实际的IP地址。binary_p1是Brother网络打印机的标准LPR队列名,填错会导致打印任务一直挂起。后面跟着选择Brother型号对应的PPD文件,系统会自动在已安装的驱动里匹配。

这里有一个很常见的坑:很多人喜欢在网络打印机的IP地址后面加/ipp/print,用IPP协议连接Brother。实际上,部分Brother老型号对IPP支持并不稳定,反而是LPR协议最稳。建议优先用lpd://IP/binary_p1,实测下来兼容性最好。

3.4 打印测试页并把打印机设为默认

队列配好后,先打印一个测试文件验证通信是否正常:

lp -d DCP-L2550DW /etc/nsswitch.conf

这条命令会把系统的nsswitch.conf文件内容发送给打印机。如果打印机正常出纸,说明整个链路已经通了。

然后把这台打印机设为系统默认打印机:

sudo lpoptions -d DCP-L2550DW lpstat -d

lpstat -d输出的结果里,system default destination后面跟着型号名,说明设置成功。

到这里,打印功能已经可以正常使用了。图形界面里打开任意文档,Ctrl+P选择打印机,应该能看到DCP-L2550DW,纸张类型、双面打印等选项也都能正常显示。

4. 多功能一体机的扫描功能配置

4.1 扫描驱动brscan的选择

很多用户打印驱动装好了就觉得完事,结果用扫描仪时系统提示找不到设备。原因很简单:Brother的打印驱动和扫描驱动是两个完全独立的包,必须分别安装。

Brother扫描驱动按产品系列分为brscan2、brscan3、brscan4三套。判断方法是去官网该型号的Scanner Driver下载区,看提供的是哪个版本。现在市面上的主流型号,比如DCP-L2550DW、MFC-7895DW,用的基本都是brscan4;早期一些老型号可能是brscan3或brscan2。下载时注意后缀是amd64还是aarch64,架构选错一样装不上。

下载到对应deb包后安装:

sudo dpkg -i brscan4-0.4.11-1.amd64.deb

版本号和架构以自己的下载文件为准,不要照抄。

4.2 网络扫描仪的添加与验证

扫描驱动装好后,USB直连的扫描仪一般插上就能被识别。网络扫描仪则需要手动注册,把打印机的IP地址告知扫描后端:

sudo brsaneconfig4 -a name=SCAN model=DCP-L2550DW ip=192.168.1.100

这条命令的参数含义:name是你给扫描仪起的名字,model必须是驱动支持的Brother型号,ip是打印机在局域网中的实际地址。执行后查询确认:

sudo brsaneconfig4 -q

输出里能看到类似Scanner[SCAN]的条目,说明扫描仪已经注册成功。

接下来用SANE后端检测一下能否真正访问设备:

apt install sane-utils scanimage -L

正常情况会输出类似:

device "brother4:net1;dev0" is a Brother DCP-L2550DW

看到这个输出,扫描驱动就已经完全打通了。

4.3 图形化扫描工具的配置与权限

Ubuntu系统自带扫描软件simple-scan,如果没装:

sudo apt install simple-scan

打开simple-scan,默认会尝试自动检测扫描仪。如果识别不到,点击右上角菜单手动选择扫描源,里面会出现之前用brsaneconfig4添加的SCAN设备。

权限问题是扫描功能最常见的一个故障点。如果扫描时报Permission denied或open of device brother4:... failed,多半是用户不在scanner组。检查一下:

groups $USER

没有scanner就添加上:

sudo usermod -aG scanner $USER

注销重新登录后再试。

还有一个细节,Brother扫描驱动安装时会往/etc/udev/rules.d/写入设备规则,如果设备规则没有正确加载,USB扫描仪也会报权限问题。遇到这种情况,插拔一次USB线让udev重新加载规则,通常就能解决。

5. 常见问题速查与实操避坑

5.1 打印任务显示completed但打印机不下纸

这是被问得最多的一个问题,现象是发送打印任务后,电脑端显示任务已完成,但打印机毫无反应。

排查顺序是这样的:

先看队列状态:

lpstat -t

如果打印机状态不是idle而是disabled或stopped,先启用:

sudo cupsenable 型号名

再看设备URI是否还正确。网络打印机的IP如果变了,之前配置的lpd://192.168.1.100/binary_p1就完全失效了,但CUPS不会主动报错,任务会直接丢在队列里然后标记成completed。用lpstat -v查看当前URI,然后用ping验证打印机IP是否在线。

如果是无线连接的打印机,建议在路由器后台给打印机绑定DHCP固定IP,防止重启后IP变动导致打印突然失灵。

5.2 dpkg报错i386架构与依赖不满足

安装lpr驱动时报package architecture (i386) does not match system (amd64),原因前文已经讲过,解决方式是:

sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32stdc++6

然后重新执行安装。

如果是依赖不满足的报错,比如类似depends on lib32stdc++6 but it is not installable,先跑:

sudo apt --fix-broken install

再回头装驱动。

这些报错都和驱动包本身无关,不要试图用dpkg --force-all绕过校验,那是饮鸩止渴,装上了也是残废状态。

5.3 添加打印队列时找不到Brother型号

在CUPS Web界面添加打印机时,PPD型号列表里找不到自己型号的Brother,这种情况几乎都是cupswrapper包没有安装成功。

检查一下PPD文件是否存在:

ls /usr/share/cups/model/brother/

如果目录为空或不存在,重新执行cupswrapper包的安装命令:

sudo dpkg -i brother-*-cupswrapper-en-*.deb

装完重启CUPS服务:

sudo systemctl restart cups

刷新CUPS Web界面,型号列表就会出现对应的Brother条目。

5.4 中文乱码和扫描Permission denied

打印中文文档出现方框或乱码,这其实是字体缺失问题,不是驱动问题。安装中文字体即可:

sudo apt install fonts-noto-cjk

安装后重启cups服务,再重新打印。如果打印的是PDF文件,部分PDF对字体内嵌处理不规范,也会导致乱码,建议打印首选项里把分辨率调低,或者选择以图像方式打印。

扫描报Permission denied的具体处理办法在4.3节已经讲过了,核心就一句话:加入scanner组,重新登录。如果还想更彻底一点,可以补装brother官网提供的udev规则包(在Scanner Driver下载区通常叫brother-udev-rule-type1),它能处理不少USB扫描设备的权限问题。

5.5 系统更新后驱动失效的快速恢复

很多用户升级系统或更新CUPS后,突然发现打印机不能用了。这通常不是驱动被卸载,而是CUPS服务状态变了,或者队列配置被重置。

快速恢复步骤:

lpstat -t sudo systemctl restart cups

如果队列还在但打印无反应,删掉旧队列重新添加一次。删除命令:

sudo lpadmin -x 型号名

然后在CUPS Web界面重新添加打印机。整个过程几分钟就能完成,没必要重装驱动。

从实际使用看,只要把官方驱动包和CUPS这套机制搞懂,Brother打印机在Linux下的体验并不比Windows差太多。打印和扫描都是基础功能,官方驱动对双面打印、灰度模式的支持也很完整。

最后分享一个实操心得:凡是在Linux下遇到打印机故障,我的第一反应不是重装驱动,而是先把队列删掉重新建一次。CUPS的队列状态有时候坏得很隐蔽,新建队列比反复重装驱动快得多。另外,给Brother打印机配置网络连接时,每次都用lpd://IP/binary_p1这个URI,避开IPP协议的兼容性问题,能少踩很多坑。希望这篇能帮你把Brother打印机在Linux下顺利跑起来。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 6:31:04

不会聊天的大模型Jev:任务型LLM与通用模型的分工实践

说实话,第一次看到“一个不会聊天的大模型”这个描述,我还愣了几秒。习惯了 ChatGPT、Claude 这类开口就能陪你聊一下午的模型,猛然冒出一个“不爱说话”的 Jev,居然还让这么多开发者上瘾?翻了相关热搜词才发现&#x…

作者头像 李华
网站建设 2026/10/1 6:31:01

Madeira 项目解析:在 iOS 上运行 x86-64 Windows 程序的三层架构实践

1. 从“Madeira”这个名字说起:它到底是什么第一次看到“Madeira”这个词,很多人第一反应是葡萄牙那个盛产葡萄酒的海岛,或者是一杯带着焦糖风味的马德拉酒。但如果你混迹于移动端模拟器、跨平台兼容层或者 iOS 开发圈,这个名字大…

作者头像 李华
网站建设 2026/10/1 6:31:00

Attention与优化器的同构性:KDA与AdamW协同原理

1. 这不是玄学,是工程演进的必然路径:从Attention到KDA、从SGD到AdamW的底层同构性你有没有发现一个现象:当我们在调参时反复纠结“要不要加LayerNorm”“要不要换FlashAttention”“学习率该设0.001还是0.0003”,其实背后藏着一条…

作者头像 李华
网站建设 2026/10/1 6:30:44

paperclip:轻量级AI Agent编排实战,Node.js+React+Qwen2.5-3B

1. 从“paperclip”说起:一个被低估的AI Agent编排思路第一次看到“paperclip”这个词,很多人脑子里蹦出来的可能是那个经典的“回形针助手”——就是早年Office里那个总爱跳出来问“您似乎正在写信,需要帮助吗”的小动画。但在AI Agent的语境…

作者头像 李华
网站建设 2026/10/1 6:29:27

用Markdown+Git打造个人决策复盘系统,把后见之明变成事前判断力

"hindsight"这个词,字面意思是"后见之明",但我把它做成了一套系统——一套专门用来对抗"事后才看明白"这个毛病的个人决策复盘工具。做这个项目之前,我最大的痛点是:明明每天都在做判断、定方案、选…

作者头像 李华
网站建设 2026/10/1 6:28:54

深度学习优化器完全指南:从SGD到AdamW的选型与调参实战

1. 项目概述训练过几轮模型的朋友应该都有体会:同样的网络结构、同样的数据,换一个优化器,收敛速度可能差好几倍,最终精度也往往有明显差距。Model-Optimizer所关注的,正是深度学习训练流程里这个容易被低估、却直接影…

作者头像 李华