wwatson
Well-known member
Have problem I have been working on all weekend with no solution yet. I know you guys are really busy right now but I thought it might be good to bring it to light.
I am chasing down these intermittent lockups with MSC , T36 and various USB drives.
My problem is setting the buffer size for different Usb drives. It never is the same for all drives.
I am using all of the recent Arduino and TD software along with logger_RaWrite.ino.
Here is what I am seeing:
This creates this response:
Now if I change:
To:
Or change this in ehci.cpp:
To:
I get this:
Same results with a multiple of 16384 up to 32768 on some drives.
Sorry, I know this is long post.
I am seeing the same results on my other T36 system with slightly older uSDFS software (before WXMZ's upgrade).
It seems to be something with the modulus of 16384, not really sure.
I just know there is a problem here that I can't figure out at this time.
I am chasing down these intermittent lockups with MSC , T36 and various USB drives.
My problem is setting the buffer size for different Usb drives. It never is the same for all drives.
I am using all of the recent Arduino and TD software along with logger_RaWrite.ino.
Here is what I am seeing:
Code:
//Copyright 2019 by Walter Zimmer
// Version 07-may-19
//
#include "uSDFS.h"
#define TEST_DRV 2
//
#define MXFN 1 // maximal number of files //was 100
#define MXRC 2 // number of records in file // was 1000
char *fnamePrefix = "A";
//
#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__)
[COLOR="#FF0000"]#define BUFFSIZE (16384) // size of buffer to be written[/COLOR]
#elif defined(__IMXRT1062__)
#define BUFFSIZE (8*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("uSDFS_VER:"); Serial.println(uSDFS_VER);
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; }
// stop testing (finish actual file)
while (Serial.available() > 0)
{ if ('q' == Serial.read() ) ifn = MXFN+1; }
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_%05d.dat",fnamePrefix,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, &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;
}
}
This creates this response:
Code:
Test logger_RawWrite
uSDFS_VER:15_MAY_19_08_16
BUFFSIZE :16384
Dev Type :2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20004000
periodictable = 20004000
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 51 09 66 16 01 00 01 02 03 01
VendorID = 0951, ProductID = 1666, Version = 0001
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler 3.0
enumeration:
Serial Number: 00E04C819241F2C188BE0F0D
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 81 02 00 02 FF
Endpoint = 1 IN
Type = Bulk
Max Size = 512
Polling Interval = 255
07 05 02 02 00 02 FF
Endpoint = 2 OUT
Type = Bulk
Max Size = 512
Polling Interval = 255
enumeration:
msController claim this=200029C0
msController claim this=20002D40
msController claim this=200030C0
Descriptor 4 = INTERFACE
msController claim this=200029C0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 FF 07 05 02 02 00 02 FF
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 255
polling intervalOut = 255
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit before msgGetMaxLun: 1
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit after msgGetMaxLun: 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 01 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 01 00 00 00 00 00 00 00 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 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 F8 00 00 00 4B 69 6E 67 73 74 6F 6E 44 61 74 61 54 72 61 76 65 6C 65 72 20 33 2E 30
** ????
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 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
03 9A 33 F3 00 00 02 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 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
FA B8 00 10 8E D0 BC 00 B0 B8 00 00 8E D8 8E C0 FB BE 00 7C BF 00 06 B9 00 02 F3 A4 EA 21 06 00
** ????
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 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 58 90 6D 6B 66 73 2E 66 61 74 00 02 20 20 00 02 00 00 00 00 F8 00 00 20 00 40 00 00 08 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 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 01 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 06 00 00 00 00 00 00 00 00
** CSWSIGNATURE
File System FS_FAT32
Free Disk Size 1867135 clusters
Cluster Size 32 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 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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
stat FR_OK 0
opened FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 C9 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 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 40 00 00 00 00 0A 2A 00 00 0B 12 B8 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)31
55 53 42 43 0A 00 00 00 00 40 00 00 00 00 0A 2A 00 00 0B 12 B8 00 00 20 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 40 00 00 00 00 0A 2A 00 00 0B 12 D8 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 0B 00 00 00 00 40 00 00 00 00 0A 2A 00 00 0B 12 D8 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
[COLOR="#FF0000"]msController dataOut (static)16384[/COLOR] --------> Point of lockup
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
Now if I change:
Code:
#elif defined(__MK66FX1M0__)
[COLOR="#FF0000"]#define BUFFSIZE (16384) // size of buffer to be written[/COLOR]
#elif defined(__IMXRT1062__)
#define BUFFSIZE (8*1024) // size of buffer to be written
#endif
Code:
#elif defined(__MK66FX1M0__)
[COLOR="#00FF00"]#define BUFFSIZE (16383) // size of buffer to be written[/COLOR]
#elif defined(__IMXRT1062__)
#define BUFFSIZE (8*1024) // size of buffer to be written
#endif
Or change this in ehci.cpp:
Code:
// Create a Bulk or Interrupt Transfer and queue it
//
bool USBHost::queue_Data_Transfer(Pipe_t *pipe, void *buffer, uint32_t len, USBDriver *driver)
{
Transfer_t *transfer, *data, *next;
uint8_t *p = (uint8_t *)buffer;
uint32_t count;
bool last = false;
// TODO: option for zero length packet? Maybe in Pipe_t fields?
//println("new_Data_Transfer");
// allocate qTDs
transfer = allocate_Transfer();
if (!transfer) return false;
data = transfer;
for (count=(len >> 14); count; count--) {
next = allocate_Transfer();
if (!next) {
// free already-allocated qTDs
while (1) {
next = (Transfer_t *)transfer->qtd.next;
free_Transfer(transfer);
if (transfer == data) break;
transfer = next;
}
return false;
}
data->qtd.next = (uint32_t)next;
data = next;
}
// last qTD needs info for followup
data->qtd.next = 1;
data->pipe = pipe;
data->buffer = buffer;
data->length = len;
data->setup.word1 = 0;
data->setup.word2 = 0;
data->driver = driver;
// initialize all qTDs
data = transfer;
while (1) {
uint32_t count = len;
[COLOR="#FF0000"] if (count > 16384) {[/COLOR]
count = 16384;
} else {
last = true;
}
init_qTD(data, p, count, pipe->direction, 0, last);
if (last) break;
p += count;
len -= count;
data = (Transfer_t *)(data->qtd.next);
}
return queue_Transfer(pipe, transfer);
}
Code:
[COLOR="#00FF00"] if (count >= 16384) {[/COLOR]
I get this:
Code:
Test logger_RawWrite
uSDFS_VER:15_MAY_19_08_16
BUFFSIZE :16384
Dev Type :2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20004000
periodictable = 20004000
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 51 09 66 16 01 00 01 02 03 01
VendorID = 0951, ProductID = 1666, Version = 0001
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler 3.0
enumeration:
Serial Number: 00E04C819241F2C188BE0F0D
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 81 02 00 02 FF
Endpoint = 1 IN
Type = Bulk
Max Size = 512
Polling Interval = 255
07 05 02 02 00 02 FF
Endpoint = 2 OUT
Type = Bulk
Max Size = 512
Polling Interval = 255
enumeration:
msController claim this=200029C0
msController claim this=20002D40
msController claim this=200030C0
Descriptor 4 = INTERFACE
msController claim this=200029C0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 FF 07 05 02 02 00 02 FF
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 255
polling intervalOut = 255
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit before msgGetMaxLun: 1
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit after msgGetMaxLun: 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 01 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 01 00 00 00 00 00 00 00 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 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 F8 00 00 00 4B 69 6E 67 73 74 6F 6E 44 61 74 61 54 72 61 76 65 6C 65 72 20 33 2E 30
** ????
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 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
03 9A 33 F3 00 00 02 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 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
FA B8 00 10 8E D0 BC 00 B0 B8 00 00 8E D8 8E C0 FB BE 00 7C BF 00 06 B9 00 02 F3 A4 EA 21 06 00
** ????
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 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 58 90 6D 6B 66 73 2E 66 61 74 00 02 20 20 00 02 00 00 00 00 F8 00 00 20 00 40 00 00 08 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 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 01 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 06 00 00 00 00 00 00 00 00
** CSWSIGNATURE
File System FS_FAT32
Free Disk Size 1867131 clusters
Cluster Size 32 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 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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
stat FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 C9 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 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 02 00 00 00 00 0A 2A 00 00 00 08 C9 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 00 00 0A 2A 00 00 00 42 65 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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
opened FR_OK 0
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 00 08 C9 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 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 40 00 00 00 00 0A 2A 00 00 0B 12 F8 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)16384
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 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 40 00 00 00 00 0A 2A 00 00 0B 13 18 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)16384
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 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 02 00 00 00 00 0A 2A 00 00 00 08 C9 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 00 00 0A 2A 00 00 00 42 65 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 02 00 00 00 00 0A 2A 00 00 00 08 01 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 14 00 00 00 00 00 00 00 00
** CSWSIGNATURE
(61982 - 2.114678 MB/s)
(open: 26970 us; close: 39998 us; write: min,max: 3653 17635 us)
unmount FR_OK
Test logger_RawWrite
uSDFS_VER:15_MAY_19_08_16
BUFFSIZE :16384
Dev Type :2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
reset waited 5
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20004000
periodictable = 20004000
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 51 09 66 16 01 00 01 02 03 01
VendorID = 0951, ProductID = 1666, Version = 0001
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Kingston
enumeration:
Product: DataTraveler 3.0
enumeration:
Serial Number: 00E04C819241F2C188BE0F0D
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 81 02 00 02 FF
Endpoint = 1 IN
Type = Bulk
Max Size = 512
Polling Interval = 255
07 05 02 02 00 02 FF
Endpoint = 2 OUT
Type = Bulk
Max Size = 512
Polling Interval = 255
enumeration:
msController claim this=200029C0
msController claim this=20002D40
msController claim this=200030C0
Descriptor 4 = INTERFACE
msController claim this=200029C0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 FF 07 05 02 02 00 02 FF
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 255
polling intervalOut = 255
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit before msgGetMaxLun: 1
control CallbackIn (msController)
00 00 00 00 00 00 00 00
## mscInit after msgGetMaxLun: 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 01 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 01 00 00 00 00 00 00 00 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 02 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 F8 00 00 00 4B 69 6E 67 73 74 6F 6E 44 61 74 61 54 72 61 76 65 6C 65 72 20 33 2E 30
** ????
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 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
03 9A 33 F3 00 00 02 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 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
FA B8 00 10 8E D0 BC 00 B0 B8 00 00 8E D8 8E C0 FB BE 00 7C BF 00 06 B9 00 02 F3 A4 EA 21 06 00
** ????
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 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 58 90 6D 6B 66 73 2E 66 61 74 00 02 20 20 00 02 00 00 00 00 F8 00 00 20 00 40 00 00 08 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 00
** CSWSIGNATURE
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 06 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 08 01 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 06 00 00 00 00 00 00 00 00
** CSWSIGNATURE
File System FS_FAT32
Free Disk Size 1867131 clusters
Cluster Size 32 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 07 00 00 00 00 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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
stat FR_OK 0
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)31
55 53 42 43 08 00 00 00 00 02 00 00 00 00 0A 2A 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 C9 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 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 02 00 00 00 00 0A 2A 00 00 00 08 C9 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 00 00 0A 2A 00 00 00 42 65 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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
opened FR_OK 0
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 00 08 C9 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 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 40 00 00 00 00 0A 2A 00 00 0B 12 F8 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)16384
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 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 40 00 00 00 00 0A 2A 00 00 0B 13 18 00 00 20 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 1
msController dataOut (static)16384
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 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 02 00 00 00 00 0A 2A 00 00 00 08 C9 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 00 00 0A 2A 00 00 00 42 65 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (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 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 02 00 00 80 00 0A 28 00 00 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackIn (static)
transfer->qtd.token = 0
msController dataIn (static): 512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 00 7B 58 00 00 01 00 00 00 00 00 00 00
msController CallbackOut (static)
transfer->qtd.token = 0
msController dataOut (static)512
54 45 45 4E 53 59 46 4C 41 53 48 08 00 00 E6 6B B3 4E B3 4E 00 00 E6 6B B3 4E 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 02 00 00 00 00 0A 2A 00 00 00 08 01 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 14 00 00 00 00 00 00 00 00
** CSWSIGNATURE
(61982 - 2.114678 MB/s)
(open: 26970 us; close: 39998 us; write: min,max: 3653 17635 us)
unmount FR_OK ------> Completed successfuly.
Same results with a multiple of 16384 up to 32768 on some drives.
Sorry, I know this is long post.
I am seeing the same results on my other T36 system with slightly older uSDFS software (before WXMZ's upgrade).
It seems to be something with the modulus of 16384, not really sure.
I just know there is a problem here that I can't figure out at this time.
Last edited: