Difference between revisions of "Pinecil Firmware"

From PINE64
Jump to navigation Jump to search
(Created page with "== Firmware == {{Hint|Pinecil is designed to use '''only 1 power port''' at any time. Only the USB-C cable should be plugged in during firmware updates. Never attempt to use both rear ports at the same time or the PC and Pinecil will be damaged.}} === Overview === The firmware that comes with the Pinecil is [https://ralim.github.io/IronOS/ open source Ralim's IronOS]. It's a good idea to check for updates regularly as development is very active and there may be enhanceme...")
 
Line 47: Line 47:
# Try holding down the <code>[-]</code> the whole time (don't release) - if you had to do this, let Gamiee know in the GitHub Blisp [https://github.com/pine64/blisp/issues Issues ticket here].
# Try holding down the <code>[-]</code> the whole time (don't release) - if you had to do this, let Gamiee know in the GitHub Blisp [https://github.com/pine64/blisp/issues Issues ticket here].
# Blisp flashers are from Gamiee's open source [https://github.com/pine64/blisp Blisp code here]. It is only an updater for the BL706 MCU on the Pinecil V2. It is separate from the firmware files needed which are in located in GitHub Ralim's IronOS. The firmware contains all the menus, functions, and languages, and the flasher is the tool to push the firmware onto the MCU chip (the brain). Different MCU's need different flasher tools.
# Blisp flashers are from Gamiee's open source [https://github.com/pine64/blisp Blisp code here]. It is only an updater for the BL706 MCU on the Pinecil V2. It is separate from the firmware files needed which are in located in GitHub Ralim's IronOS. The firmware contains all the menus, functions, and languages, and the flasher is the tool to push the firmware onto the MCU chip (the brain). Different MCU's need different flasher tools.
# Build the Flasher from Code: if there is a problem with the flasher, or you have a different Linux architecture like ARM, you could also build blisp from code. See directions at [https://github.com/pine64/blisp/wiki/Update-Pinecil-V2 GitHub Blisp Wiki page].
# If you have issues completing the update, try joining the live [[#Live_Community_Chat| Pinecil community chat]] to get tips from volunteers.
# If you have issues completing the update, try joining the live [[#Live_Community_Chat| Pinecil community chat]] to get tips from volunteers.
# If there was any special work-around you had to do to get the Blisp Flasher to work, or could not get it to work at all, post an [https://github.com/pine64/blisp/issues Issue in Github Blisp].
# If there was any special work-around you had to do to get the Blisp Flasher to work, or could not get it to work at all, post an [https://github.com/pine64/blisp/issues Issue in Github Blisp].
# If you are running Windows in a virtual machine and the process fails, make sure you have ''Microsoft Visual C++ 2015-2022'' installed.
# If you are running Windows in a virtual machine and the process fails, make sure you have ''Microsoft Visual C++ 2015-2022'' installed.
# All firmware releases and betas are located in the GitHub [https://github.com/Ralim/IronOS Ralim's IronOS here]. If you would like to add enhancements/features to the IronOS (firmware that runs the Pinecil) or have an issue, please look at the GitHub documents or submit an issue ticket. It is recommended to read through all the GitHub [https://ralim.github.io/IronOS/ IronOS documents] first as they may have the answers. Screen menus and troubleshooting is documented as well on IronOS and maintained by volunteers.
# All firmware releases and betas are located in the GitHub [https://github.com/Ralim/IronOS Ralim's IronOS here]. If you would like to add enhancements/features to the IronOS (firmware that runs the Pinecil) or have an issue, please look at the GitHub documents or submit an issue ticket. It is recommended to read through all the GitHub [https://ralim.github.io/IronOS/ IronOS documents] first as they may have the answers. Screen menus and troubleshooting is documented as well on IronOS and maintained by volunteers.
=== Build the Blisp Flasher from Code ===
# If there is a problem with the flasher, or you have a different Linux architecture like ARM, the Blisp can be built from code.
# See directions at [https://github.com/pine64/blisp/wiki/Update-Pinecil-V2 GitHub Blisp Wiki page].


=== Update Pinecil V1 ===
=== Update Pinecil V1 ===

Revision as of 01:40, 18 February 2023

Firmware

Pinecil is designed to use only 1 power port at any time. Only the USB-C cable should be plugged in during firmware updates. Never attempt to use both rear ports at the same time or the PC and Pinecil will be damaged.

Overview

The firmware that comes with the Pinecil is open source Ralim's IronOS. It's a good idea to check for updates regularly as development is very active and there may be enhancements or bug fixes.

  • Long hold down [-] to see the version

The V1 and V2 use different flasher software & firmware files because they have different MCU chips and features.

Flash Mode

Both V1 and V2 connect to the PC/laptop and enter the Flash mode the same way for updating purposes:

  1. Long hold the [-] button before plugging the USB-C cable into the back of the Pinecil. Keep holding down the [-] for ~15 seconds after plugging in the cable, then release the button.
  2. Screen should be black/empty which means pinecil is in Flashing Mode. If you have issues, try again, do not plug the USB-C cable into Pinecil until you first press & hold the [-] button. Flip the cable over or try another port or another PC if you still have issues.
  3. Use one of the flasher methods below depending on the OS you have to flash new firmware updates (older V1 instructions are lower down here).

Update V2: Windows

  1. For V2, download the CLI Windows Blisp Flasher here, go to Releases on the right side to get the latest zip file. The main page has some background info.
  2. Extract the Blisp zip. Run Windows PowerShell as administrator, cd to the Blisp folder (Powershell download here if needed)
  3. Download the latest stable Pinecilv2.zip release. Scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip.
  4. Extract the zip file and put Pinecilv2_EN.bin (for English) file into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
    • If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed.
  5. Connect the V2 to the PC and enter Flash mode, see ( Flash Mode above). If you are curious, it will connect as a Serial COM device in Device Manager.
  6. cd to the Blisp folder, and execute this line (replace the EN file name with any language bin file selected).
    • .\blisp.exe write -c bl70x --reset .\Pinecilv2_EN.bin
  7. After a successful update, re-plug to reboot it, then hold down [-] for ~3 seconds to see the new version.
  8. See troubleshooting down below if it does not flash.
Note: To test the beta BLE Bluetooth website, see Instructions here. Then pair to the beta BLE website here. There are multiple BLE apps listed in Development Projects

Update V2: Linux/Mac

  1. For V2, download the CLI Blisp Flasher from Github, go to Releases on the right side to get the latest zip file for Linux or Mac. The main page has background info and there are instructions if you want to build it from code instead of using the pre-made executable.
  2. Extract the Blisp zip, and using a terminal, cd to the blisp folder.
  3. Download the latest stable Pinecilv2.zip release (scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip).
  4. Extract the zip file and put Pinecilv2_EN.bin (for English) into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
    • If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed. Select the appropriate two-letter code for your language.
  5. Connect the V2 to the PC and enter Flash mode, see ( Flash Mode above). It will connect as a serial ttyACM USB ACM type device.
  6. cd to the Blisp folder and execute:
    • sudo ./blisp write -c bl70x --reset Pinecilv2_EN.bin
  7. After a successful update, re-plug to reboot it, then hold down [-] for ~3 seconds to see the new version.
  8. See troubleshooting down below if it does not flash.
Note: To test the beta BLE Bluetooth website, see Instructions here. Then pair to the beta BLE website here. There are multiple BLE apps listed in Development Projects

Troubleshooting V2 Flashing

  1. Often, updating issues are related to the USB cable, or the port on the PC does not support a connection to Pinecil, try:
    • flipping the cable over, different cables. Try both use-C to C cables and also USB-C to usb-A cables (your cable may be power-only and not able to do firmware data transfers). All working usb-C to usb-C cables can do data transfer but some usb-A cables can only do power and will not work for firmware updates because they can not do data transfers.
    • Try other ports on the PC/laptop, or a different machine. There have been issues with some laptop USB-C ports not negotiating correctly, but the flashing worked on the USB-A port. Try a different OS if you can access one, some people who had issues on Linux for example were able to flash on Windows. Note that some virtual environments might have an issue with flashing to USB ports.
    • Don't use a hub, connect directly to a port, ports on the back of a PC may sometimes be better as they are directly connected to the motherboard.
  2. Try holding down the [-] the whole time (don't release) - if you had to do this, let Gamiee know in the GitHub Blisp Issues ticket here.
  3. Blisp flashers are from Gamiee's open source Blisp code here. It is only an updater for the BL706 MCU on the Pinecil V2. It is separate from the firmware files needed which are in located in GitHub Ralim's IronOS. The firmware contains all the menus, functions, and languages, and the flasher is the tool to push the firmware onto the MCU chip (the brain). Different MCU's need different flasher tools.
  4. If you have issues completing the update, try joining the live Pinecil community chat to get tips from volunteers.
  5. If there was any special work-around you had to do to get the Blisp Flasher to work, or could not get it to work at all, post an Issue in Github Blisp.
  6. If you are running Windows in a virtual machine and the process fails, make sure you have Microsoft Visual C++ 2015-2022 installed.
  7. All firmware releases and betas are located in the GitHub Ralim's IronOS here. If you would like to add enhancements/features to the IronOS (firmware that runs the Pinecil) or have an issue, please look at the GitHub documents or submit an issue ticket. It is recommended to read through all the GitHub IronOS documents first as they may have the answers. Screen menus and troubleshooting is documented as well on IronOS and maintained by volunteers.

Build the Blisp Flasher from Code

  1. If there is a problem with the flasher, or you have a different Linux architecture like ARM, the Blisp can be built from code.
  2. See directions at GitHub Blisp Wiki page.

Update Pinecil V1

Connecting a V1 or a V2 to a laptop or PC for Flashing/Updating is the same method, but the Flasher used is different because they have a different MCU and capabilities.

  1. Long hold the [-] button before plugging the USB-C cable in. Keep holding down the [-] for ~15 seconds after plugging in the cable, then release the button.
  2. Screen should be black/empty which means you are in Flashing Mode. If you have issues, try again, do not plug the USB-C cable into Pinecil until you first press & hold the [-] button. Flip the cable over or try another port if you have issues.
  3. Pinecil is designed to use only 1 port at a time. Only the USB-C cable should be plugged in during Updates. Never attempt to use both rear ports at the same time or your PC and/or Pinecil could be damaged.
  4. See the version installed by holding down [-] for 3 seconds.
  • V1 Windowsor Mac
  1. For V1, follow these instructions on GitHub and download the Easy Gui Updater
  • V1 Linux
  1. For V1, download Pineflash GUI for Linux or Mac
  2. Or could use a command line DFU per IronOS instructions

General Firmware Details

  • One advantage of Pinecil (V1/V2) over other irons (i.e., Miniware) is you can not really brick them since Pinecil's bootloader is in rom. If there is a problem, just flash the firmware again or a different version. This empowers people to experiment and do forks of the main IronOS firmware without as much risk.