CauldronDevelopmentLLC / oh-brother

A simple cross-platform utility written in Python which can update Brother printer firmwares
GNU General Public License v2.0
102 stars 21 forks source link

Oh Brother!

Oh Brother! is a simple cross-platform utility written in Python which can update Brother printer firmwares. It was born out of frustration with Brother for not providing a tool which works in Linux. This tool should work on any platform that has Python 3 with python-pysnmp4 and python-pyasn1.

I found information on how to do this here and here.

Disclaimer

I hope people find this project useful but I am not getting paid for it. If you want to support this project, please donate. If you think Brother should support this project please tell them so. Read the license for the full disclaimer.

Install prerequisites

On Debian-based distributions (e.g. Debian/Mint/Ubuntu)

sudo apt-get install -y python3-pysnmp4

On RedHat-based distributions (e.g. Fedora/CentOS)

sudo yum install python-pysnmp

On OSX or Windows with Python installer (PIP)

pip install pysnmp

What it does

Currently the script does the following:

How to use it

You need to know both the IP address of your printer, and the admin password if uploading firmware via FTP. Run the script and press Enter after each firmware has completed updating.

./oh-brother.py <ip address of printer>

If it doesn't work for you

YMMV.

In order to send firmware updates via TCP port 9100, "Raw Port" must be enabled in the printer's management interface. In order to send firmware updates via FTP, you must have first set an admin password on the printer via the web interface.

Use --category

Try specifying --category on the command line. E.g.:

./oh-brother.py --category MAIN <printer IP>

This will force the script to update a specific firmware regardless of the version you currently have.

Submit a PR

Please feel free to submit a pull-request.

Other options

An alternate bash script for firmware download can be found here.