This page describes all changes made to the usbd_cd_mst package, USB Device Mass Storage Class Driver, since its release.
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.
- Wrong table was returned for SCSI READ TOC/PMA/ATIP command.
- Refactoring to comply with coding standard rules.
- Compiler warning was eliminated.
- Use of uninitialized buffer was eliminated.
- Operation without RTOS was fixed
- Bug was fixed that occurred if MST device was removed during transfer.
- Fixed compilation issue with the latest psp_template_base package.
- 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.
- Added support for transfers > 65535 Bytes.
- Added CDROM support.
- VMST buffer handling fixed in reset_buffers().
- Warnings (using uninitialized variables) removed.
- Operation fixed for systems without an OS.
- Added support to VMST interface.
- Warning removed.
- 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:
- comment changed.
- scsis_setup_command() could return false value in case of MODE SENSE 10 command.
- Boot Device mode supported.
- Medium Removal and Start Stop Unit commands are implemented.
- warning removed.
- Fix for compliance test case 9. Phase error was indicated instead of "normal" failure.
- phase error fix.
- set scsi error in case of unknown command.
- return success if get_status is not present for the media. Caused error for static medias where get_status is not present.
- mutex used to protect media driver to be used after scsis_lun_disable().
- driver cleanup.
- system could crash if scsi_disable_lun() called multiple times or while SCSI was accessing the media.
- internal SCSI driver cleanup.
- initial release.
- call of oal_task_yield() added to mstd_task().
- Medium Removal and Start Stop Unit commands are implemented
- 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.
- 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).
- fix for mst transfer errors: call usbd_clr_halt() after usbd_set_halt() to make sure the host can clear EP HALT status.
- mst_info structure cleared at initialization.
- mass storage calls scsis_init() and scsis_delete().
- double buffered read fixed; as a consequence read is much faster.
- initial release.