History: usbd_cd_mst


This page describes all changes made to the usbd_cd_mst package, USB Device Mass Storage Class Driver, since its release.

Version

6.16r2 (2019-10-17, 14:28):

  • Package media_drv_base added to the dependency list in the .info file.

6.16 (2019-09-13, 12:00):

  • Eliminated C++ compiler errors.

6.15 (2019-04+05, 11:33):

  • Double-buffered Rx operation fixed: USB reception occurs in parallel with SCSI media driver access in overlapped (dual buffer) mode.
  • Cleanup, formal changes.

6.14 (2018-11-14, 18:24):

  • Changed sequence of mstd_delete(). Events were deleted while usbd_mst_task was still running (which could wake-up the task).

6.13r2 (2018-08-29, 18:19):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.

6.13 (2018-03-10, 16:26):

  • No operation was possible if using VMST interface without using MST interface.

6.12:

  • Wrong table was returned for SCSI READ TOC/PMA/ATIP command.
  • Refactoring to comply with coding standard rules.

6.11:

  • Compiler warning was eliminated.

6.10:

  • Use of uninitialized buffer was eliminated.

6.9:

  • Operation without RTOS was fixed

6.8:

  • Bug was fixed that occurred if MST device was removed during transfer.

6.7:

  • Fixed compilation issue with the latest psp_template_base package.

6.6:

  • LUN reports "no medium" once after getting enabled and in case the medium was changed between two "Test Unit Ready" requests. This modification was required to force Windows to re-read the LUN if it was disabled/enabled or changed too fast.

6.5:

  • Added support for transfers > 65535 Bytes.

6.4:

  • Added CDROM support.

6.3:

  • VMST buffer handling fixed in reset_buffers().
  • Warnings (using uninitialized variables) removed.

6.2:

  • Operation fixed for systems without an OS.

6.1:

  • Added support to VMST interface.

5.10:

  • Warning removed.

5.9:

  • Do not stall the endpoint if the command failed and there is no data phase (otherwise the status phase was stalled).
  • VER_SCSI_TGT_xx definitions are replaced by VER_USBD_MST_xx.


Original SCSI_TGT history:

   4.4:  

     - comment changed.

   4.3:  

     - scsis_setup_command() could return false value in case of MODE SENSE 10 command.

   4.2:  

     - Boot Device mode supported.

   4.1:  

     - Medium Removal and Start Stop Unit commands are implemented.

   3.7:

     - warning removed.

   3.6:

     - Fix for compliance test case 9. Phase error was indicated instead of "normal" failure.

   3.5:

     - phase error fix.

   3.4:

     - set scsi error in case of unknown command.

   3.3:

     - return success if get_status is not present for the media. Caused error for static medias where get_status is not present.

   3.2:

     - mutex used to protect media driver to be used after scsis_lun_disable().

     - driver cleanup.

   3.1:

     - system could crash if scsi_disable_lun() called multiple times or while SCSI was accessing the media.  

     - internal SCSI driver cleanup.

   3.0:

     - initial release.

5.8:

 - call of oal_task_yield() added to mstd_task().

5.7:

 - Medium Removal and Start Stop Unit commands are implemented  

5.6:  

 - set state to MSTST_NOT_CFG in case of state MSTST_WAIT_CBW while waiting for transfer end and endpoint became invalid.

 - corrected halted bit handling in case of CBW commands.

5.5:

 - changed to allocate only data area required for the transfers using hcc_mem module. This means only MST_BUFFER_SIZE needs to be available (or *2 if MST_OVERLAPPED is enabled).

5.4:

 - fix for mst transfer errors: call usbd_clr_halt() after usbd_set_halt() to make sure the host can clear EP HALT status.

5.3:

 - mst_info structure cleared at initialization.

5.2:

 - mass storage calls scsis_init() and scsis_delete().

5.1:

 - double buffered read fixed; as a consequence read is much faster.

5.0:

 - initial release.