Brother Printer Firmware Update Tool
Script to update the firmware of some Brother printers (e.g. MFC).
Idea:
Brother provides drivers etc. for Linux but when you want to update the firmware of your printer, Brother only provides ugly programs for Windows or Mac OS. I think, you should do firmware upgrades from time to time, because the supported printers have advanced network functionality, like SNMP, HTTP Web Management UI, and much more. Some of them can be connected with Ethernet and some of them with WiFi. The more features a system has, the greater is the risk of bugs.
You could try to use the official tools. You could try to run the Windows EXE in Wine for example. First it seemed to work, but then it crashed - like almost always I tried to run programs in wine. You could also extract the jar from the Mac OS DMG as described here. But unfortunately this tool didn't find my printer and I had no chance to debug the problems as it didn't give me any hint, what it is trying to do.
Then I found blog posts like this, that described a way to update the firmware with only standard Linux tools. I tried it and it worked :tada:
To make it a bit easier, I wrote this simple script.
See also
- https://github.com/CauldronDevelopmentLLC/oh-brother
- https://cbompart.wordpress.com/2014/05/26/brother-printer-firmware-part-2/
What the script does:
- Optional (if no IP is given): Discover the printer using MDNS
- Get printer info (like model name, firmware versions, etc.) with SNMP (v2c)
- Query the firmware download URL from Brother API server
- Download the firmware
- Upload the firmware to the printer over port 9100 (PDL-Datastream / jetdirect)
Note: Make sure the required protocols are enabled in the printer settings
Tested with:
- DCP-9020CDW
- DCP-9022CDW
- HL-5370DW
- MFC-9142CDN
- MFC-9332CDW
- MFC-L3750CDW
Usage
A: Run package using pipx:
pipx run brother-printer-fwupd
B: Install package using pip:
pip install --user --upgrade brother-printer-fwupd
If this does not work, try pip install --user --upgrade brother_printer_fwupd.
C: Development installation:
- Clone the repo
- Install system dependencies:
libxslt-dev,libxml2-dev uv sync --all-extrasuv run brother-printer-fwupd --helpuv run brother-printer-fwupd-autodiscover --helpuv run brother-printer-fwupd-snmp-info --help
Use at your own risk!™
Contributions welcome.
Unit tests
uv run tox
License
Metadata
Release files for brother_printer_fwupd 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| brother_printer_fwupd-0.8.0.tar.gz | 29.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| brother_printer_fwupd-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.7 kB
Release files / brother_printer_fwupd-0.8.0.tar.gz
| Download URL | brother_printer_fwupd-0.8.0.tar.gz |
|---|---|
| Size | 29.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02730520e97c46d02d17e8063681fa0c81431d5f48ecacd8af5319bd28a16fe6
|
|
BLAKE2b-256 checksum How to use checksums |
0f9a4d415f189b8d524738b25d9d86c51b377e85989c4e38c9c614ddf73b4938
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.5
|
Release files / brother_printer_fwupd-0.8.0-py3-none-any.whl
| Download URL | brother_printer_fwupd-0.8.0-py3-none-any.whl |
|---|---|
| Size | 32.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e17ac1a96defb5862d5beea137dc658e09b7b461af334d22044d5b12cd8cb3bc
|
|
BLAKE2b-256 checksum How to use checksums |
f7ee6e2d849bada002c97181c6a32a1c3e2d2ba2a7f77d11030ec103565657b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.5
|