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.
- 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
- Python 3.6 or higher
- Administrator/root privileges (required for device access)
- MIG device connected via USB
-
Clone this repository:
git clone https://github.com/yourusername/migupdater-python.git cd migupdater-python
-
Install required dependencies:
pip install -r requirements.txt
update.s2
- Firmware version 1.2.0
# On macOS/Linux
sudo python3 migupdater_cli.py interactive
# On Windows (Run as Administrator)
python migupdater_cli.py interactive
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
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
- 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
- Run Command Prompt or PowerShell as Administrator
- Use drive letters (e.g.,
E:
) when selecting drives
- Ensure your user has read/write access to the device
- May need to add udev rules for persistent device permissions
Logs are saved to migupdater.log
in the current directory with timestamps and different log levels.
- 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
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Based on the original MIG Updater GUI
- Special thanks to all contributors