Skip to content

Releases: PiSCSI/piscsi

December 2021 Release

02 Jan 01:01
Compare
Choose a tag to compare

How to update

  • Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
  • Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v21.12.01
./easyinstall.sh

Run option 1 to rebuild and install

General Improvements

  • Web Interface localized into Swedish, German, French
  • Added 'token' based security for client commands to rascsi service (#518)
  • Made compilation work out of the box on 64 bit systems

Hardware Spec Improvements

  • RaSCSI "Zero" design files added (#546)
  • Added design files for loopback tester PCB (#545)

RaSCSI Service

  • Bus setting delay updated to match SCSI standard - Fix incompatibility with Yamaha EX5R (#504)
  • Logging cleanup (#505)
  • Ability to shutdown or restart the Raspberry Pi from the rascsi service. (#515)
  • Recursively scan the image folder (#532)
  • Support for 'token' remote authentication (#570)
  • Localization support (#555)

RaSCSI Web UI

  • Support for creating CD images for non-Macintosh hosts (#519 )
  • Stop submit event if prompt cancel is clicked (#495)
  • Added ability to rename image files (#512)
  • Safer handling of Raspberry Pi shutdown (#522)
  • Unzip zipfiles before storing to ISO, unless they contain MacZip meta data (#525)
  • Warning message added when ejecting media (#526)
  • Message readability enhancements (#531)
  • Added German translation (#585)
  • More sturdy logic for when session language is unset (#583)
  • Added french localization (#584)
  • Added Swedish translation (#581) (#576) (#572) (#571) (#568) (#569) (#567) (#564)
  • Hardcoded locale fallback to English (#582)
  • Add Apple CD Drive as pre-defined drive (#580)
  • Removed invalid CONNER HD config (#565)
  • Recursively scan the image folder (#558 )
  • Added 'token' security for web/rascsi service communication (#554 )
  • Flesh out webapp readme with localization instructions (#578)
  • Resolve pylint warnings for rascsi-web (#579)

OLED Screen

  • Improvements for handling bad venv's (#510) (#513)
  • Code cleanups (#547)
  • Improve token auth and oled monitor install scripts; better venv cleanup logic (#587)
  • Optimized oled script startup and shutdown (#573)

Easyinstall

  • Fixes for HFS formatted drive creation (#388)
  • Install iptables if missing (#506)
  • Removed SPDLOG_FMT_EXTERNAL build flag (#501)
  • Skip git steps in shell scripts if not a valid git repo (#524)

Technical Improvements

New Contributors

Other Contributors

Full log

v21.11.01...v21.12.01

November 2021 Release

29 Nov 02:26
Compare
Choose a tag to compare

How to update

  • Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
  • Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v21.11.01
./easyinstall.sh

Run option 1 to rebuild and install

General Improvements

  • Updated to work with Raspberry Pi OS Bullseye 437
  • Made it possible to run RaSCSI and the Web UI as any user, from any location in a /home subdirectory 384
  • Introduced a new companion app: Macproxy vintage web proxy (it's not just for Macs!)

Hardware Spec Improvements

  • Corrected daisychain board KiCad design files. (Incorrect version was previously committed)

RaSCSI Capabilities

  • Fixed a bug where a Macintosh Plus wouldn't boot with a DaynaPort device attached 419
  • Fixed a bug where the same removable drive image could be inserted into multiple devices is file path was explicitly defined 422
  • Added READ/WRITE LONG (10/16) command 479
  • Modesense10 fix to return correct length 459
  • Fix issues where Inquiry was returning too much data 458

RaSCSI Web UI

  • Optional user authentication feature added 265
  • Web server port number is now configurable 444
  • Added support for mounting SCSI floppy disk drives: Iomega Floptical (Mac), DEC SCSI floppy drive 429
  • The ability to insert a removable drive image from the device table UI
  • Added status indication of Macproxy daemon
  • Allow reservation of IDs in the Web UI, as well as storing of a memo for the reservation 437
  • Scroll to the top of the page and display a message when a long process is initiated 427
  • Show filename in file deletion confirmation dialog boxes 475
  • Improved error reporting when attaching DaynaPort device if network bridge is not configured 407
  • Allow downloading the properties file for a named drive image 393
  • Hide properties file in the zip file browser; when the associated image file is unzipped, automatically unzip and move the properties file to the Web UI config directory so that it takes effect 392

OLED Screen

  • Added support for 64 pixel height OLED screens 439
  • Transliterate non-ASCII characters to ASCII for display on the OLED screen

Easyinstall

  • Introduced Advanced installation options for stand-alone installation and Web UI authentication 438
  • Introduced an option to install Macproxy
  • Allow for multi-threaded make for building rascsi (ex: --cores=4) 452
  • Fixed a bug where a new tarball was created every time you installed Netatalk
  • Enabled any user except root to run the script

Technical Improvements

  • Cleanup to DaynaPort code and logging to make troubleshooting easier
  • Fix bug that broke the IMAGE_FILE_INFO protobuf command 456
  • Fix compiler warnings in RaSCSI code
  • Refactoring and cleanup of Web UI and OLED screen Python code to make it more readable and maintainable
  • Changed location of man pages to /usr/local/man in the Makefile
  • Have the Makefile create the man subdirectory if it doesn't exist, avoiding a potential error while installing

Full Changelog: v21.10.01...v21.11.01

October 2021 Release

30 Oct 03:13
Compare
Choose a tag to compare

How to update

  • Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
  • Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v21.10.01
./easyinstall.sh

Run option 1 to rebuild and install

RaSCSI Capabilities

  • Add Daynaport SCSI/Link Ethernet adapter functionality
  • WLAN support for the Daynaport network adapter
  • Removable media drive support
  • Support for DVD images
  • Support for CD-ROM drives with 512 bytes per sector
  • Support for generic MO drives (not just the Sharp X68000 standard configurations)
  • Support for up to 32 SCSI LUNs (Logical Units)
  • Built-in creating, renaming and copying of image files
  • Configurable device identifier (vendor, product, revision)
  • Configurable sector sizes, depending on the device (256, 512, 1024, 2048, 4096 bytes)
  • Configurable default folder for image files
  • Dynamically configurable reserved device IDs, typically used for the SCSI initiator ID
  • More flexible handling of device capacities
  • Made RaSCSI more tolerant of odd image file sizes, ignoring trailing bytes
  • Device files (/dev/*) can be used as image files
  • Secure shutdown of RaSCSI by detaching all devices before terminating

rasctl Capabilities

  • Several new options added
    • -C FILENAME:FILESIZE Create an image file in the default image folder
    • -D Detach all devices.
    • -E FILENAME Display information on an image file.
    • -F IMAGE_FOLDER Set the default image folder.
    • -I Gets the list of reserved device IDs.
    • -L LOG_LEVEL Set the rascsi log level
    • -h HOST The rascsi host to connect to, default is 'localhost'.
    • -e List all images files in the default image folder.
    • -N Lists all available network interfaces provided that they are up.
    • -O Display the available rascsi server log levels and the current log level.
    • -m List all file extensions recognized by RaSCSI and the device types they map to.
    • -R CURRENT_NAME:NEW_NAME Rename an image file in the default image folder.
    • -p PORT The rascsi port to connect to, default is 6868.
    • -r RESERVED_IDS Comma-separated list of IDs to reserve.
    • -s Display server-side settings like available images or supported device types.
    • -T Display all device types and their properties.
    • -v Display the rascsi server version.
    • -V Display the rasctl version.
    • -X Shut down the rascsi process.
    • -d FILENAME Delete an image file in the default image folder.
    • -x CURRENT_NAME:NEW_NAME Copy an image file in the default image folder.
    • -b BLOCK_SIZE Specify a custom block size for the drive to attach.
    • -n VENDOR:PRODUCT:REVISION The INQUIRY data for the device that is presented to the bus.
  • Options with new functionality
    • -f Now takes parameters for certain device types, f.e. the Daynaport adapter
    • -t Now takes 'rm' for Removable devices, and 'daynaport' for the Ethernet adapter
    • -c Now takes two new commands: u(nprotect) and s(how)
    • -u Now takes unit number up to 31 (previously 0-1)
  • rasctl also runs on an x86 Linux and can connect to the RaSCSI server on the Raspberry Pi
  • Added code for a RASCTL.X native app for the Sharp X68000 (from RaSCSI 1.52 by GIMONS)

RaSCSI Web UI

  • Automatic loading of a default configuration upon startup, eliminating the need to hack rascsi.service for default configurations
  • Flexible Daynaport network adapter configuration
  • Real-time file uploading using the Dropzone library
  • Bumped max size of uploaded files to 4GB from 2GB
  • Validation of file to upload before transferring
  • Drive properties files that store vendor/product and block size information for easy management of bespoke drives
  • A wizard for creating named drive images and properties files, with profiles for UNIX workstations and Macs
  • The ability to select a device type when attaching images that RaSCSI failed to autodetect the type for
  • Support for attaching up to 32 LUNs per SCSI ID
  • Allow non-standard image sizes to be attached, but warn about the file size discrepancy
  • A more informative table of attached devices
  • The ability to display detailed information about attached devices
  • The ability to unzip individual files within a zip archive
  • AppleShare integration for easy downloading of files into a shared directory
  • Made logging level configurable through the Web UI
  • More flexible log viewer in the Web UI
  • Display current RaSCSI version in footer
  • Broadly improved help text, hidden under expandable blocks to reduce clutter
  • Thorough form input validation
  • Preventing destructive actions, such as deleting or overwriting images in use
  • Significantly improved error handling and verbosity of action response messages
  • IPv6 support
  • Mobile style sheet
  • Computer and smartphone favicons
  • Sundry fixes that caused the nginx web server to fail to start in certain environments
  • Bumped several Python library versions

OLED Screen

  • Virtualized Python runtime environment with venv
  • Start script and systemd service configuration
  • Support for displaying more than 4 lines of information, through a scrolling routine
  • Optimized the information shown on screen for better usability
  • Show system IP address and hostname instead of system time
  • Support for configurable screen orientation (0 or 180 degrees)
  • Introduced the Type Writer font by Mandy Smith for improved legibility
  • Startup and shutdown splash screens
  • Graceful shutdown and signal handling
  • Bumped several Python library versions

Easyinstall

  • Merged and streamlined install/update scripts for RaSCSI and the Web UI
  • Better error handling and flexibility running the script in different environment and on local git branches
  • Added install script for the OLED Screen software
  • Added wired and wireless network configuration scripts for the Daynaport network adapter
  • Added a Netatalk installation script for running an AppleShare server in parallel with RaSCSI
  • Command line option '-c' to install STANDARD or FULLSPEC versions
  • Command line option '-r' to pick the run choice number from the menu non-interactively

Technical Improvements

  • Functionality and stability improvements for Atari ST, UNIX workstations, Apple IIGS, etc.
  • Implementation of numerous additional SCSI commands
  • Improved compatibility with the current SCSI standard
  • Client/Server interface based on Google Protocol Buffers, allowing clients to send commands and receive messages from the RaSCSI backend
  • All clients (rasctl, RaSCSI Web UI, OLED monitor) are using the new architecture for greatly expanded functionality and reliability
  • Detailed information on RaSCSI server properties
  • Configurable RaSCSI server port
  • More concise error messages
  • Improved logging and configurable log level
  • Improved command validation and error analysis
  • Fixed issues with Linux-68k
  • Support for 64 bit Raspberry Pi OS and Ubuntu
  • Extensive code cleanup, improved object-oriented approaches
  • 100% translated source code strings and comments
  • Outdated documentation has been updated and moved to wiki (and removed from the repo)
  • Restored the rasdump and sasidump tools for dumping physical SCSI/SASI disk images
  • Deprecated baremetal support

Special thanks

Thank you to all the members of the RaSCSI community. A special thanks to:

  • @erichelgeson - Thank you for reviewing pull requests, creating the initial sd-card configuration and being a general awesome guy
  • @uweseimet - Your updates to the RaSCSI code have made it much more maintainable and understandable
  • @rdmark - The web interface has made tremendous improvements since the last release

New Contributors

Full Changelog: v20.12.0...v21.10.01

May 2021 Release

02 May 18:54
Compare
Choose a tag to compare
  • OLED Display: Updated Python OLED tool to use Python 3
  • RaSCSI: Updated EasyInstall to support branches
  • RaSCSI: Code formatting cleanup
  • Web Interface: Added DaynaPort to Web Interface (not supported by RaSCSI yet)
  • Web Interface: Added ability to load/save configurations