MLinstall - USB Installer tool for ML

Started by petabyte, July 18, 2021, 01:14:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

petabyte

Pre-release for 0.9:
Implemented ExFAT card flag writing (for Linux only)
Any testing and feedback is appreciated.

https://github.com/petabyt/mlinstall/releases/tag/0.9

petabyte

Version 0.9.1 has been released.
https://github.com/petabyt/mlinstall/releases/tag/0.9.1
- Improved error messages and handling
- Added bound checks wherever possible
- Added ExFAT support
- Made drive code a lot better

The next release will be the final (and hopefully stable) 0.1.0.

Pelican

EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

petabyte

I wanted to wait a while to see if anybody reports any bugs before I call it "officially stable".
In software 1.0.0 is generally considered to be a stable release.

petabyte

For Mac users, or people who want a simpler version of mlinstall:
Here's a standalone python script to enable bootdisk flag:
https://github.com/petabyt/mlinstall/blob/master/boot.py
Untested.
In order to run:
pip3 install ptpy
python3 boot.py EnableBootDisk

petabyte

Release 0.9.3
Now recommend win32 libusb filter installer over Zadig
https://github.com/petabyt/mlinstall/releases/tag/0.9.3

I spent a while working on a Windows driver for PTP, and finished it, but it's pretty much useless. I wrote it
with Wia (Windows image acquisition), and the win32 API seems to build a tree of all files on the SD card
when the device is opened, which takes around 5 minutes if your card if filled up. Other than that it works perfectly.

petabyte

2023 Update:
I'm currently slowly working on a DLL that will help me interface with PTP devices on Windows natively.
I spent a lot of time writing code that will interface with the ancient WIA driver, but I had to scrap it because it was too slow.
This time, I'm interfacing with WPD (Windows Portable Devices). Like Wia, the driver is completely different compared to something like libusb.
WPD requires sending the command opcode, parameters, and data separately, letting Windows handle transaction IDs, and determining whether the response will have a data phase or not before sending the command.

petabyte

Finished porting mlinstall to camlib/WPD. It's a very early test, still needs some work. It only reads the first device found, so it might try and open a phone or USB drive.
https://github.com/petabyt/mlinstall/releases/tag/0.9.4
This means that eventually there should be no more libusb/zadig/filter nonsense on Windows. Everything should work out of the box. On Linux, it should function the same.

For the 1.0.0 release, hoping to implement shutter count reading, and the ability to update to any firmware version over USB.

petabyte

mlinstall 1.0.0 is finally released.
Github release: https://github.com/petabyt/mlinstall/releases/tag/1.0.0

I knew from the start how painful all the libusb nonsense was, but there was no other option at the time. This release deletes all the PTP/USB backend and replaces it with a library I wrote from scratch.
Native Windows support is now available without any modification to the system drivers. This means you won't install Zadig or libusb if you're on Windows.

iaburn

Sounds great! I'll give it a try later  :D

iaburn

I don't need it very often, but it comes in very handy when I need it  :D Great tool  8)

petabyte

Quote from: iaburn on May 18, 2023, 05:37:22 PMI don't need it very often, but it comes in very handy when I need it  :D Great tool  8)
Thanks. I think for now the entire tool is stable and won't get any more major changes. Next updates will probably be a MacOS port, and maybe localization.
MacOS should be pretty easy, camlib is fairly stable and has been tested on Macs, so it should just be a matter of some makefile tweaks.

petabyte

MLinstall v1.1.0 released: https://github.com/petabyt/mlinstall/releases/tag/1.1.0

Main improvements:
- MacOS port
- Added shutter counter
- Shows the camera's firmware build version
- Switched to native UI (Winforms/GTK3/Cocoa)
- Wording improvements
- misc bug fixes over the past year

Danne

Didn't check this tool yet.
Regarding sandboxing issues on Mac I found quarantine routine working better for most cases.
In terminal:
xattr -cr drag/app/to/terminal
Press enter.