USBHost_t36 USB Mass Storage Driver Experiments

Using the latest @KurtE USBHost and turning on debug to Serial I got this on the 8GB Kingston Fat32 USB stick on T_3.6 - does it show anything helpful?::
Code:
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
 reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 1FFF5000
periodictable = 1FFF5000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 30 09 45 65 00 01 01 02 03 01 
    VendorID = 0930, ProductID = 6545, Version = 0100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler SE9
enumeration:
Serial Number: 001D0F1F90CAECB0472700A4
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 64 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
Descriptor 4 = INTERFACE
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT

I had a similar end with T$, but after using the MSC_V3.zip version (but TD USBHost_t36) the program moved on and finished correctly.
Not sure how to best synchronize all activity
Maybe one could use a symbol that is printed in test program
 
Since @KurtE pretty much has a good config control on the USBHost lib maybe if we consider a single repository with uSDFS and MSC combined that allows @WMXZ and @wwatson to both have write permissions and update it as things get fixed?
 
I had a similar end with T$, but after using the MSC_V3.zip version (but TD USBHost_t36) the program moved on and finished correctly.
Not sure how to best synchronize all activity
Maybe one could use a symbol that is printed in test program

Odd - because I had the TD USBHost ( no debug output on ) fail so that is why I updated and enabled debug there :(

My 13 Mile WiFi Interweb is being WobblY - just switched to Mobile Hotspot to post … and I have a task ahead …

Switched to uSDFS_test.ino and it goes into non-finitie looping - with updated USBHost:
Code:
Test uSDFS
2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
 reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 1FFF4000
periodictable = 1FFF4000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 30 09 45 65 00 01 01 02 03 01 
    VendorID = 0930, ProductID = 6545, Version = 0100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler SE9
enumeration:
Serial Number: 001D0F1F90CAECB0472700A4
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 64 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=1FFF3340
Descriptor 4 = INTERFACE
msController claim this=1FFF3340
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 04 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 05 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 06 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 07 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 07 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 08 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 09 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 09 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0A 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0B 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0C 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0D 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0D 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0E 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0F 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0F 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 10 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 10 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 11 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 11 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 12 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 12 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 13 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 13 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 14 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 14 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 15 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 15 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 16 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 16 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 17 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 17 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 18 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 18 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 19 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 19 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1A 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1B 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1B 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1C 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1D 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1D 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1E 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 1F 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1F 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 20 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 20 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 21 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 21 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 22 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 22 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 23 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 23 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 24 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 24 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 25 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 25 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 26 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 26 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 27 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 27 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 28 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 28 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 29 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 29 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2A 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2B 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2B 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2C 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2D 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2D 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2E 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 2F 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2F 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 30 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 30 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 31 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 31 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 32 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 32 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 33 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 33 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 34 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 34 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 35 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 35 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 36 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 36 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 37 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 37 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 38 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 38 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 39 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 39 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 3A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3A 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31

// ...
 
@defragster, @WMXZ and @wwatson
I am attaching the zip's of the libraries that I am using and seem to be having success with. This is just for a baseline because I am getting confused of where we are as well:
// ...
Please note, there is no doc directory in uSDFS zip (was too big to upload if I left it in).

EDIT: for reference all my tests have been with the T$

Those zips look the same except I have the MSC without the added uSDFS folder, and I still have the DOC from the GitHub Zip.

Only diffs are in :: T:\T_Downloads\14May\uSDFS-master\uSDFS-master\src\ff.c and one small rename in ff.h

IIRC - there was a note about changes picked up for those "ff" files that I got from the github?

I'll move to T$ and see what happens, and I grabbed a HDD to try.

with T$ HDD on USB adapter gives only - restart making sure drive was up repeats:
Code:
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000


And that USB stick give the same unending stream it seems the T_3.6 gave:
Code:
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 30 09 45 65 00 01 01 02 03 01 
    VendorID = 0930, ProductID = 6545, Version = 0100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler SE9
enumeration:
Serial Number: 001D0F1F90CAECB0472700A4
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 64 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=20004E60
Descriptor 4 = INTERFACE
msController claim this=20004E60
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 04 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 05 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 01
 
@defragster
Don't have a HDD to test so I used a SSD instead (120Gb HP SDD):
Code:
Test Drive Inquiry with uSDFS
Waiting For Device: 2:/

Change drive

Do Device Inquiry
Removable Device: NO
        VendorID: HP SSD S
       ProductID: 600 120GB       
      RevisionID: 0509

Get Device Capacity Specs
    Sector Count: 234441647
     Sector size: 512
   Disk Capacity: 234441647 * 512 Bytes

Device Inquiry Test Finished.

This is the sketch that I used:
Code:
#include "uSDFS.h"
#include "MassStorage.h"
/*
* for APL see http://elm-chan.org/fsw/ff/00index_e.html
*/
#define TEST_DRV 2
//
#if TEST_DRV == 0
  const char *Dev = "0:/";  // SPI
#elif TEST_DRV == 1
  const char *Dev = "1:/";  //SDHC
#elif TEST_DRV == 2
  const char *Dev = "2:/";  //USB
#endif

FRESULT rc;       /* Result code */
FATFS fatfs;      /* File system object */
FIL fil;          /* File object */
DIR dir;          /* Directory object */
FILINFO fno;      /* File information object */

msInquiryResponse_t *diskInquiry;
msSCSICapacity_t *diskCapacity;

void die(const char *text, FRESULT rc)
{ Serial.printf("%s: Failed with rc=%u.\r\n", text,rc);  while(1) asm("wfi"); }

void setup() {
  // put your setup code here, to run once:
  while(!Serial);
  Serial.println("Test Drive Inquiry with uSDFS");
  Serial.print("Waiting For Device: ");
  Serial.println(Dev);
  if((rc = f_mount (&fatfs, Dev, 1))) die("Mount",rc);      /* Mount/Unmount a logical drive */

  //-----------------------------------------------------------
  Serial.printf("\nChange drive\n");
  if((rc = f_chdrive(Dev))) die("chdrive",rc);

  // Show stats for Mass Storage Device
  Serial.printf("\nDo Device Inquiry\n");
  if(TEST_DRV == 2) {
    diskInquiry = getDriveInquiry();
    Serial.printf("Removable Device: ");
    if(diskInquiry->Removable == 1)
      Serial.printf("YES\n");
    else
      Serial.printf("NO\n");
      Serial.printf("        VendorID: %8.8s\n",diskInquiry->VendorID);
      Serial.printf("       ProductID: %16.16s\n",diskInquiry->ProductID);
      Serial.printf("      RevisionID: %4.4s\n",diskInquiry->RevisionID);
      Serial.printf("\nGet Device Capacity Specs\n");
      diskCapacity = getDriveCapacity();
      Serial.printf("    Sector Count: %ld\n",diskCapacity->Blocks);
      Serial.printf("     Sector size: %ld\n",diskCapacity->BlockSize);
      Serial.printf("   Disk Capacity: %ld * %ld Bytes\n",diskCapacity->Blocks, diskCapacity->BlockSize);
  }
  Serial.printf("\nDevice Inquiry Test Finished.\n");
}

void loop() {
  delay(1000);
}
It was posted somewhere else on the thread.
 
@defragster

Just dug out my HDDs - one didn't work just said waiting but windows didn't recognize it either, The second one:
Code:
Test Drive Inquiry with uSDFS
Waiting For Device: 2:/

Change drive

Do Device Inquiry
Removable Device: NO
        VendorID: IBM-DJNA
       ProductID: -352030         
      RevisionID:     

Get Device Capacity Specs
    Sector Count: 39876479
     Sector size: 512
   Disk Capacity: 39876479 * 512 Bytes

Device Inquiry Test Finished.
Both drives were IDE drives, 3.5inch. I used a startech adapter that allows me to attach a external pwr source to provide power to the drive
 
Moved to T$ ... May be a bad HDD - which is why I had it handy - now just sitting there with a light ticking ... not the Death Click
Ran RawWrite Log on HDD - it is 750GB - reformatted exFAT:
Code:
Test logger_RawWrite
2048<< BUFFSIZE _ Dev Type >>2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000

I get nearly the same from p#106 sketch:
Code:
T:\tCode\T4\uSDFS_testMJS\uSDFS_testMJS.ino May 14 2019 18:17:05
Test Drive Inquiry with uSDFS
Waiting For Device: 2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20003000
periodictable = 20003000

Just saw another working 3.5" 200 GB Windows drive on the floor - after this start it does th non-finite SPEW at the end:
Code:
T:\tCode\T4\uSDFS_testMJS\uSDFS_testMJS.ino May 14 2019 18:17:05
Test Drive Inquiry with uSDFS
Waiting For Device: 2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20003000
periodictable = 20003000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 E3 05 18 07 08 00 00 01 02 01 
    VendorID = 05E3, ProductID = 0718, Version = 0008
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Product: USB Storage
enumeration:
Serial Number: 000000000033
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 C0 30 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=200027A0
Descriptor 4 = INTERFACE
msController claim this=200027A0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 01 
** CSWSIGNATURE
 
@defragster

What sketch are you running?

EDIT: Never mind - just saw it. Are you powering the drive separately? Because this is getting strange - I don't think I have anything else I can try to duplicate here.
 
@degragster- did you see my edit :)

EDIT: Have a couple more old windows drives buried in the garage - will dig them out tomorrow - too late tonight. Could it be the HDD adapter you are using to T$?
 
I see the edit now - it is strange. My KingWin adapter doesn't have provision for external power - and I lost my powered Hub ??? - I have a powered drive unit - but it has somebody else's drive in right now.

What drive OS / Format's are supported of : NTFS, Fat32, exFat ?

Found my powered hub - just had to follow the power cable … hidden behind/under Teensy's. Will try to get a drive expected to work if I know what that is?

Did you see the notes on FF.C edits from GitHub/WMXZ - or did I get old ones? I didn't change to yours ...
 
Yeah - all of the HDD's I tried need the extra power otherwise the T's wont read them. The ssd's are ok. I tried a 2.5in HDD but it just clicked.

As for format - think only FAT32 or extFAT will work with libraries.

I don't think I saw the note. I am just using what @WMXZ posted on GITHUB. If it still doesn't work try switching to ff.c that is posted on GitHub. Have to find what I did with the adapter for the powered hub. Kurt posted a portion of sketch to show how to incorporate the hub into the sketch.
 
Just found my last update from uSDFS was not the latest any more …

Will find a fresh drive to format usably and make sure it is HUB powered or other. If I saw right it can handle partitions?
 
Okay - had GOOD luck - a SATA HDD abandoned before failure in ~2013. Formatted Samsung to 465GB exFAT.

@mjs513 - glad your SSD worked to some extent - mine is trash ...

It I sparked in a AZIO USB2 powered drive carrier - the one I use on PC for looking after drives that works - I got some newer USB3 unit that seems to be flakey on a PC so I keep using this one.

Here is output from posted @mjs513 sketch:
Code:
T:\tCode\T4\uSDFS_testMJS\uSDFS_testMJS.ino May 14 2019 19:44:05
Test Drive Inquiry with uSDFS
Waiting For Device: 2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20003000
periodictable = 20003000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 FC 04 25 0C 03 01 02 03 01 01 
    VendorID = 04FC, ProductID = 0C25, Version = 0103
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sunplus Technology Inc.
enumeration:
Product: USB to Serial-ATA bridge
enumeration:
Serial Number: SAMSUNG HDS20BJ9FSC07429      
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 04 C0 01 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 05 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=200027E0
Descriptor 4 = INTERFACE
msController claim this=200027E0
09 04 00 00 02 08 06 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 04 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 36
00 00 02 02 1F 00 00 00 53 41 4D 53 55 4E 47 20 48 44 35 30 32 48 4A 20 20 20 20 20 20 20 20 20 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 05 00 00 00 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 8
3A 38 60 2F 00 00 02 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 06 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
33 C0 8E D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 07 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 08 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 09 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 52 90 4E 54 46 53 20 20 20 20 00 02 08 00 00 00 00 00 00 00 F8 00 00 3F 00 FF 00 00 08 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 09 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 28 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 76 90 45 58 46 41 54 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0D 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0F 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 30 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
F8 FF FF FF FF FF FF FF 03 00 00 00 04 00 00 00 05 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE

Change drive

Do Device Inquiry
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 10 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 36
00 00 02 02 1F 00 00 00 53 41 4D 53 55 4E 47 20 48 44 35 30 32 48 4A 20 20 20 20 20 20 20 20 20 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 10 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
Removable Device: NO
        VendorID: SAMSUNG 
       ProductID: HD502HJ         
      RevisionID:     

Get Device Capacity Specs
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 11 00 00 00 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 8
3A 38 60 2F 00 00 02 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 11 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
    Sector Count: 976773167
     Sector size: 512
   Disk Capacity: 976773167 * 512 Bytes

Device Inquiry Test Finished.

No such luck with the Test Logger … still goes off on infinite SPEW:
Code:
Test logger_RawWrite
BUFFSIZE :8192
Dev Type :2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 2000C000
periodictable = 2000C000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 FC 04 25 0C 03 01 02 03 01 01 
    VendorID = 04FC, ProductID = 0C25, Version = 0103
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sunplus Technology Inc.
enumeration:
Product: USB to Serial-ATA bridge
enumeration:
Serial Number: SAMSUNG HDS20BJ9FSC07429      
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 04 C0 01 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 05 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=2000AF20
Descriptor 4 = INTERFACE
msController claim this=2000AF20
09 04 00 00 02 08 06 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
// ...

Seems it may think a bit more with 2K buffer? - then SPew Storm … love that FAST USB output ...::
Code:
Test logger_RawWrite
BUFFSIZE :2048
Dev Type :2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20006000
periodictable = 20006000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 FC 04 25 0C 03 01 02 03 01 01 
    VendorID = 04FC, ProductID = 0C25, Version = 0103
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sunplus Technology Inc.
enumeration:
Product: USB to Serial-ATA bridge
enumeration:
Serial Number: SAMSUNG HDS20BJ9FSC07429      
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 04 C0 01 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 05 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=20004F20
Descriptor 4 = INTERFACE
msController claim this=20004F20
09 04 00 00 02 08 06 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 04 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 36
00 00 02 02 1F 00 00 00 53 41 4D 53 55 4E 47 20 48 44 35 30 32 48 4A 20 20 20 20 20 20 20 20 20 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 05 00 00 00 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 8
3A 38 60 2F 00 00 02 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 06 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
33 C0 8E D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 07 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 08 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 09 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 52 90 4E 54 46 53 20 20 20 20 00 02 08 00 00 00 00 00 00 00 F8 00 00 3F 00 FF 00 00 08 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 09 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 28 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 76 90 45 58 46 41 54 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0D 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0F 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 30 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
F8 FF FF FF FF FF FF FF 03 00 00 00 04 00 00 00 05 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes

Change drive
A_00001.dat
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 10 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 10 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 11 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 11 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
stat FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 12 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 12 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 13 00 00 00 00 02 00 00 00 00 0A 2A 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 13 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 14 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 14 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 15 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 A8 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 15 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
 opened FR_OK 0

msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 16 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 16 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 17 00 00 00 00 20 00 00 00 00 0A 2A 00 00 03 B4 00 00 00 10 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)8192
30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 17 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 18 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 18 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 19 00 00 00 00 20 00 00 00 00 0A 2A 00 00 03 B4 10 00 00 10 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)8192
31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 19 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1B 00 00 00 00 20 00 00 00 00 0A 2A 00 00 03 B4 20 00 00 10 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)8192
32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
// ...
 
Seems it may think a bit more with 2K buffer? - then SPew Storm … love that FAST USB output ...::

Not sure what is going on,
the logger examples does run for a long time, so created new test version with shorter execution time (on GitHub)
( only 1 file with 2 records)
it stops regularly and T$ start blinking

Code:
Test logger_RawWrite
BUFFSIZE :8192
Dev Type :2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 2000C000
periodictable = 2000C000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 10 02 00 00 00 40 64 85 00 10 00 11 01 02 03 01 
    VendorID = 8564, ProductID = 1000, Version = 1100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: JetFlash
enumeration:
Product: Mass Storage Device
enumeration:
Serial Number: 187QBL7G6GBG84U2
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 96 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 01 02 00 02 00 
    Endpoint = 1 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 82 02 00 02 00 
    Endpoint = 2 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=2000B800
Descriptor 4 = INTERFACE
msController claim this=2000B800
09 04 00 00 02 08 06 50 00 07 05 01 02 00 02 00 07 05 82 02 00 02 00 
numendpoint=2
endpointIn=82
endpointOut=1
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 04 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 36
00 80 06 02 1F 73 6D 69 4A 65 74 46 6C 61 73 68 54 72 61 6E 73 63 65 6E 64 20 31 32 38 47 42 20 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 05 00 00 00 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 8
0E A8 FF FF 00 00 02 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 06 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 07 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 08 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 09 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 03 C0 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 58 90 4D 53 44 4F 53 35 2E 30 00 02 40 7E 15 02 00 00 00 00 F8 00 00 3F 00 FF 00 C0 03 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 09 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 03 C1 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
52 52 61 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
File System FS_FAT32
Free Disk Size 3617655 clusters
Cluster Size 64 sectors
Sector Size 512 bytes

Change drive
A_00001.dat
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0D 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C0 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 72 61 6E 73 63 65 6E 64 20 20 08 00 00 00 00 00 00 00 00 00 00 56 5A 7E 33 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0F 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C1 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 31 36 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 42 0F 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 10 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 10 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 11 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C2 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 33 32 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 E2 1E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 11 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 12 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 12 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 13 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C3 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 34 38 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 82 2E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 13 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 14 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 14 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 15 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C4 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 36 34 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 22 3E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 15 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 16 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 16 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 17 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C5 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 38 30 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 C2 4D 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 17 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 18 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 18 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 19 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C6 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 39 36 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 62 5D 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 19 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1B 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C7 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 31 32 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 FD 77 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1D 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C8 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 32 38 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 3D 97 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1F 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C9 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 34 34 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 C1 0A 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 20 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 20 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 21 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CA 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 36 30 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 49 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 21 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 22 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 22 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 23 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CB 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 37 36 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 C1 87 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 23 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 24 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 24 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 25 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 25 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
stat FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 26 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 26 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 27 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C0 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 72 61 6E 73 63 65 6E 64 20 20 08 00 00 00 00 00 00 00 00 00 00 56 5A 7E 33 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 27 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 28 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 28 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 29 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C1 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 31 36 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 42 0F 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 29 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2B 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C2 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 33 32 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 E2 1E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2D 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C3 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 34 38 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 82 2E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 2F 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C4 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 36 34 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 22 3E 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 2F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 30 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 30 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 31 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C5 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 38 30 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 C2 4D 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 31 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 32 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 32 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 33 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C6 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
5A 5F 30 30 30 39 36 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 62 5D 00 00 7D 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 33 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 34 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 34 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 35 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C7 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 31 32 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 FD 77 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 35 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 36 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 36 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 37 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C8 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 32 38 20 44 41 54 20 10 00 00 00 21 50 00 00 00 00 00 00 21 50 3D 97 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 37 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 38 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 38 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 39 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 C9 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 34 34 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 C1 0A 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 39 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3B 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CA 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 36 30 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 49 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3D 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CB 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 37 36 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 C1 87 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 3F 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 3F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 40 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 40 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 41 00 00 00 00 02 00 00 00 00 0A 2A 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 41 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 42 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 42 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 43 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 1D 10 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 43 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 44 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 44 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 45 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 1D 10 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 45 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 46 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 46 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 47 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 92 51 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 47 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 48 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 48 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 49 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 49 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
 opened FR_OK 0

msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4B 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 1D 10 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4D 00 00 00 00 80 00 00 00 00 0A 2A 00 00 7B 5D 80 00 00 40 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)32768
30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 4F 00 00 00 00 80 00 00 00 00 0A 2A 00 00 7B 5D C0 00 00 40 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)32768
31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 4F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 50 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 50 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 51 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 1D 10 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 51 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 52 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 52 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 53 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 92 51 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
01 E9 01 00 02 E9 01 00 03 E9 01 00 04 E9 01 00 05 E9 01 00 06 E9 01 00 07 E9 01 00 08 E9 01 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 53 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 54 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 54 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 55 00 00 00 00 02 00 00 80 00 0A 28 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 55 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 56 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 56 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 57 00 00 00 00 02 00 00 00 00 0A 2A 00 00 01 03 CC 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
58 5F 30 30 30 39 32 20 44 41 54 20 10 00 00 00 21 50 00 00 01 00 00 00 21 50 41 C6 00 00 F4 01 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 57 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 58 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 58 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 59 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 03 C1 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
52 52 61 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 59 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
 (17155906 - 1.910013 MB/s)
 (open: 1103582 us; close: 13287587 us; write: min,max: 91197 3777067 us)

unmount FR_OK
 
That looks better … including stopped with BLINK :)
Code:
 (43996 - 744.794983 MB/s)
 (open: 31993 us; close: 32000 us; write: min,max: 5968 5972 us)

unmount FR_OK

EDIT>> Got Greedy - doesn't like 32KB buffer ::
Code:
// …
 write FR_DISK_ERR at count # 1
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 18 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 64
msController dataIn (static): 0
ERROR Followup
msController CallbackOut (static)
transfer->qtd.token = 65
msController dataOut (static)0
ERROR Followup

But 16KB is faster::
Code:
 (69973 - 936.589844 MB/s)
 (open: 5016 us; close: 29000 us; write: min,max: 6945 33918 us)

unmount FR_OK

And 24KB faster yet:
Code:
 (50996 - 1927.680542 MB/s)
 (open: 32993 us; close: 30000 us; write: min,max: 7913 12917 us)

unmount FR_OK

Full output and Done ::
Code:
Test logger_RawWrite
BUFFSIZE :8192
Dev Type :2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 2000C000
periodictable = 2000C000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 FC 04 25 0C 03 01 02 03 01 01 
    VendorID = 04FC, ProductID = 0C25, Version = 0103
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Sunplus Technology Inc.
enumeration:
Product: USB to Serial-ATA bridge
enumeration:
Serial Number: SAMSUNG HDS20BJ9FSC07429      
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 04 C0 01 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 05 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=2000AF20
Descriptor 4 = INTERFACE
msController claim this=2000AF20
09 04 00 00 02 08 06 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 00 00 00 00 00 00 00 80 00 06 1B 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 02 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 03 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 03 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 04 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 36
00 00 02 02 1F 00 00 00 53 41 4D 53 55 4E 47 20 48 44 35 30 32 48 4A 20 20 20 20 20 20 20 20 20 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 04 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 05 00 00 00 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 8
3A 38 60 2F 00 00 02 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 05 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 06 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
33 C0 8E D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 07 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 08 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 09 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 52 90 4E 54 46 53 20 20 20 20 00 02 08 00 00 00 00 00 00 00 F8 00 00 3F 00 FF 00 00 08 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 09 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 28 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
EB 76 90 45 58 46 41 54 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0D 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0F 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 30 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
F8 FF FF FF FF FF FF FF 03 00 00 00 04 00 00 00 05 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 0F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
[COLOR="#FF0000"]File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes

Change drive
A_00001.dat[/COLOR]
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 10 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 10 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 11 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 11 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
stat FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 12 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 12 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 13 00 00 00 00 02 00 00 00 00 0A 2A 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 13 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 14 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 14 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 15 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 A8 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
FF 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 15 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
 opened FR_OK 0

msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 16 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 16 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 17 00 00 00 00 80 00 00 00 00 0A 2A 00 00 03 B4 00 00 00 40 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)32768
30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 30 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 17 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 18 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 18 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 19 00 00 00 00 80 00 00 00 00 0A 2A 00 00 03 B4 40 00 00 40 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)32768
31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 31 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 19 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1A 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1A 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1B 00 00 00 00 02 00 00 00 00 0A 2A 00 00 03 A8 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
FF 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1B 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1C 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1C 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1D 00 00 00 00 02 00 00 80 00 0A 28 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
** ????
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1D 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1E 00 00 00 00 00 00 00 80 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1E 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 1F 00 00 00 00 02 00 00 00 00 0A 2A 00 00 03 AD 00 00 00 01 00 00 00 00 00 00 00 
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
83 09 34 00 36 00 35 00 47 00 42 00 73 00 61 00 6D 00 73 00 00 00 00 00 00 00 00 00 00 00 00 00 
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 13
55 53 42 53 1F 00 00 00 00 00 00 00 00 
** CSWSIGNATURE
 (43996 - 744.794983 MB/s)
 (open: 31993 us; close: 32000 us; write: min,max: 5968 5972 us)

unmount FR_OK
 
And it works with no :: //#define USBHOST_PRINT_DEBUG
#define MXFN 4 // maximal number of files //was 100
#define MXRC 8 // number of records in file // was 1000

T$ USB USB SATA adapter to 465GB Samsung HDD::
Code:
Test logger_RawWrite
[B][COLOR="#FF0000"]BUFFSIZE :24576[/COLOR][/B]
Dev Type :2:/
File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes

Change drive
A_00001.dat
stat FR_OK 0
 opened FR_OK 0

 (108996 - 901.904663 MB/s)
 (open: 32994 us; close: 25000 us; write: min,max: 7934 12938 us)

A_00002.dat
stat FR_OK 11
 opened FR_OK 0

 (150987 - 651.075928 MB/s)
 (open: 14999 us; close: 54000 us; write: min,max: 7938 17925 us)

A_00003.dat
stat FR_NO_FILE 17
 opened FR_OK 0

 (126991 - 774.102112 MB/s)
 (open: 29996 us; close: 33000 us; write: min,max: 7938 17929 us)

A_00004.dat
stat FR_NO_FILE 1d
 opened FR_OK 0

 (135991 - 722.871338 MB/s)
 (open: 29996 us; close: 42000 us; write: min,max: 7938 17928 us)

unmount FR_OK

Started longer no debug test with original 100 and 1000 - will be a bit …
A_00001.dat
stat FR_OK 0
opened FR_OK 0

................................................................
.................................... (10632996 - 9.245184 MB/s)
(open: 31994 us; close: 112000 us; write: min,max: 7934 22937 us)

about 20 minutes?
Code:
// …

................................................................
.................................... (10570991 - 9.299412 MB/s)
 (open: 299995 us; close: 35000 us; write: min,max: 7936 33938 us)

A_00100.dat
stat FR_NO_FILE 11f2d
 opened FR_OK 0

................................................................
.................................... (10537991 - 9.328533 MB/s)
 (open: 299995 us; close: 28000 us; write: min,max: 7936 17928 us)

unmount FR_OK
 
Last edited:
Plugged the MINIMAL adapter 'KINGWIN' into powered hub and same failure to start after showing init setup strings. It is about like this : Kingwin ADP-07 USB to SATA Adapter

The AZIO unit not on Newegg now - but it is of this type 'docking':
USB 3.0 to SATA External Hard Drive Docking Station

Except as noted AZIO is USB2 - had for some years. I have the USB 3 - maybe this Sabrent brand I have not tried yet as noted - it was often fitful even on a PC to mount drives.

This 465GB drive if not noted is 3.5". I have other 'box housing units' - the one that failed on SSD drive was for 2.5" drives - so may try another tomorrow and the USB 'docking station'.

NOTE: That external housing also fails going through the powered HUB - but direct USB cable is back to working … that was a scary bit ...
 
Edited the sample to remove compiler warnings - and the MB/sec calc had 1000 hardcoded - that's why the lower blocks/file #'s looked to high - and why bumping to 10,000 looked so low. Seems to be about 9.3 MB/s.

Code:
//Copyright 2019 by Walter Zimmer
// Version 07-may-19
//
#include "uSDFS.h"

#define TEST_DRV 2
//
#define MXFN 1000 // maximal number of files //was 100
#define MXRC 10000 // number of records in file // was 1000
const char *fnamePrefix = "B";

//
#if TEST_DRV == 0
const char *Dev = "0:/";  // SPI
#elif TEST_DRV == 1
const char *Dev = "1:/";  // SDHC
#elif TEST_DRV == 2
const char *Dev = "2:/";  // USB
#endif

FRESULT rc;        /* Result code */
FATFS fatfs;      /* File system object */
FIL fil;        /* File object */

#if defined(__MK20DX256__)
#define BUFFSIZE (2*1024) // size of buffer to be written
#elif defined(__MK66FX1M0__)
#define BUFFSIZE (8*1024) // size of buffer to be written
#elif defined(__IMXRT1062__)
#define BUFFSIZE (24*1024) // size of buffer to be written
#endif

uint32_t buffer[BUFFSIZE];
UINT wr;

/* Stop with error message */
void die(const char *text, FRESULT rc)
{ Serial.printf("%s: Failed with rc=%s.\r\n", text, FR_ERROR_STRING[rc]);  while (1) asm("wfi"); }

//=========================================================================
void blink(uint16_t msec)
{
  digitalWriteFast(13, !digitalReadFast(13)); delay(msec);
}

void setup()
{
  // wait for serial line to come up
  pinMode(13, OUTPUT);
  pinMode(13, HIGH);

  while (!Serial);
  Serial.println("Test logger_RawWrite");
  Serial.print("BUFFSIZE :");  Serial.println(BUFFSIZE);
  Serial.print("Dev Type :");  Serial.println(Dev);
  if ((rc = f_mount (&fatfs, Dev, 1))) die("Mount", rc);    /* Mount/Unmount a logical drive */

  Serial.printf("File System %s\n", fileSystem[fatfs.fs_type]);
  Serial.printf("Free Disk Size %d clusters\n", fatfs.free_clst);
  Serial.printf("Cluster Size %d sectors\n", fatfs.csize);
#if FF_MAX_SS != FF_MIN_SS
  Serial.printf("Sector Size %d bytes\n", fatfs.ssize);
#else
  Serial.printf("Sector Size %d bytes\n", FF_MIN_SS);
#endif
  //-----------------------------------------------------------
  Serial.printf("\nChange drive\n");
  if ((rc = f_chdrive(Dev))) die("chdrive", rc);
}

void loop()
{
  static uint32_t count = 0;
  static uint32_t ifn = 0;
  static uint32_t isFileOpen = 0;
  static char filename[80];
  static uint32_t t0 = 0;
  static uint32_t t1 = 0;
  static uint32_t dtwmin = 1 << 31, dtwmax = 0;
  static uint32_t dto = 1 << 31, dtc = 0;

  if (ifn > MXFN) { blink(500); return; }

  if (!count)
  {
    // close file
    if (isFileOpen)
    { dtc = micros();
      //close file
      if ((rc = f_close(&fil))) die("close", rc);
      //
      isFileOpen = 0;
      t1 = micros();
      dtc = t1 - dtc;
      float MBs = (MXRC * BUFFSIZE * 4.0f) / (1.0f * (t1 - t0));
      Serial.printf(" (%d - %f MB/s)\n (open: %d us; close: %d us; write: min,max: %d %d us)\n\r",
                    t1 - t0, MBs, dto, dtc, dtwmin, dtwmax);
      dtwmin = 1 << 31; dtwmax = 0;
    }
  }

  //
  if (!isFileOpen)
  {
    // open new file
    ifn++;
    if (ifn > MXFN)
    { rc = f_unmount(Dev);
      Serial.print("unmount "); Serial.println(FR_ERROR_STRING[rc]);
      pinMode(13, OUTPUT); return;
    } // at end of test: prepare for blinking

    dto = micros();
    sprintf(filename, "%s_%05u.dat", fnamePrefix, (unsigned int)ifn);
    Serial.println(filename);
    //
    // check status of file
    rc = f_stat(filename, 0);
    Serial.printf("stat %s %x\n", FR_ERROR_STRING[rc], fil.obj.sclust);

    rc = f_open(&fil, filename, FA_WRITE | FA_CREATE_ALWAYS);
    Serial.printf(" opened %s %x\n\r", FR_ERROR_STRING[rc], fil.obj.sclust);
    // check if file is Good
    if (rc == FR_INT_ERR)
    { // only option is to close file
      rc = f_close(&fil);
      if (rc == FR_INVALID_OBJECT)
      { Serial.println("unlinking file");
        rc = f_unlink(filename);
        if (rc) die("unlink", rc);
      }
      else
        die("close", rc);
      // retry open file
      if ((rc = f_open(&fil, filename, FA_WRITE | FA_CREATE_ALWAYS))) die("open", rc);
    }
    //
    isFileOpen = 1;
    t0 = micros();
    dto = t0 - dto;
  }

  if (isFileOpen)
  {
    // fill buffer
    for (int ii = 0; ii < BUFFSIZE; ii++) buffer[ii] = '0' + (count % 10);
    count++;
    //write data to file
    if (!(count % 10))Serial.printf(".");
    if (!(count % 640)) Serial.println(); Serial.flush();
    //
    uint32_t ta = micros();
    rc = f_write(&fil, buffer, BUFFSIZE * 4, &wr);
    uint32_t tb = micros();
    if (rc == FR_DISK_ERR) // IO error
    { Serial.printf(" write FR_DISK_ERR at count # %d\n", count);
      // only option is to close file
      // force closing file
      count = MXRC;
    }
    else if (rc) die("write", rc);
    //
    uint32_t dt = tb - ta;
    if (dt < dtwmin) dtwmin = dt;
    if (dt > dtwmax) dtwmax = dt;
    //
    count %= MXRC;
  }
}

Started a 1000 file by 10,000 block test to run in coming hours - again with 24K buffer blocks:
File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes

Change drive
B_00001.dat
stat FR_OK 0
opened FR_OK 0

................................................................
// …
........................................ (105074987 - 9.355604 MB/s)
(open: 242003 us; close: 26000 us; write: min,max: 7916 34918 us)
 
Edited the sample to remove compiler warnings - and the MB/sec calc had 1000 hardcoded - that's why the lower blocks/file #'s looked to high - and why bumping to 10,000 looked so low. Seems to be about 9.3 MB/s.
Thanks, updated code on GitHub
 
Good work folks!

Thanks, updated code on GitHub

Cool, also see why the *4 in the MB math … as the 24K buffer is 4 byte words - or 98304 bytes. And 32K buffer words that fails is 131072 bytes.

Testing going well …
........................................ (105104991 - 9.352934 MB/s)
(open: 434995 us; close: 36000 us; write: min,max: 7916 46916 us)

B_00048.dat
stat FR_NO_FILE 66912

If I'm reading right ... 105 seconds per file - 1,000 files - Yikes - 29 hours … yep 80 minutes since last post for ~45 files … is 29 hours …

Another positive note - re-upload interrupting during testing doesn't seem to have caused any overt trouble. Will put the drive back on the PC and do a CHKDSK … And am I reading code right - all should be filled with same values "0"+[0...9] last digit of count in 32 bits?

What's the 9 MB/sec speed limit come from? Not sure what this older drive is capable of ... I have not looked at the code at all - is this blocking write and wait or DMA transfer? Drive activity light is constant looking.

MCU is a bit warm to touch - but not feeling anything like the 120 °F when it was in SPAZ SPEW mode the other day. Okay grabbed thermom … 104.9 max case temp on MCU - 40.5C. For ref the HDD in the doc is ~96 °F.

@mjs513 - maybe a quick temp check in the code - would be fun to track what made it hot for some MAX testing.
 
Cool, also see why the *4 in the MB math … as the 24K buffer is 4 byte words - or 98304 bytes. And 32K buffer words that fails is 131072 bytes.

Testing going well …

If I'm reading right ... 105 seconds per file - 1,000 files - Yikes - 29 hours … yep 80 minutes since last post for ~45 files … is 29 hours …

Another positive note - re-upload interrupting during testing doesn't seem to have caused any overt trouble. Will put the drive back on the PC and do a CHKDSK … And am I reading code right - all should be filled with same values "0"+[0...9] last digit of count in 32 bits?

What's the 9 MB/sec speed limit come from? Not sure what this older drive is capable of ... I have not looked at the code at all - is this blocking write and wait or DMA transfer? Drive activity light is constant looking.

Some explanations, I declared the buffer as uint32_t to have it word aligned, even if disk i/o is done in multiple of 512 bytes.

The original idea of the logger_RawWrite was to get a feeling on possible latencies during open/close and write, so to dimension the write queue (or circular buffer) correctly to avoid data dropouts during uSD access.
This allows to gain some experience on fresh formatted disks, rewriting old files, comparing FAT32 with exFAT etc.
 
@degragster

Glad you got it working. Seems like every time I go to sleep and wake up a lot happens on these threads.

I got one of these: https://www.amazon.com/gp/product/B00D76J1KO/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 and it seems to work. I have similar one as the AZIO as well - I should give it a try, was wondering if it would work as well.

As for your logger problem - had the same issue as your HDD but that sounds like it is solved now - will have to give it a try.

Back in post#93 and 94 I had some logger results with different usb sticks and the SSD error as well.
 
@wwatson, @mjs513, @defragster
Somewhat OT
if you have exhausted the USB disks available for testing, I put another test program to GitHub that I plan to use for testing all common FS and Disk formats.
At the moment I'm still on the road, and I only have a T$ and a blank T3.6, so my testing is somewhat limited
 
Back
Top