Skip to content
mozzwald edited this page Jan 24, 2023 · 16 revisions

Table of Contents

Overview

Occasionally, new versions of the #FujiNet firmware (the software that runs on the #FujiNet device itself) are released. The main #FujiNet website has a page dedicated to the "FujiNet Flasher" tool, located here: https://fujinet.online/download/

How to find out when a new firmware version is available?

Install the USB Driver

Some computers may not detect the FujiNet when it is plugged in. You may need to install the USB to UART driver from [Silicon Labs][https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers] (manufacturer of the chip used in Fujinet). Download and install the appropriate driver for your system.

Installing Firmware with FujiNet Flasher

The FujiNet Flasher tool will download the latest firmware, and upload it to your #FujiNet device.

Note: The flash tool only supports #FujiNet hardware with 8MB PSRAM and 16MB flash for ATARI. Coleco ADAM FujiNet has support for 8MB and 16MB flash.

Windows

Run with administrator privileges

macOS

(Details needed.)

Linux

Run as root, e.g. sudo ./FujiNet-Flasher. Alternatively, add your 'regular' user to the appropriate 'group' on your system. For example, if your #FujiNet, via micro-USB cable, appears on your system as the device /dev/ttyUSB0, check which group the device is part of.

ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Nov 14 11:10 /dev/ttyUSB0

Then, add your account to that group (in the example above, "dialout"):

sudo usermod -a -G dialout USERNAME

To access it immediately (no need to log out and back in) just run, e.g., newgrp dialout.

Now, you should be able to run ./FujiNet-Flasher without switching to root user, or running it under sudo.

Capturing Serial Debug Output

Debugging info from FujiNet can be captured using Fujinet-Flasher. This info may be requested by developers to aid in fixing bugs or troubleshooting hardware problems. These are the steps to capture this information:

  • Connect FujiNet to a computer with a MicroUSB cable
  • Run Fujinet-Flasher and select the the correct port used by Fujinet (ie, COM3 on Windows, /dev/ttyUSB0 on linux)
  • Click the Serial Debug Output button in Fujinet-Flasher
  • Press the RESET button on the FujiNet device (Button C, far right)
  • Debug information will appear in the Fujinet-Flasher window
  • Reproduce your problem with FujiNet then select all (CTRL-A) text in the box and copy it (CTRL-C)
  • Paste the debug output to the developer requesting this information
    • If using AtariAge forum, paste the information into a Spoiler box so the debug output does not fill up the thread
    • Optionally, use a paste site such as Pastebin

Tips for flashing problems

Some people (Bill Kendrick and DrFalken) have found that they could not flash their #FujiNet without holding the "A button" (which is the ESP's 'flash' button) while powering up their #FujiNet. See this "espressif/esptool" bug report comment.

Flashing a custom testing firmware

Sometimes the FujiNet development team may provide a custom firmware file (ZIP) to an end user for testing. This file can be flashed with FujiNet-Flasher from the command line.

Linux

FujiNet-Flasher /path/to/firmware.zip

Windows

FujiNet-Flasher \path\to\firmware.zip

There is a know bug using the manual method in Windows where the flasher returns to the command prompt and no output is seen, but the flash tool is indeed running in the background and working. You can watch the LEDs on FujiNet which should flash at the start and end of the flashing process

MacOS

  1. Right-click on FujiNet-Flasher and select Show Package Contents (Mac applications are actually folders with special properties to the underlying BSD command line).

  2. Double click the Contents and MacOS folders

  3. Drag that executable to your Terminal.app program. That's easier than typing the entire path of the executable in Terminal.

  4. Drag the zip file to the same Terminal window. The argument (with the path to the ZIP file) will be appended to the command line you started by dragging the FujiNet-flasher executable to Terminal.

  5. Now hit Return and the flashing will begin

Creating a custom firmware file

Some users may wish to build their own firmware file for distribution (ie, custom hardware builds, special unsupported features, etc).

  1. Create a new directory for the firmware files to reside and edit a new text file named release.json in that directory.

  2. Edit the release.json file accordingly for your target board. For an 8MB variant board:

{
	"version": "NEW VERSION NUMBER",
	"version_date": "VERSION BUILD DATE/TIME",
	"build_date": "BUILD DATE/TIME",
	"description": "NOTES AND DESCRIPTION OF THE CHANGES",
	"git_commit": "GIT COMMIT HASH",
	"files":
	[
		{
			"filename": "bootloader.bin",
			"offset": "0x1000"
		},
		{
			"filename": "partitions.bin",
			"offset": "0x8000"
		},
		{
			"filename": "firmware.bin",
			"offset": "0x10000"
		},
		{
			"filename": "spiffs.bin",
			"offset": "0x600000"
		}
	]
}

For a 16MB variant board:

{
	"version": "NEW VERSION NUMBER",
	"version_date": "VERSION BUILD DATE/TIME",
	"build_date": "BUILD DATE/TIME",
	"description": "NOTES AND DESCRIPTION OF THE CHANGES",
	"git_commit": "GIT COMMIT HASH",
	"files":
	[
		{
			"filename": "bootloader.bin",
			"offset": "0x1000"
		},
		{
			"filename": "partitions.bin",
			"offset": "0x8000"
		},
		{
			"filename": "firmware.bin",
			"offset": "0x10000"
		},
		{
			"filename": "spiffs.bin",
			"offset": "0x910000"
		}
	]
}
  1. Using PlatformIO and VSCode, build the Firmware and Filesystem images

  2. Copy the firmware files (bootloader.bin, partitions.bin, firmware.bin and spiffs.bin) from fujinet-platformio/.pio/build/(target-platform)/ to the same directory with release.json

  3. Compress the files into a ZIP file and provide it to the end user

Clone this wiki locally