Michael McMaster [Mon, 20 Jun 2022 04:07:04 +0000 (14:07 +1000)]
Use Docker to build firmware and scsi2sd-util6
Michael McMaster [Sat, 14 May 2022 08:55:10 +0000 (18:55 +1000)]
Update CHANGELOG for 6.4.14 releas
Michael McMaster [Tue, 22 Feb 2022 06:20:36 +0000 (16:20 +1000)]
Reduce IRQ delays
Michael McMaster [Tue, 22 Feb 2022 06:10:02 +0000 (16:10 +1000)]
Disable direct read code over 128 sectors as it's not reliable
Michael McMaster [Tue, 15 Feb 2022 11:35:03 +0000 (21:35 +1000)]
Fix SD hotswap regression
Michael McMaster [Sun, 6 Feb 2022 04:36:24 +0000 (14:36 +1000)]
Improve SD hotswap detection
Michael McMaster [Fri, 4 Feb 2022 11:22:39 +0000 (21:22 +1000)]
Expand direct SD interface to reads over 128 sectors
Michael McMaster [Sun, 30 Jan 2022 08:32:21 +0000 (18:32 +1000)]
Performance improvements for 2021 boards
Michael McMaster [Sat, 29 Jan 2022 12:41:39 +0000 (22:41 +1000)]
Workaround for Windows handling USB errors when no SD card inserted
Michael McMaster [Thu, 20 Jan 2022 21:51:24 +0000 (07:51 +1000)]
v6.4.13 release
Michael McMaster [Sat, 15 Jan 2022 10:03:02 +0000 (20:03 +1000)]
Track start/stop status per virtual scsi device.
Michael McMaster [Thu, 18 Nov 2021 10:37:39 +0000 (20:37 +1000)]
Fix for CD emulation stopping the SCSI drive during load/eject requests
Michael McMaster [Sat, 30 Oct 2021 06:28:31 +0000 (16:28 +1000)]
Fix for 2Gb cards being detected as 1Gb
Michael McMaster [Tue, 12 Oct 2021 11:44:51 +0000 (21:44 +1000)]
Fix for writes with sector sizes larger than 512 bytes
Michael McMaster [Tue, 24 Aug 2021 10:08:38 +0000 (20:08 +1000)]
Update dfu-convert.py build util to support python 3.
Updated version from https://github.com/bitcraze/crazyflie-firmware/blob/master/tools/make/dfu-convert.py
Michael McMaster [Tue, 10 Aug 2021 09:45:44 +0000 (19:45 +1000)]
Update for release
Michael McMaster [Mon, 9 Aug 2021 11:15:40 +0000 (21:15 +1000)]
Fix USB disconnect issue when no SD card is installed
Michael McMaster [Mon, 31 May 2021 05:53:30 +0000 (15:53 +1000)]
Add SD keep-alive to ensure it responds immediately
Michael McMaster [Thu, 27 May 2021 22:48:21 +0000 (08:48 +1000)]
Remove the obsolete blind-writes config option
Michael McMaster [Sun, 23 May 2021 09:49:43 +0000 (19:49 +1000)]
Improve stability of fpga async mem interface
Michael McMaster [Fri, 21 May 2021 10:59:55 +0000 (20:59 +1000)]
Prevent 16bits of data hanging around and confusing the fifo empty check
Michael McMaster [Fri, 21 May 2021 08:17:01 +0000 (18:17 +1000)]
Fixes for FMC interface corruption
Michael McMaster [Wed, 19 May 2021 05:55:14 +0000 (15:55 +1000)]
Disable the FMC fifo until we have code that can detect when it's empty.
Michael McMaster [Tue, 18 May 2021 11:13:21 +0000 (21:13 +1000)]
Simplify SD card busy waiting
Michael McMaster [Tue, 18 May 2021 11:11:18 +0000 (21:11 +1000)]
Fix up issues running on revF boards
Michael McMaster [Thu, 13 May 2021 11:53:09 +0000 (21:53 +1000)]
Don't send SD Complete Transfer command for single block writes
Michael McMaster [Tue, 11 May 2021 13:10:36 +0000 (23:10 +1000)]
Improve IRQ handler responsiveness
Michael McMaster [Sat, 8 May 2021 09:44:53 +0000 (19:44 +1000)]
Slight write speed improvement
Michael McMaster [Sat, 8 May 2021 09:28:14 +0000 (19:28 +1000)]
Bump up the version number
Michael McMaster [Sat, 8 May 2021 08:45:48 +0000 (18:45 +1000)]
Swap IRQ priorities of DMA and SD so the DMA has higher priority
Michael McMaster [Sat, 8 May 2021 07:20:39 +0000 (17:20 +1000)]
Ensure debug logs are triggered by a timer to catch firmware hangs
Michael McMaster [Sat, 8 May 2021 06:29:37 +0000 (16:29 +1000)]
Improve detection of 2021 boards and firmware updates in scsi2sd-util
Michael McMaster [Tue, 4 May 2021 06:10:00 +0000 (16:10 +1000)]
Update changelog
Michael McMaster [Tue, 4 May 2021 06:06:42 +0000 (16:06 +1000)]
Fix scsi write issues
Michael McMaster [Mon, 3 May 2021 10:46:23 +0000 (20:46 +1000)]
Fix USB mass storage error responses on windows with no SD card inserted
Michael McMaster [Mon, 3 May 2021 10:11:50 +0000 (20:11 +1000)]
scsi2sd-util6 fix for detecting boards under Windows without an SD card inserted
Michael McMaster [Mon, 3 May 2021 06:03:26 +0000 (16:03 +1000)]
Fix issue with SCSI timeouts if writes take too long
Michael McMaster [Mon, 3 May 2021 04:25:56 +0000 (14:25 +1000)]
Few bug fixes to wait for SD card to be finished
Jonathan Wakely [Thu, 18 Feb 2021 17:04:39 +0000 (17:04 +0000)]
Add option to skip building dfu-util
Set USE_SYSTEM_DFU_UTIL=Yes or USE_SYSTEM=Yes to skip building dfu-util.
Jonathan Wakely [Thu, 18 Feb 2021 17:06:22 +0000 (17:06 +0000)]
Use WxWidgets linker flags for scsi2sd-test
Also add it to the "all" target.
Jonathan Wakely [Thu, 18 Feb 2021 17:07:44 +0000 (17:07 +0000)]
Avoid -Wstringop-overflow warning
Increase buffer size to keep GCC happy.
Jonathan Wakely [Thu, 18 Feb 2021 17:09:11 +0000 (17:09 +0000)]
Fix RPM spec file
Add missing build requirements.
The test program is scsi2sd-test not scsi2sd-monitor.
The main binary for V6 is scsi2sd-util6 not scsi2sd-util.
Jonathan Wakely [Thu, 18 Feb 2021 17:10:07 +0000 (17:10 +0000)]
Fix memory leaks
Use std::unique_ptr for dynamically-allocated objects.
Jonathan Wakely [Thu, 18 Feb 2021 17:11:23 +0000 (17:11 +0000)]
Fix invalid implicit conversion from wxString to std::string
This fails to compile because CreateTempFileName returns a wxString
which doesn't have an implicit conversion to std::string. One solution
would be to call ToStdString() to get a std::string, but this change
just uses auto to deduce the type.
Jonathan Wakely [Thu, 18 Feb 2021 17:13:24 +0000 (17:13 +0000)]
Fix mismatched new/delete
The buffers allocated with new[] need to be freed with delete[] not
plain delete.
Jonathan Wakely [Thu, 18 Feb 2021 17:14:02 +0000 (17:14 +0000)]
Fix buffer overflow in GTerm::update_changes()
Increase the buffer size by one byte to fix an AddressSanitizer error as
shown below. It's possible that the bug is in the values passed to
wxTerm::DrawText, but simply increasing the buffer size avoids the
error.
==94572==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62a000053020 at pc 0x00000048bd3c bp 0x7ffdf5219130 sp 0x7ffdf5219128
READ of size 1 at 0x62a000053020 thread T0
#0 0x48bd3b in wxTerm::DrawText(int, int, int, int, int, int, unsigned char*) TerminalWx/src/taTelnet/wxterm.cpp:1250
#1 0x497ee3 in GTerm::update_changes() TerminalWx/src/GTerm/utils.cpp:75
#2 0x48e4e5 in wxTerm::ProcessInput(int, unsigned char*) TerminalWx/src/taTelnet/wxterm.cpp:1754
#3 0x47f31b in TerminalWx::DisplayCharsUnsafe(wxString const&) TerminalWx/src/terminalwx.cpp:62
#4 0x49c60e in redirectDfuOutput /home/builder/SCSI2SD-V6/src/scsi2sd-util6/scsi2sd-util.cc:717
#5 0x4a4131 in OnID_Timer /home/builder/SCSI2SD-V6/src/scsi2sd-util6/scsi2sd-util.cc:784
#6 0x7f0d2063a26d in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (/lib64/libwx_baseu-3.0.so.0+0x17726d)
#7 0x7f0d2063c212 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (/lib64/libwx_baseu-3.0.so.0+0x179212)
#8 0x7f0d2063c4eb in wxEvtHandler::TryHereOnly(wxEvent&) (/lib64/libwx_baseu-3.0.so.0+0x1794eb)
#9 0x7f0d2063c57a in wxEvtHandler::ProcessEventLocally(wxEvent&) (/lib64/libwx_baseu-3.0.so.0+0x17957a)
#10 0x7f0d2063c660 in wxEvtHandler::ProcessEvent(wxEvent&) (/lib64/libwx_baseu-3.0.so.0+0x179660)
#11 0x7f0d2063a476 in wxEvtHandler::SafelyProcessEvent(wxEvent&) (/lib64/libwx_baseu-3.0.so.0+0x177476)
#12 0x7f0d205dd9af in wxTimerImpl::SendEvent() (/lib64/libwx_baseu-3.0.so.0+0x11a9af)
#13 0x7f0d209cfe91 (/lib64/libwx_gtk3u_core-3.0.so.0+0x291e91)
#14 0x7f0d1f44566c (/lib64/libglib-2.0.so.0+0x5266c)
#15 0x7f0d1f444ff6 in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x51ff6)
#16 0x7f0d1f495b87 (/lib64/libglib-2.0.so.0+0xa2b87)
#17 0x7f0d1f4446ca in g_main_loop_run (/lib64/libglib-2.0.so.0+0x516ca)
#18 0x7f0d1f98620c in gtk_main (/lib64/libgtk-3.so.0+0x24420c)
#19 0x7f0d209c4834 in wxGUIEventLoop::DoRun() (/lib64/libwx_gtk3u_core-3.0.so.0+0x286834)
#20 0x7f0d2056c1bc in wxEventLoopBase::Run() (/lib64/libwx_baseu-3.0.so.0+0xa91bc)
#21 0x7f0d20549d79 in wxAppConsoleBase::MainLoop() (/lib64/libwx_baseu-3.0.so.0+0x86d79)
#22 0x7f0d205a447b in wxEntry(int&, wchar_t**) (/lib64/libwx_baseu-3.0.so.0+0xe147b)
#23 0x4252d6 in main /home/builder/SCSI2SD-V6/src/scsi2sd-util6/scsi2sd-util.cc:1123
#24 0x7f0d1ff1a1e1 in __libc_start_main (/lib64/libc.so.6+0x281e1)
#25 0x42610d in _start (/home/builder/SCSI2SD-V6/src/scsi2sd-util6/build/linux/scsi2sd-util6+0x42610d)
0x62a000053020 is located 0 bytes to the right of 20000-byte region [0x62a00004e200,0x62a000053020)
allocated by thread T0 here:
#0 0x7f0d21183d17 in operator new[](unsigned long) (/lib64/libasan.so.6+0xacd17)
#1 0x49169f in GTerm::GTerm(int, int) TerminalWx/src/GTerm/gterm.cpp:86
Jonathan Wakely [Thu, 18 Feb 2021 17:24:05 +0000 (17:24 +0000)]
Fix warning about redefinition of _GNU_SOURCE
G++ implicitly defines _GNU_SOURCE=1 so define it consistently to avoid
a warning about redefinition.
Michael McMaster [Sat, 24 Apr 2021 11:07:28 +0000 (21:07 +1000)]
Cleanup cubemx files
Michael McMaster [Fri, 23 Apr 2021 14:13:57 +0000 (00:13 +1000)]
Fix SD card corruption due to not waiting for SD to leave the programming state
Michael McMaster [Fri, 23 Apr 2021 11:39:48 +0000 (21:39 +1000)]
Fix up SCSI timing and data corruption on 2021 boards
Michael McMaster [Tue, 20 Apr 2021 12:45:05 +0000 (22:45 +1000)]
Fix implementation of USB MSC READ FORMAT CAPACITIES command to handle no SD card inserted under windows
Michael McMaster [Wed, 14 Apr 2021 00:39:17 +0000 (10:39 +1000)]
Provide better USB Mass Storage experience with no SD card inserted.
Michael McMaster [Fri, 9 Apr 2021 11:06:30 +0000 (21:06 +1000)]
Update scsi2sd-util6 to identify the 2021 board
Michael McMaster [Fri, 9 Apr 2021 10:24:48 +0000 (20:24 +1000)]
Update USB Product strings based on board version
Michael McMaster [Sun, 21 Mar 2021 23:35:46 +0000 (09:35 +1000)]
Version bump to 6.4.0, 2021 initial build
Michael McMaster [Tue, 9 Mar 2021 11:58:04 +0000 (21:58 +1000)]
Don't check if the SD card is removed while in the middle of USB reads/writes
Michael McMaster [Tue, 9 Mar 2021 11:39:06 +0000 (21:39 +1000)]
Adding CRC routines (to be used later to detect config corruption)
Michael McMaster [Tue, 9 Mar 2021 01:39:23 +0000 (11:39 +1000)]
Improved reliability of USB config interface (port from V5 branch)
Michael McMaster [Mon, 8 Mar 2021 03:25:40 +0000 (13:25 +1000)]
STM32Cubemx patches for rev f firmware
Michael McMaster [Mon, 8 Mar 2021 03:11:20 +0000 (13:11 +1000)]
More work to merge revF and 2020/2021 branches
Michael McMaster [Mon, 8 Mar 2021 00:35:13 +0000 (10:35 +1000)]
Merge branch '2020a'
Michael McMaster [Sun, 7 Mar 2021 23:36:13 +0000 (09:36 +1000)]
Migrate to STM32Cubemx v1.8
Michael McMaster [Tue, 2 Mar 2021 12:18:02 +0000 (22:18 +1000)]
Halve FMC timings for clk/2 MCO1 freq
Michael McMaster [Tue, 2 Mar 2021 12:13:15 +0000 (22:13 +1000)]
V2021 board is now working
Michael McMaster [Tue, 23 Feb 2021 10:36:56 +0000 (20:36 +1000)]
Reapply STMCubeMX patches and FIX USB sense codes and workaround for USB<->SDIO dma consistency problem
Michael McMaster [Mon, 22 Feb 2021 22:56:01 +0000 (08:56 +1000)]
Reduce IRQ priority of the SDIO device to speed up USB HS interrupt
handling
Michael McMaster [Mon, 22 Feb 2021 10:35:26 +0000 (20:35 +1000)]
Merge branch 'master' into 2020a
Michael McMaster [Mon, 22 Feb 2021 10:31:25 +0000 (20:31 +1000)]
Use configured serial number in inquiry responses
Michael McMaster [Tue, 16 Feb 2021 13:26:27 +0000 (23:26 +1000)]
Timer fixes
Michael McMaster [Mon, 15 Feb 2021 22:11:10 +0000 (08:11 +1000)]
Fix USB endpoint Fifo sizes
Michael McMaster [Mon, 15 Feb 2021 11:45:26 +0000 (21:45 +1000)]
More USB fixes
Michael McMaster [Mon, 15 Feb 2021 09:48:35 +0000 (19:48 +1000)]
Apple STMCUBEMX patches
Michael McMaster [Mon, 15 Feb 2021 01:43:56 +0000 (11:43 +1000)]
2021 cubemx: reducing GPIO speeds where possible.
Michael McMaster [Mon, 15 Feb 2021 01:30:01 +0000 (11:30 +1000)]
More fixes, SD over USB HS still not working
Michael McMaster [Sat, 13 Feb 2021 11:08:36 +0000 (21:08 +1000)]
Fix DMA IRQ priorty to be less than the SDIO IRQ
Michael McMaster [Tue, 9 Feb 2021 12:33:12 +0000 (22:33 +1000)]
2021 USB HS interface now working, but SD card initialisation is broken
Michael McMaster [Sat, 6 Feb 2021 10:19:59 +0000 (20:19 +1000)]
Fixes for 2021 board
Michael McMaster [Sat, 6 Feb 2021 07:58:56 +0000 (17:58 +1000)]
STMCUBEMX to 1.8 update
Michael McMaster [Tue, 2 Feb 2021 12:41:19 +0000 (22:41 +1000)]
Init the FS USB device in STM32CUBEMX generated code
Michael McMaster [Mon, 1 Feb 2021 12:09:35 +0000 (22:09 +1000)]
Attempt to complete 2021 and 2020c on the same branch
Michael McMaster [Tue, 27 Oct 2020 10:56:27 +0000 (20:56 +1000)]
Initial support for cross-compiling scsi2sd-util6 with osxcross on Linux
Michael McMaster [Tue, 27 Oct 2020 10:56:27 +0000 (20:56 +1000)]
Initial support for cross-compiling scsi2sd-util6 with osxcross on Linux
Michael McMaster [Sat, 24 Oct 2020 10:34:09 +0000 (20:34 +1000)]
Fix issue setting new Blind Writes config option
Michael McMaster [Sat, 24 Oct 2020 10:34:09 +0000 (20:34 +1000)]
Fix issue setting new Blind Writes config option
Michael McMaster [Mon, 12 Oct 2020 10:30:30 +0000 (20:30 +1000)]
Add new "blind write" option to increase write command performance. This causes issues with some SCSI hosts and is now disabled by default.
Michael McMaster [Mon, 12 Oct 2020 10:30:30 +0000 (20:30 +1000)]
Add new "blind write" option to increase write command performance. This causes issues with some SCSI hosts and is now disabled by default.
Michael McMaster [Tue, 1 Sep 2020 13:03:55 +0000 (23:03 +1000)]
Increase limit of READ/WRITE BUFFER command for improved compatibility SGI Iris hosts
Michael McMaster [Tue, 1 Sep 2020 13:03:55 +0000 (23:03 +1000)]
Increase limit of READ/WRITE BUFFER command for improved compatibility SGI Iris hosts
Michael McMaster [Sun, 19 Apr 2020 09:24:32 +0000 (19:24 +1000)]
Fix error in merging 2020 board files
Michael McMaster [Sun, 19 Apr 2020 09:14:29 +0000 (19:14 +1000)]
Include missing files
Michael McMaster [Sun, 19 Apr 2020 09:09:10 +0000 (19:09 +1000)]
Fix hardware version checks for V6 revF and older boards
Michael McMaster [Sun, 19 Apr 2020 04:36:08 +0000 (14:36 +1000)]
Add hardware version checks, and embed version marker in the one-time-programmable flash memory
Michael McMaster [Sun, 19 Apr 2020 04:36:08 +0000 (14:36 +1000)]
Add hardware version checks, and embed version marker in the one-time-programmable flash memory
Michael McMaster [Wed, 26 Feb 2020 20:23:29 +0000 (06:23 +1000)]
More updates for V6 2020c hardware
Michael McMaster [Wed, 19 Feb 2020 12:19:53 +0000 (22:19 +1000)]
Get SCSI interface working with 2020c hardware
Michael McMaster [Tue, 18 Feb 2020 09:36:29 +0000 (19:36 +1000)]
Changes to support V6 2020c hardware
Michael McMaster [Tue, 18 Feb 2020 09:35:41 +0000 (19:35 +1000)]
Merge remote-tracking branch 'origin/master' into 2020a
Michael McMaster [Sun, 16 Feb 2020 08:06:36 +0000 (18:06 +1000)]
Modify dfu-util to use the UsbDk driver via libusb.
Update libusb to 1.0.23 for dfu-util
Michael McMaster [Sat, 15 Feb 2020 05:04:51 +0000 (15:04 +1000)]
Fix regression preventing some machines from booting
Michael McMaster [Thu, 30 Jan 2020 09:17:49 +0000 (19:17 +1000)]
Fix for large writes and data corruption over 64k