Pinecil Firmware Updater
Application for updating Pine64's Pinecil soldering iron.
- Windows 7 - 10 (64-bit)
I am unable to flash my new Pinecil.
Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Error during special command "MASS_ERASE" get_status
I also attempted to load to with the GD MCU 32 tool, but it was not listing any device available.
Windows 10 Pro using the loaded WinUSB adapter.bug
The dfu-util bundled in the macOS package seems to be broken, referencing a dyld library specific to a development machine.
dyld: Library not loaded: /Users/gamiee/Desktop/libusb-1.0.24/../build/lib/libusb-1.0.0.dylib Referenced from: /Users/acarr/Desktop/pinecil_firmware_updater.app/Contents/MacOS/dfu-util Reason: Incompatible library version: dfu-util requires version 4.0.0 or later, but libusb-1.0.0.dylib provides version 2.0.0 DFU-Util exited with error code 6! Flashing failed.
I found that replacing the bundled dfu-util with one from Homebrew worked a treat, with only one warning appearing immediately after the dfu-util copyright information.
dfu-util: Warning: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
brew install dfu-util
brew info dfu-util, mine was
i have other devices that use com ports and i have to unplug them every time i want to update. it would be nice to have the option to select what com port to use. otherwise it just fails unless you unplug the other stuff.
updated instructions for clarity and reversed steps 3 &4. Current instructions have people release the (-) button too soon as soon as they plug in the usb-c in the back, then wait 10 sec. better to keep holding (-) for a few seconds after plugging in usb-c cable.
Good News: just discovered that this older Updater given to me on Feb 6, 2022 still works perfectly for any language selected https://discord.com/channels/463237927984693259/769635442969542676/939858275367780422
Bad news Only the latest release in Github is crashing in windows for all languages, but custom local installs works with the app.
Other differences I noticed: *working version has 2.16 English as first language. *broken latest version is fetching github list that is not ordered
Are they both fetching from Gitub differently -perhaps handling is possible problem? how did Feb 6 version I got get list since it is definitely in a different order.
tested older linked version at least 10 times now, no crashes at all on any language I select. something changed from that one to new one.
Separately, MarkBigTex tried 2 versions on a MAC today and is getting only white blank screen.duplicate
The zip files (probably also the .DMGs) at https://github.com/pine64/pinecil-firmware-updater/releases are including binaries of dfu-util and zadig (renamed to zadic?) without any license and copyright information. Please see https://www.gnu.org/licenses/gpl-violation.html or read the license and copyright in their sources, i.e. COPYING.enhancement
Does turning on the current limit protect the Pinecil, if it is accidentally connected to 24 volts? I have set my Pinecil current limit to 60 amps and wonder if that will protect it from such accidental damage. Thanks.question
Could someone on your expert team please make a short Youtube video showing exactly how to modify the Pinecil to support 24 volts? I have searched the internet and have not been able to find a clear, explicit explanation. Since making such hardware changes could potentially ruin the Pinecil, it's important to know exactly how to do it. A short, clear video is worth a thousand words and would greatly reduce the chance of errors.
Also, when is Pinecil planning to modify the device design so that they ship with the 24 volt hardware modification?
With this it compiles without any warnings here (gcc 9.3.0).
In file included from flashingthread.cpp:1: flashingthread.h: In constructor ‘FlashingThread::FlashingThread(QObject*, bool, QString, bool)’: flashingthread.h:18:13: warning: ‘FlashingThread::firmwarePath’ will be initialized after [-Wreorder] 18 | QString firmwarePath; | ^~~~~~~~~~~~ flashingthread.h:17:10: warning: ‘bool FlashingThread::massErase’ [-Wreorder] 17 | bool massErase; | ^~~~~~~~~ flashingthread.h:10:5: warning: when initialized here [-Wreorder] 10 | FlashingThread(QObject *parent = nullptr, bool driverMissing = false, QString firmwarePath = "", bool massErase = false) | ^~~~~~~~~~~~~~
At least most of the "magic numbers" and URLs are now in one small file for easy adaptation. Later looking for an ini file (via QSettings) could be considered.
Given that @gamelaster indicated that PR's are welcome, I figured I'd add a simple tutorial on how to get the application to work under LInux, based on the comments in #1. For this I updated the .pro file (so Linux can link to the usb library), added a description in the Readme, and I also added a screenshot of the application working on Linux in my case.
Upon startup, pine64_updater claims there is a new version available and asks the user if they want to go to the download page. On the download page, the latest version is the same as the one the user is running (1.0.3).
A few suggestions, intended to be helpful.
just a suggestion.
Framed Box around the Drop-down list rather than just the blue line under it. it perhaps might be more clear there is a drop-down list to choose from and prevent some confusion. some people do not realize they can click on the word Custom and something will change. but a Box around it is one suggestion.
Thanks to @Ralim , @River-B , Segfault and other folks from community for help and suggestions.Source code(tar.gz)
EDIT 02.17.2021: Re-uploaded Windows version since it had old version set.Source code(tar.gz)
Linux version will be added in v1.2