Commit Graph

981 Commits

Author SHA1 Message Date
Daniel Markstedt
4252d46844
Inquire the backend for device capabilities instead of Web UI assumptions (#688)
* Add capabilities to RaCtlCmds.get_device_types() to return the image file support boolean, and list of supported block sizes.

* Inquire rascsi backend about the min block size rather than hard coding values in the web UI.

* Add class methods for getting lists of certain device types.

* Use the new class methods to get lists of device types in the web ui.

* Make use of the new class methods in the oled script.

* Remove now unused constants, and simplify logic in common_settings

* Improve device name mapping to extend the existing dictionary rather than creating a new data structure.

* Use jinja2 sort filters instead of sorting in python code. Removing redundant variables.

* Introduce the get_device_name() utility method which returns the translated name for a device acronym. Use the new method to display device name when attaching devices.

* Fix typo

* Rename Support Device to Periperal Device. General tweaks to UI strings.

* Tweak UI string.

* Fix error.
2022-02-21 09:27:31 -08:00
Daniel Markstedt
01e1aaae3e
Make the support device UI entirely procedurally generated (#686)
* Make the support device UI entirely procedurally generated, removing the special case network device UI flow.

* Clean up helptext.
2022-02-20 09:49:23 -08:00
Uwe Seimet
2beb78727f
Added support for new interfaces syntax (#684)
* Added support for new interfaces syntax

* rasctl output update

* Added operation parameters

* Fixed typo

* Manpage update

* Added deprecation warning

* Moved parser

* Updated parser

* Updated parameter override

* Removed debug code

* Made netmask handling more flexible

* Updated logging

* Logging update

* Logging update

* Comment update

* Removed unused field

* Replaced BOOL by bool

* Moved code

* Logging update

* Removed useless comments

* Added TODZ

* Logging update

* Logging update

* Logging update

* No need to report that an error is an error twice

* Removed duplicate logging

* Updated error handling

* Updated error handling

* Fixed typo

* Removed magic constant

* Fixed 32 bit platform issue

* Signature update

* Fixed message string

* Comment update

* Fixed SCSI command opcode

* Updated StopPrint

* Logging update

* Removed obsolete casts

* Renaming

* Removed duplicate logging

* Updated flushing caches

* Added FlushCache() method

* Reduced visibility

* Reduced visibility

* Reduced visibility

* Code cleanup, removed useless comments

* Removed useless comments

* Updated error handling

* Removed duplicate code

* Manpage update
2022-02-20 18:40:30 +01:00
Daniel Markstedt
2184992ce7
Tentative Web UI for the Printer device. (#676)
* Tentative Web UI for the Printer device.

* timeout must be a positive value

* Change the attach device class method to accept a dict with arbitrary key value pairs of parameters to be passed to the protobuf interface, rather than hard coded ones. Also renames the RaCtlCmds.attach_image() class method to attach_device().

* Make download_to_iso() use the new attach interface.

* Dynamically get the form items for support devices.

* Change the data structure returned by RaCtlCmds.get_device_types() to a dict, which contains the supported parameters and their default values. Leverage this data in the web ui to derive the form fields from the capabilities of rascsi.

* Tweak UI labels.

* Update FileCmds.read_config() to work with the new RaCtlCmds.attach_device() method.

* Check for numeric value.

* Streamline the UI for support devices.

* Handle support devices better by the oled screen.

* Clean up html.

* Dynamically adjust form field size based on data length.
2022-02-19 09:04:14 +01:00
Uwe Seimet
81ca3c0ce8
Added filename placeholder, execute print command as lp, fixed memory leaks (#677)
* Added filename placeholder

* Comment update

* Execute print command as lp user

* Comment update

* Comment update

* Added operaton parameters

* Sort parameter output by name

* Removed assertion

* Revert "Removed assertion"

This reverts commit f9ab582ddc.

* Include cleanup

* Code cleanup

* Updated SCSI reset

* Fixed memory leak

* Revert "Fixed memory leak"

This reverts commit 2dbbdcd192.

* Fixed memory leak

* Fixed memory leak

* Updated operation count check

* Fixed memory leaks

* Delete temporary PbOperationInfo
2022-02-18 12:06:33 -08:00
Uwe Seimet
e13cf1ebb4
Resolved TODO, rascsi guarantees that LUN 0 is always present (#681) 2022-02-18 12:04:07 -08:00
Uwe Seimet
2281a7e53b
Bridge is not yet ready to not subclass Disk (#679) 2022-02-18 12:03:22 -08:00
Uwe Seimet
419dca3c4c
Added support for SCSI printer device (SCLP) (#670)
* Fixed buster compile-time issue

* Host services inherit from ModePageDevice

* Call base class

* Visibility update

* Updated includes

* Updated dispatcher

* Added TODOs

* Logging update

* Code cleanup

* Use namespace instead of class for ScsiDefs

* Renaming

* Cleanup

* Use dispatcher template in order to remove duplicate code

* Updated all dispatchers

* Clean up commands

* Removed duplicate code

* Removed duplicate code

* Updated template definition

* Fixed typo

* Fixed warning

* Code cleanup

* Device list must be static

* Cleanup

* Logging update

* Added comments

* Cleanup

* Base class update

* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice

* Updated includes

* Fixed compile-time issue on the Pi

* Header file cleanup

* Interface cleanup

* Removed wrong override

* include file cleanup

* Removed obsolete usage of streams

* Removed more stream usages

* Stream usage cleanup

* Include cleanup

* Renaming

* Include cleanup

* Interface update

* SCLP device skeleton

* Initial RELEASE/RESERVE UNIT

* Added full set of commands

* Extracted command phase code

* Stripped SCSI controller code

* Removed unused code

* Commented out code

* Initial naive implementation

* Added debug output

* Disable printing for now

* Updated file handling

* Updated DataOut()

* Added comment

* Updated assertion

* Comment update

* Updated assertion

* Code cleanup

* Reset bytes to transfer

* Reverted change

* Refactoring

* Moved assertion

* Updated ReceiveBytes()

* Removed override

* Added interface

* Code cleanup

* Updated TEST UNIT READY

* Added flag for byte-oriented transfer

* Updated TEST UNIT READY

* Length handling update

* Updated bytecount handling

* Fixed warning

* Added TODO

* Updated assertion

* Enabled priting

* Updated error handling

* Code cleanup

* Logging update

* First working version

* Use temporary file

* Logging update

* Handle parameters

* Updated format string

* Updated logging

* File handling update

* Code cleanup

* Fixed buffer size

* Updated file handling

* Manpage update

* Initial reservation handling

* Updated reservation handling

* Initial reservation testing

* Remember initiator ID

* Extract initiator ID

* Updated SCSI initiator ID handling

* Logging update

* Added reservation timeout

* Updated timeout handling

* Code cleanup

* Only pass initiator ID to *SCSI* controller

* Added comments

* Added comment

* Implemented STOP PRINT

* Comment update

* Comment update

* Comment update

* Added comment

* Comment update

* Removed useless comments

* Updated printer parameter handling

* Updated parameter handling

* Manpage update

* Manpage update

* Comment update

* Default printer product name update

* Renaming

* Updated logging

* Logging update

* Logging update

* Comment update

* Code cleanup

* Added printer shortcut

* Comment update

* Comment update

* Output formatting update

* Updated error handling

* Code cleanup

* More cleanup

* Revert "More cleanup"

This reverts commit 05708986ee.

* Output formatting update

* Output format update

* Sort parameters

* Comment update

* Improved parsing of parameters

* Manpage update

* Updated SCSI level

* Removed magic constants

* Removed magic constant

* Template update

* Template usage update

* Get rid of SASIDEV for printer

* Get rid of SASIDEV for host services

* Moved initiator_id field

* Moved field

* Moved field

* Added comment

* Error handling must use effective LUN

* Removed obsolete casts

* Removed unused method declarations

* Comment update

* Code cleanup

* More code cleanup

* Optimization

* Removed duplicate code

* Logging update

* Fixed warning

* Code cleanup

* Added TODOs

* TODO update

* Backwards compatibility update

* Comment update
2022-02-16 20:04:42 -06:00
Uwe Seimet
511c55a720
Added work-around for the Atari Daynaport driver (#665) 2022-02-15 18:13:22 -08:00
Daniel Markstedt
b3bdd07fa7
Web UI and OLED: adding Support Devices (#666)
* Use the comparison operator that Python3 likes.

* Add SUPPORT_DEVICE_TYPES category, and add Host Service to it.

* Add webapp UI for attaching a support device.

* Make the OLED screen aware of the support device type.

* Tweak test to make it clear that this is experimental functionality.

* Tweak device type names
2022-02-15 13:06:27 +01:00
Daniel Markstedt
46d23a0d5d
Proper cleanup of old python protobuf libraries. (#667) 2022-02-14 15:30:33 -08:00
Uwe Seimet
45cd5e58d1
Inheritance hierarchy improvements, reduced dependencies to Disk class (#662)
* Fixed buster compile-time issue

* Host services inherit from ModePageDevice

* Call base class

* Visibility update

* Updated includes

* Updated dispatcher

* Added TODOs

* Logging update

* Code cleanup

* Use namespace instead of class for ScsiDefs

* Renaming

* Cleanup

* Use dispatcher template in order to remove duplicate code

* Updated all dispatchers

* Clean up commands

* Removed duplicate code

* Removed duplicate code

* Updated template definition

* Fixed typo

* Fixed warning

* Code cleanup

* Device list must be static

* Cleanup

* Logging update

* Added comments

* Cleanup

* Base class update

* SCSIBR is not a subclass of Disk anymore, but of PrimaryDevice

* Updated includes

* Fixed compile-time issue on the Pi

* Header file cleanup

* Interface cleanup

* Removed wrong override

* include file cleanup

* Removed obsolete usage of streams

* Removed more stream usages

* Stream usage cleanup

* Include cleanup

* Renaming

* Include cleanup

* Interface update
2022-02-13 13:30:02 -06:00
Daniel Markstedt
25b9b4ada2
Further improve the dynamic device info web UI (#657)
* Improve the device type selection UI

* Extend the image_files data structure with human readable device name, instead of having complex for loops in the jinja2 template.

* Leverage device type constants in the OLED monitor script

* Fix typo

* Generate the list of valid network devices that can be attached programmatically

* Fix typo
2022-02-13 10:28:50 -06:00
n4al
f96ade9149
Updating the README to reflect the new file system layout (#658)
* Updating the README to reflect the new file system layout (and dependencies)

* Compressing two environment variables into a single one

* Adding named arguments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-11 16:29:48 -08:00
Uwe Seimet
5622694701
Host services (SCHS) with realtime clock and shutdown, improved device inheritance (#647)
* Initial RTC skeleton

* Added device info

* Added TEST UNIT READY

* Fixed command dispatcher

* First untested naive implementation

* Comment update

* Code cleanup

* More code cleanup

* Updated date/time encoding

* Updated versioning

* Use standard RaSCSI INQUIRY version for SCRT device

* Manpage update

* Added shortcut for SCRT type

* Added support for rtc "filename"

* RTC supports LUNs > 0

* Fixed LUN count

* Renaming

* Renaming

* Manpage update

* Initial naive implementation

* SCRA is removable

* Updated command list

* Added controller field

* Shut down works, bus free phase is not yet entered

* Clear caches on shutdown

* Expose BusFree()

* Moved code

* Logging update

* Moved code

* Moved code

* Added comment

* Logging update

* Code cleanup

* Service device is not removable anymore (was only needed for testing)

* Manpage update

* Added comment

* Comment update

* Version update

* Renaming

* Comment update

* Comment update

* Renaming

* Fixed typo

* Added convenience method

* Property handling optimization

* Code cleanup

* Code cleanup

* Code cleanup, introduced base class

* Added TODO

* More code cleanup

* Removed unnecessary assignments

* Moved code

* Removed forward declaration

* Added base class

* INclude cleanup

* Moved scsi_command enum

* Fixed warnings

* Addressing circular dependencies

* Removed duplicate enum

* include file cleanup

* Include cleanup

* Reduced dependencies to Disk class (replaced by Device), fixed TODO

* Include cleanup

* PrimaryDevice implements ReportLuns

* Inheritance update

* Removed duplicate code

* Moved code to base class

* Cleanup

* Removed duplicate field

* Updated command dispatchign

* Comment update

* Moved code

* Updated method visibilities

* Moved MODE SENSE/MODE SELECT base code
2022-02-10 12:54:48 -06:00
Daniel Markstedt
91cc0e836a
Create a mapping of human-readable and internationalized device names. Use this in the image file management UI instead of the internal acronyms. Also remove the hard-coded helptext for device types. (#655) 2022-02-07 18:48:55 -06:00
Daniel Markstedt
5c0d6fc7e9
Make the network adapter UI in the web interface able to choose LUN and device type. (#653) 2022-02-07 18:47:21 -06:00
Uwe Seimet
0a55680a50
Fixed segfault (#654) 2022-02-07 16:11:44 -08:00
Tony Kuker
6b7673e641 Merge tag 'v22.02.01'
RaSCSI version 22.02.01
2022-02-06 20:01:16 +00:00
Tony Kuker
c80e010196 Update version for next development version 2022-02-06 20:00:48 +00:00
Tony Kuker
87865d2f38 Update revision number for release 2022-02-06 19:57:43 +00:00
Uwe Seimet
9d0d78a643
Flush the cache on STOP UNIT (#644) 2022-02-06 13:44:28 -06:00
Uwe Seimet
36cadd78fc
Flush the RaSCSI write cache on SYNCHRONIZE CACHE (#645) 2022-02-06 13:43:50 -06:00
Daniel Markstedt
afb23586d0
Fix typo in the Netatalk install script (#643) 2022-02-06 10:30:06 +01:00
Uwe Seimet
d9b4e1fc1f
Support ICD (Atari ACSI) command semantics (#640)
* Initial ICD support

* Comment update

* Comment update

* Comment update

* Update README.md
2022-02-04 19:45:10 -06:00
Daniel Markstedt
38f8191a45
Try to prevent frequent sudo timeout after compiling rascsi (#636)
* Try to prevent frequent sudo timeout after compiling rascsi

* Fix typo
2022-02-03 19:40:15 -06:00
Daniel Markstedt
7c1020a40b
Use Netatalk 2.x v220101 (#631)
* Use Netatalk 2.x v220101

* Correct removal of existing copy

* Add missing libavahi-client-dev

* Improve cleanup of previous Netatalk installation

* Print out systemd status after starting the services

* Add CUPS installation
2022-02-03 19:39:25 -06:00
Daniel Markstedt
2a47924a74
Revert workaround for Netatalk long file name bug, since the bug was fixed in Netatalk itself. (#629) 2022-02-03 19:37:58 -06:00
Uwe Seimet
cb2553a9eb
Permit LUNs > 0 for SCDP and SCBR (#641) 2022-02-03 19:37:31 -06:00
Uwe Seimet
ed46262cca
Added configurable network interface name support to rascsi (#635)
* Added support for explicit network interface name to rascsi

* Fixed patch_version for development build
2022-02-01 20:52:49 -08:00
n4al
0e6e710e52
Updating README.md to reflect the project file structure (#633)
* Updating README.md to reflect the changes made to the project file structure

* Added corrections as per comments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-01 20:51:51 -08:00
n4al
651aa456bd
Adding headers to Spanish version of messages.po (#634)
* Adding headers to Spanish version of messages.po

* Added corrections as per comments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-01-31 10:29:54 -08:00
Benjamin Zeiss
c200b327e3
removed python typing for debian buster compatibility. (#632) 2022-01-30 19:15:35 -08:00
Daniel Markstedt
d58d86342f
Improve Swedish wordings (#627) 2022-01-30 09:45:01 -08:00
Daniel Markstedt
83ad97e577
Use Locale class methods to get the localized language name for display (#628) 2022-01-29 14:22:39 -08:00
n4al
fc615b5335
Correcting one fuzzy translation in Spanish (#626)
* Correcting one fuzzy translation

* Removing 'fuzzy'
2022-01-29 12:12:45 -08:00
Benjamin Zeiss
ffb0aa61b4
fix for #621. (#624) 2022-01-29 11:06:10 -08:00
Benjamin Zeiss
4536666544
return code mapper gettext extract fix (#622)
* fix for the wrong extraction of the return_code line.

* second try for the wrong extraction of the return_code line.
2022-01-29 09:42:16 -08:00
Daniel Markstedt
31309a8ee3
Make the default config load on rascsi-web startup without having to load it in a browser. (#620) 2022-01-29 09:41:39 -08:00
Benjamin Zeiss
089dc302e5
restructuring towards python client library #455 (#613)
* python client library clean branch for PR. #455

* removed superfluous file. #455

* removed one more superfluous file. #455

* README.md, .pylintrc and pylint based fixes. #455

* updated wrt. to the review comments. #455

* removed pylint documentation duplication. #455
2022-01-21 15:08:29 -08:00
Uwe Seimet
7f362c9308
MODE SENSE: Fixed wrong ALLOCATION LENGTH handling (#617)
* Log PCF

* Code cleanup

* Logging update

* Updated error handling

* Updated setting of MODE SENSE return data size

* Added comments

* Removed useless assertions

* Updated logging

* Comment update

* Updated logging

* Formatting update

* Comment update
2022-01-20 09:04:59 -06:00
akuker
b7db82ab71
Delete old, broken RaSCSI revision (#616) 2022-01-16 21:42:42 -08:00
akuker
2784a02c9e
Generate PDF of schematic (#615) 2022-01-16 21:42:08 -08:00
Benjamin Zeiss
03e7007d3a
Missing oled systemd file caused the service installed/running detection to fail. (#612) 2022-01-16 21:11:21 -08:00
Daniel Markstedt
423ba573cd
Fix a few malformed gettext calls (#609) 2022-01-14 22:58:32 -06:00
akuker
78a9bcd2df
Updated Github Sponsors (#608) 2022-01-14 20:34:46 -08:00
Daniel Markstedt
89fae8fdd5
Bumps pillow from 8.4.0 to 9.0.0. As recommended by dependabot. (#607) 2022-01-14 09:47:57 -06:00
Benjamin Zeiss
dd830c2cbc
Merge pull request #601 from akuker/bzeiss_restructure_project_folders
Restructure project folders for python #455
2022-01-10 20:07:33 +01:00
Benjamin Zeiss
17497cf1fe clean squashed restructuring branch. #455 2022-01-09 20:22:19 +01:00
akuker
b52abbfdc7
Output higher-level report from scsimon (#596)
* Output JSON file for post-processing

* Debug utility for parsing the SCSI data

* Prototype app for parsing scsi captures

* correct arg parsing

* output html

* Cleanupt html output

* Add missing include

* Allow compilation on non-Linux platforms

* Refactored scsimon to be in multiple files

* Refactored away

* Restructured scsimon into smaller pieces

* Added ability to read in pre-generated .json file and re-parse it

* Delete scsiparse.cpp

* Fix argument parsing and code cleanup

* Ran vscode c++ formatting utility

* Restore the -Wno-psabi flag for Linux only

* Address compiler warnings

* Updated to use C++ style ostreams

* Cleanup conversion to c++ style ostreams

* Updated to use ofstream instead of fprintf

* Delete src/raspberrypi/scsimon directory

Co-authored-by: akuker <akuker@gmail.com>
2022-01-07 12:17:44 -06:00