Skip to content

moderniselife/migupdater_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIG Updater CLI

A command-line interface for updating firmware on MIG (Memory Interface Generator) devices. This tool replaces the original GUI-based MIG Updater with a more scriptable and automation-friendly interface.

Features

  • Cross-platform support (Windows, macOS, Linux)
  • List available MIG devices
  • Check current firmware version
  • Update firmware to a newer version
  • Interactive mode for easy use
  • Persistent drive selection
  • Detailed logging

Requirements

  • Python 3.6 or higher
  • Administrator/root privileges (required for device access)
  • MIG device connected via USB

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/migupdater-python.git
    cd migupdater-python
  2. Install required dependencies:

    pip install -r requirements.txt

Included Firmware

  • update.s2 - Firmware version 1.2.0

Usage

Interactive Mode

# On macOS/Linux
sudo python3 migupdater_cli.py interactive

# On Windows (Run as Administrator)
python migupdater_cli.py interactive

Command Line Options

usage: migupdater_cli.py [-h] [--list] [--select SELECT] [--check] [--update UPDATE] [--version] [--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]

MIG Updater - Command Line Interface

options:
  -h, --help            show this help message and exit
  --list, -l            List all available drives
  --select SELECT, -s SELECT
                        Select drive by number
  --check, -c           Check firmware version on selected drive
  --update UPDATE, -u UPDATE
                        Update firmware using the specified file
  --version, -v         Show version information
  --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        Set the logging level

Examples

List available drives:

sudo python3 migupdater_cli.py --list

Select a drive by number:

sudo python3 migupdater_cli.py --select 0

Check current firmware version:

sudo python3 migupdater_cli.py --check

Update firmware:

sudo python3 migupdater_cli.py --update update.s2

Platform-Specific Notes

macOS

  • The tool will automatically detect and use the raw device path (e.g., /dev/rdisk4)
  • Automatic unmounting of volumes before firmware update
  • May require full disk access in System Preferences > Security & Privacy > Privacy > Full Disk Access

Windows

  • Run Command Prompt or PowerShell as Administrator
  • Use drive letters (e.g., E:) when selecting drives

Linux

  • Ensure your user has read/write access to the device
  • May need to add udev rules for persistent device permissions

Logging

Logs are saved to migupdater.log in the current directory with timestamps and different log levels.

Troubleshooting

  • Permission denied errors: Make sure to run with administrator/root privileges
  • Device not found: Try unplugging and replugging the device
  • Update fails: Ensure the device is not in use by other applications
  • macOS security prompts: Grant full disk access to your terminal app in System Preferences

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Based on the original MIG Updater GUI
  • Special thanks to all contributors

About

All the MiG Team Provided Updaters - SUCK... This one works.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages