Skip to content

A simple cross-platform utility written in Python which can update Brother printer firmwares

License

Notifications You must be signed in to change notification settings

CauldronDevelopmentLLC/oh-brother

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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:

  • Query the printer's information via the SNMP protocol.
  • Print SNMP info to screen.
  • For each firmware type:
    • Query Brother servers for the latest firmware.
    • Download the firmware from Brother.
    • Display firmware info, then ask user whether to proceed with updating.
    • Upload the firmware to the printer via either TCP port 9100 (passwordless) or FTP (with admin password).
    • Wait for user to signal that the update is done.

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.

About

A simple cross-platform utility written in Python which can update Brother printer firmwares

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages