Teensyduino File System Integration, including MTP and MSC

What am I missing...

Trying to use File f.isOpen(). Not working. Am I missing something?

Sketch:
Code:
// Test File f.isOpen()

#ifndef diskIO_h
#define diskIO_h
#include "SD.h"
#include <USBHost_t36.h>
#include <USBHost_ms.h>
#if defined(ARDUINO_TEENSY41)
#include "LittleFS.h" // T4.1 only
#endif

#endif

File f;
void setup() {
  // Open serial communications and wait for port to open:
   while (!Serial);

#if defined(ARDUINO_TEENSY41)
  if(CrashReport)
    Serial.print(CrashReport);
#endif  

if(!f.isOpen())
  Serial.println("File f is not open");

}

void loop(void) {
}

This fails to compile with:
Code:
/home/wwatson/arduino-1.8.16/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=156 -DARDUINO=10816 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/tmp/arduino_build_318620/pch -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/cores/teensy4 -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SD/src -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SdFat-GPT_disks/src -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SPI -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/USBHost_t36-FS_Integration_MSC/src -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/LittleFS/src /tmp/arduino_build_318620/sketch/testisOpen.ino.cpp -o /tmp/arduino_build_318620/sketch/testisOpen.ino.cpp.o
testisOpen: In function 'void setup()':
testisOpen:24: error: 'class File' has no member named 'isOpen'
 if(!f.isOpen())
       ^
Multiple libraries were found for "SD.h"
 Used: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SD
 Not used: /home/wwatson/arduino-1.8.16/libraries/SD
Using library SD at version 2.0.0 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SD 
Using library SdFat-GPT_disks at version 2.1.0 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SdFat-GPT_disks 
Using library SPI at version 1.0 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SPI 
Using library USBHost_t36-FS_Integration_MSC at version 0.1 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/USBHost_t36-FS_Integration_MSC 
Using library LittleFS at version 1.0.0 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/LittleFS 
'class File' has no member named 'isOpen'

What am I missing???

Edit: I see isOpen() in all three filesystems and FS.h:confused:
The reason for it is LittleFS is the only filesystem that does not return a bool of success or failure of closing an open file. So I was trying to do a workaround.
 
Last edited:
from : Teensy3-6-UsbHost-MIDI-Performance-Issues
In case it give you an 'aha' moment, this works fine if a MIDI device is connected directly to the T3.6 host port, but fails if the MIDI device is connected to the T3.6 via a USB hub. I will make a reproducible sketch soon.

Kurt and Mike - does this ghastly ghost packet repro when Teensy not connected through a HUB?
> Here Teensy is the device - and not USB_Host ... but easy to test if set up ...
 
Trying to use File f.isOpen(). Not working. Am I missing something?

...
What am I missing???

Edit: I see isOpen() in all three filesystems and FS.h:confused:
The reason for it is LittleFS is the only filesystem that does not return a bool of success or failure of closing an open file. So I was trying to do a workaround.

Same results here with a quick add to open PSRAM integrity sketch:
Code:
C:\T_Drive\tCode\FS_integrate\PSRAM\functions.ino: In function 'void deleteAllDirectory(File, char*)':
C:\T_Drive\tCode\FS_integrate\PSRAM\functions.ino:288:14: error: 'class File' has no member named 'isOpen'
   if ( entry.isOpen() )
              ^
C:\T_Drive\tCode\FS_integrate\PSRAM\functions.ino:312:15: error: 'class File' has no member named 'isOpen'
   if ( !entry.isOpen() )
               ^

In the LittleFS.h I see .isOpen right between .name and .close - both of which are used in that deleteAllDirectory()
 
Now I am really curious... More to checkout I guess. Thought maybe I was missing something.
Thanks for checking:)
 
With our packet issues: It feels like it should be something obvious:

Most everything is within cores\teensy4\usb_mtp.c(.h)
And within the MTP_Teensy project MTP_Teensy.cpp(.h)

When looking in the usb_mtp.c:

Now in theory back to usb_mtp.c:
The code queues up 4 RX transfers and is almost identical to a few others like rawhid, and the like: Some variables invovled:
Code:
#define RX_NUM  4
static transfer_t rx_transfer[RX_NUM] __attribute__ ((used, aligned(32)));
DMAMEM static uint8_t rx_buffer[MTP_RX_SIZE_480 * RX_NUM] __attribute__ ((aligned(32)));
static volatile uint8_t rx_head;
static volatile uint8_t rx_tail;
static uint8_t rx_list[RX_NUM + 1];
So we initialize and queue up the 4 transfers:
Code:
static void rx_queue_transfer(int i)
{
	void *buffer = rx_buffer + i * MTP_RX_SIZE_480;
	arm_dcache_delete(buffer, MTP_RX_SIZE_480);
	usb_prepare_transfer(rx_transfer + i, buffer, rx_packet_size, i);
	NVIC_DISABLE_IRQ(IRQ_USB1);
	usb_receive(MTP_RX_ENDPOINT, rx_transfer + i);
	NVIC_ENABLE_IRQ(IRQ_USB1);
}
It goes through and deletes the cache (these items should be 32 byte aligned) MTP_RX_SIZE_480 is 512 If by chance we connect at lower speed rx_packet_size will be 64,
but in all of our test cases 512... I am unsure of the need to disable this interrupt here, played with moving it around, unclear why needed as usb_receive with disable interrupts when working with queue.
But again this code is modeled after other code. Side note: I believe this code uses LIFO so the last one we add will be the first one returned.

Now when we receive a packet: usb code will call us through:
Code:
static void rx_event(transfer_t *t)
{
	int i = t->callback_param;
	//printf("rx event i=%d\n", i);
	// received a packet with data
	uint32_t head = rx_head;
	if (++head > RX_NUM) head = 0;
	rx_list[head] = i;
	rx_head = head;
}
So in theory this code will keep a round robin list of which buffer numbers have been received. Note like the others, the rx_list is sized RX_NUM +1, to deal with empty or full.

And when our user code back in the library which to read a packet, it will call:
Code:
int usb_mtp_recv(void *buffer, uint32_t timeout)
{
	uint32_t wait_begin_at = systick_millis_count;
	uint32_t tail = rx_tail;
	//digitalWriteFast(2, HIGH);
	while (1) {
		if (!usb_configuration) return -1; // usb not enumerated by host
		if (tail != rx_head) break;
		if (systick_millis_count - wait_begin_at > timeout)  {
			return 0;
		}
		//yield();
	}
	if (++tail > RX_NUM) tail = 0;
	uint32_t i = rx_list[tail];
	rx_tail = tail;

	memcpy(buffer,  rx_buffer + i * MTP_RX_SIZE_480, rx_packet_size);
	rx_queue_transfer(i);
	//memset(rx_transfer, 0, sizeof(rx_transfer));
	//usb_prepare_transfer(rx_transfer + 0, rx_buffer, rx_packet_size, 0);
	//usb_receive(MTP_RX_ENDPOINT, rx_transfer + 0);
	// digitalWriteFast(2, LOW);
	return rx_packet_size;
}
Note: some code will more or less call this code with a timeout and wait, and others will call this after it knows there is data.
Code:
int usb_mtp_available(void)
{
	if (!usb_configuration) return 0;
	if (rx_head != rx_tail) return rx_packet_size;
	//if (!(usb_transfer_status(rx_transfer) & 0x80)) return MTP_RX_SIZE;
	return 0;
}
But the above code should take from the rx_list the buffer index number(0-3), and memcpy it's contents to the supplied buffer, and then add that buffer/transfer back onto the
list of available transfers... Now if we process the transfers fast enough, such as they are coming in slow enough, the next usb packet will again reuse the same buffer...

With LA, I think I verified that are code never has the index (i in these functions out of range...)
Next up try a few more darts to see if anything hits. Like somehow the same index is added twice?
maybe un comment the memset in the queue code to see if that makes difference...

Back to ...
 
from : Teensy3-6-UsbHost-MIDI-Performance-Issues


Kurt and Mike - does this ghastly ghost packet repro when Teensy not connected through a HUB?
> Here Teensy is the device - and not USB_Host ... but easy to test if set up ...

Haven't tried it on a hub. Just updated PFsExFatformatter and got it working again for the MSC drives and pushed that change. Just gave it a try on a unpowered hub and yes - am still seeing those unknown's packets showing up
 
:D

Figured out what is going on... Working on fixes now. Actually working on removing some debug code...

Simple answer is the core usb_mtp.c code when it receives an RX packet, it is not looking at the transfer data..
In particular it is not looking at the status field of the transfer structure.
Found by looking in usb_serial.c and seeing that it extracts the count of bytes received... We just
work like RAWHID and assume all or nothing.

So what happens is if you transfer a file whose length is exactly: 500 + 512*n bytes long,
Then we complete the file transfer and the system decides to send us a 0 length packet...
We blindly copy 512 bytes probably host just reused same packet with 0 length...

So I detect that now... And cleaning up some code.
 
I just pushed up changes to two branches of Cores:

A new one which if others find work, will issue PR:
https://github.com/KurtE/cores/tree/usb_mtp_fix_rx_length

My having fun rawhid512 branch: https://github.com/KurtE/cores/tree/rawhid_512
Note this branch has additional stuff to support Rawhid 512 (not sure if I should do PR on it...)
It also has some additional debug code in startup.c which if you end up in the unused interrupt vector, which will end up resetting the sketch and hopefully print crash report.
But what the new code does, is if you have the debug print turned on, it will dump some of the same data out to in this case Serial4.
I did this as my memory trashing did not result in crashreport, but was able to verify it faulted in memcpy... Not memcpy fault...

Anyway this appears to have fixed the seeing stray packets, which before we may have gone off the deepend.
 
I just pushed up changes to two branches of Cores:

A new one which if others find work, will issue PR:
https://github.com/KurtE/cores/tree/usb_mtp_fix_rx_length

My having fun rawhid512 branch: https://github.com/KurtE/cores/tree/rawhid_512
Note this branch has additional stuff to support Rawhid 512 (not sure if I should do PR on it...)
It also has some additional debug code in startup.c which if you end up in the unused interrupt vector, which will end up resetting the sketch and hopefully print crash report.
But what the new code does, is if you have the debug print turned on, it will dump some of the same data out to in this case Serial4.
I did this as my memory trashing did not result in crashreport, but was able to verify it faulted in memcpy... Not memcpy fault...

Anyway this appears to have fixed the seeing stray packets, which before we may have gone off the deepend.

Been playing with transferring large files to the 128 exFAT drive under different scenarios, i.e, restarts, reformats, large - small - large etc but have not seen the issue where we are getting incomplete transfers or faults causing the dumps for unknown packets or any restarts. Note I am not using BogusFS but normal use case with current libraries.

Still having some issues but not related to large file transfers. Still more todo.
 
Updated Cores here - but not gotten to build anything yet ... gotta grab the chainsaw and clear a driveway here and one for the Nurse next door so she can get to work in the morning ... lights flickering ... lots of wind ... at least it is sunny and wind a bit less ... time to find the hardhat ...

What's the best sample/samples at hand? I PC converted/reformatted my SSD to GPT ... it came up on the T_4.0 on the FRDM4236 with USB ... on powered HUB and no USB_Host power switch circuitry ...
 
Updated Cores here - but not gotten to build anything yet ... gotta grab the chainsaw and clear a driveway here and one for the Nurse next door so she can get to work in the morning ... lights flickering ... lots of wind ... at least it is sunny and wind a bit less ... time to find the hardhat ...

What's the best sample/samples at hand? I PC converted/reformatted my SSD to GPT ... it came up on the T_4.0 on the FRDM4236 with USB ... on powered HUB and no USB_Host power switch circuitry ...

Good luck with the driveway clearing - been a bit windy here but not bad. As for a good example - I have been using this one for testing:

View attachment USB_MTP_IntegrityCheck-211116a.zip

Have fun.
 
As for me, on what to use for testing, I go through a few different ones. Including the bogusFS one, which current version I believe I have it still using my extension of Franks MemoryFS... That I use in that sketch to hold the object index file...

Later using one of the USB MSC testing... Later today will switch to using one setup for the memory board...
 
Wondering (mostly too self ;) )

When we do a transfer and littlefs takes forever, and windows gives up and stops sending us data... If after we detect this, if there is some way other than reboot/reset teensy to tell USB, either full or specific interface to logically reset?
 
Wondering (mostly too self ;) )

When we do a transfer and littlefs takes forever, and windows gives up and stops sending us data... If after we detect this, if there is some way other than reboot/reset teensy to tell USB, either full or specific interface to logically reset?

from MTP or the Teensy not sure. I know @WMXZ has a script that does that in windows:
Code:
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Start-Process PowerShell -Verb RunAs "-NoProfile -ExecutionPolicy Bypass -Command `"cd '$pwd'; & '$PSCommandPath';`"";
    exit;
}

$a = Get-WmiObject Win32_PNPEntity | where { $_.Name -eq 'Teensy'}

echo $a.Name
$a | Disable-PnpDevice -Confirm:$false;
$a | Enable-PnpDevice -Confirm:$false;

The other thing though is that I remember I tried large file transfers to the 512MB flash and didn't have this issue on incomplete transfers that I remember - wish I kept a baseline. NAND transfers seems fast and have no issue handling large file transfers. Haven't tried other flash chips - of course may not have that issue since there is not that much room for a 20MB file transfer.
 
Good luck with the driveway clearing - been a bit windy here but not bad. As for a good example - I have been using this one for testing:

View attachment 26545

Have fun.

Thanks Mike - downloaded - will try to catch up ...
{ After clearing my drive path - then two trees next door - power went off that hour and back - another 20 foot of tree top had blown down back on my one driveway ... gotta go clear that now - nice and sunny so far. }
<EDIT>: It was more like 40 feet of tree top - safely dismembered to clear the drive and find the Lilac it crushed.
 
Last edited:
Thanks Mike - downloaded - will try to catch up ...
{ After clearing my drive path - then two trees next door - power went off that hour and back - another 20 foot of tree top had blown down back on my one driveway ... gotta go clear that now - nice and sunny so far. }
<EDIT>: It was more like 40 feet of tree top - safely dismembered to clear the drive and find the Lilac it crushed.

Does not sound like fun...
 
Finally got the USB_MTP_IntegrityCheck.ino loaded. It shows the GPT SSD, did a list, wrote 'Large Index File', then seems HUNG on 'l'ist files.
I got latest updates Win_Github indicated AFAIK ... ::
Code:
C:\T_Drive\tCode\FS_integrate\USB_MTP_IntegrityCheck\USB_MTP_IntegrityCheck.ino Nov 16 2021 23:55:51

*** Start Interval Timer ***
10051 CMD: 1002(OPEN_SESSION)l: 16 T:0 : 1
10051 RESP:2001(RSP:OK)l: 16 T:0 : 1
10101 CMD: 1001(GET_DEVICE_INFO)l: 12 T:1
10101 RESP:2001(RSP:OK)l: 12 T:1
addFilesystem: 0 SDIO 2000bb98
10151 CMD: 1014(GET_DEVICE_PROP_DESC)l: 16 T:2 : d402
10151 RESP:2001(RSP:OK)l: 16 T:2 : d402
Ram Drive of size: 65536 initialized
addFilesystem: 1 Prog 2000bac0
Set Storage Index drive to 1
Initializing MSC Drives ...
Initializing USB MSC drives...
MSC and MTP initialized.

Menu Options:

1 - List USB Drives (Step 1)
2 - Select USB Drive for Logging (Step 2)
l - List files on disk
i - Write Index File to disk
'B, or b': Make Big file half of free space, or remove all Big files
'S, or s': Make 2MB file , or remove all 2MB files
'n' No verify on Write- TOGGLE
'h' - Menu
*** end Interval Timer ***

USB Drive: 0 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
exFAT:	1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,2048,234436608
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	M	2048	234436608	0	0	exFAT
Found new Volume:0
addFilesystem: 2 MSC0-120GB_Ext 20009a70

USB Drive: 1 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
*** GPT Disk WIP ***
GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0x3F,0xCD,1,4294967295
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

GPT partition header revision: 10000
LBAs current:1 backup:250069675 first:34 last:250069642
Disk GUID:DF2AB377-2508-44B6-AFDB-6AC8259FF2C4Start LBA Array: 2 Count: 128 size:128
Part	 Type Guid, Unique Guid, First, last, attr, name
0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE, 8402B58C-B320-42B3-B647-F4852217495A, 34, 32767, 0, Microsoft reserved partition
1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, 32853683-20F0-47CC-A645-3E9E23CC7E9D, 32768, 250066943, 0, Basic data partition
>>> Microsoft Basic Data Partition
    EXFAT:

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	O	34	32734	2	0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE
2	G	32768	250034176	2	1	exFAT
Found new Volume:1
addFilesystem: 3 MSC1-SSD_GPT120 20009f40

Dump Storage list(4)
store:0 storage:10001 name:SDIO fs:2000bb98
store:1 storage:20001 name:Prog fs:2000bac0
store:2 storage:30001 name:MSC0-120GB_Ext fs:20009a70
store:3 storage:40001 name:MSC1-SSD_GPT120 fs:20009f40

Dump Index List
Drive # 0 Selected
Drive # 0 Selected

 Space Used = 213909504
Filesystem Size = 128144375808
System Volume Information            C: 10/29/2021 17:52 M: 10/29/2021 17:52  /
  WPSettings.dat                     C: 10/29/2021 17:52 M: 10/29/2021 17:53  12
  IndexerVolumeGuid                  C: 10/29/2021 17:52 M: 10/29/2021 17:53  76
YouAreHere4.txt                      C: 10/29/2021 17:53 M: 10/29/2021 17:54  549
Logic+Setup+2.3.39-master.xxx        C: 08/22/2021 07:10 M: 08/22/2021 07:10  162922496
sixaxispairtoolsetup-0.3.1.xxx       C: 10/22/2021 05:02 M: 10/22/2021 05:02  27131904
LargeIndexedTestfile.txt             C: 11/06/2021 20:57 M: 11/06/2021 20:57  22015988
ReadCsvDemo.csv                      C: 01/01/2021 00:00 M: 01/01/2021 00:00  55

Dump Storage list(4)
store:0 storage:10001 name:SDIO fs:2000bb98
store:1 storage:20001 name:Prog fs:2000bac0
store:2 storage:30001 name:MSC0-120GB_Ext fs:20009a70
store:3 storage:40001 name:MSC1-SSD_GPT120 fs:20009f40

Dump Index List
Drive # 0 Selected
Drive # 3 Selected

[B] Space Used = 917504
Filesystem Size = 128012255232
System Volume Information            C: 11/13/2021 20:43 M: 11/13/2021 20:43  /
  WPSettings.dat                     C: 11/13/2021 20:43 M: 11/13/2021 20:43  12
$RECYCLE.BIN                         C: 11/13/2021 20:44 M: 11/13/2021 20:44  /
  desktop.ini                        C: 11/13/2021 20:44 M: 11/13/2021 20:44  129
SSD_GPT120.txt                       C: 11/13/2021 20:44 M: 11/13/2021 20:44  0[/B]
[U]Write Large Index File

done.
[/U]
[B][COLOR="#FF0000"] Space Used = [/COLOR][/B]

With that hung(?) opened 'Teensy' in file explorer and it reported 'Folder is empty'

Restarted and USB was online to start - drives came up in new order - 'l'ist files worked:
Code:
Drive # 2 Selected

 Space Used = 22937600
Filesystem Size = 128012255232
System Volume Information            C: 11/13/2021 20:43 M: 11/13/2021 20:43  /
  WPSettings.dat                     C: 11/13/2021 20:43 M: 11/13/2021 20:43  12
[B]LargeIndexedTestfile.txt             C: 08/22/2021 07:10 M: 11/17/2021 00:00  22015988[/B]
$RECYCLE.BIN                         C: 11/13/2021 20:44 M: 11/13/2021 20:44  /
  desktop.ini                        C: 11/13/2021 20:44 M: 11/13/2021 20:44  129
[B]SSD_GPT120.txt                       C: 11/13/2021 20:44 M: 11/13/2021 20:44  0[/B]

Did an "S" 2MB write and that completed ( 454 KB/s ) and 'l'ist worked again.

went to disk 3 - ExFat and did 'i'ndex write and 'l'ist worked promptly.

Opened Teensy in File Explorer and four drives present! Removed the 'Index File'.
Returned to TyComm and GPT disk #2 and 'i'ndex file write 'Done', and 'l'ist worked.
-> 'hang' above was FIRST use of disk after PC format. Any chance it was confused during disk space calculation - even though it had done a 'l'ist before?

Maybe known? :: Returned to Win File Explorer and it doesn't show the newly rewritten "LargeIndexedTestfile.txt C: 08/22/2021 07:10 M: 11/17/2021 00:45 22015988"

Does not sound like fun...
Sort of fun using the battery 10" little chainsaw - except the trigger interlock is a chore as it it is binding. So - not at all fun - spent some time registering the tool and then reporting warranty issue. Already took it back to ACE hardware - but they are not an official Craftsman repair shop ...
 
Compiled the SAME for T_4.0 on FRDM4236 board that worked for other usb to that same USB HDD/HUB with the GPT SSD was attached. It did not have an SD card in.

Teensy goes to a fast LED BLINK??? Some issue with having BUILTIN_SDCARD - but not finding a card in the socket?

Code:
C:\T_Drive\tCode\FS_integrate\USB_MTP_IntegrityCheck\USB_MTP_IntegrityCheck.ino Nov 17 2021 01:12:51


*** Start Interval Timer ***
10051 CMD: 1002(OPEN_SESSION)l: 16 T:0 : 1
10051 RESP:2001(RSP:OK)l: 16 T:0 : 1
10101 CMD: 1001(GET_DEVICE_INFO)l: 12 T:1
10101 RESP:2001(RSP:OK)l: 12 T:1
10151 CMD: 1014(GET_DEVICE_PROP_DESC)l: 16 T:2 : d402
10151 RESP:2001(RSP:OK)l: 16 T:2 : d402
10601 CMD: 1004(GET_STORAGE_IDS)l: 12 T:3
10601 RESP:2019(RSP:DEVICE_BUSY)l: 12 T:3
11301 CMD: 1004(GET_STORAGE_IDS)l: 12 T:4
11301 RESP:2019(RSP:DEVICE_BUSY)l: 12 T:4
Failed to add any valid storage objects

Plugged in same SD card from T_4.1 and then it came up - and shows in Win File Explorer, except the HDD but into the HUB did not arrive?
There is a bit of racing as I don't have the USB current switch hardware - thus the powered HUB.
This was powering T_4.0 a bit early - seems the HDD isn't online in time?
Code:
C:\T_Drive\tCode\FS_integrate\USB_MTP_IntegrityCheck\USB_MTP_IntegrityCheck.ino Nov 17 2021 01:12:51


*** Start Interval Timer ***
10051 CMD: 1002(OPEN_SESSION)l: 16 T:0 : 1
10051 RESP:2001(RSP:OK)l: 16 T:0 : 1
10101 CMD: 1001(GET_DEVICE_INFO)l: 12 T:1
10101 RESP:2001(RSP:OK)l: 12 T:1
addFilesystem: 0 SDIO 2000bb94
10151 CMD: 1014(GET_DEVICE_PROP_DESC)l: 16 T:2 : d402
10151 RESP:2001(RSP:OK)l: 16 T:2 : d402
Ram Drive of size: 65536 initialized
addFilesystem: 1 Prog 2000babc
Set Storage Index drive to 1
Initializing MSC Drives ...
Initializing USB MSC drives...
MSC and MTP initialized.

Menu Options:

1 - List USB Drives (Step 1)
2 - Select USB Drive for Logging (Step 2)
l - List files on disk
i - Write Index File to disk
'B, or b': Make Big file half of free space, or remove all Big files
'S, or s': Make 2MB file , or remove all 2MB files
'n' No verify on Write- TOGGLE
'h' - Menu
*** end Interval Timer ***

USB Drive: 0 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
*** GPT Disk WIP ***
GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0x3F,0xCD,1,4294967295
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

GPT partition header revision: 10000
LBAs current:1 backup:250069675 first:34 last:250069642
Disk GUID:DF2AB377-2508-44B6-AFDB-6AC8259FF2C4Start LBA Array: 2 Count: 128 size:128
Part	 Type Guid, Unique Guid, First, last, attr, name
0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE, 8402B58C-B320-42B3-B647-F4852217495A, 34, 32767, 0, Microsoft reserved partition
1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, 32853683-20F0-47CC-A645-3E9E23CC7E9D, 32768, 250066943, 0, Basic data partition
>>> Microsoft Basic Data Partition
    EXFAT:

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	O	34	32734	2	0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE
2	G	32768	250034176	2	1	exFAT
Found new Volume:0
addFilesystem: 2 MSC0-SSD_GPT120 20009a70
LP:11288 CMD: 1004(GET_STORAGE_IDS)l: 12 T:3
11288 RESP:2001(RSP:OK)l: 12 T:3
LP:11289 CMD: 1005(GET_STORAGE_INFO)l: 16 T:4 : 10001
65537 0 name:SDIO
65537 0 name:SDIO
11302 RESP:2001(RSP:OK)l: 16 T:4 : 10001
LP:11302 CMD: 1005(GET_STORAGE_INFO)l: 16 T:5 : 20001
131073 1 name:Prog
131073 1 name:Prog
11302 RESP:2001(RSP:OK)l: 16 T:5 : 20001
LP:11303 CMD: 1005(GET_STORAGE_INFO)l: 16 T:6 : 30001
196609 2 name:MSC0-SSD_GPT120
196609 2 name:MSC0-SSD_GPT120
11905 RESP:2001(RSP:OK)l: 16 T:6 : 30001
LP:11905 CMD: 9801(GET_OBJECT_PROPS_SUPPORTED)l: 16 T:7 : 3000
11905 RESP:2001(RSP:OK)l: 16 T:7 : 3000
LP:11905 CMD: 9801(GET_OBJECT_PROPS_SUPPORTED)l: 16 T:8 : 3001
11905 RESP:2001(RSP:OK)l: 16 T:8 : 3001

Powering the HUB first - then the T_4.0 gets all 4 disks:
Code:
C:\T_Drive\tCode\FS_integrate\USB_MTP_IntegrityCheck\USB_MTP_IntegrityCheck.ino Nov 17 2021 01:12:51


*** Start Interval Timer ***
10051 CMD: 1002(OPEN_SESSION)l: 16 T:0 : 1
10051 RESP:2001(RSP:OK)l: 16 T:0 : 1
10101 CMD: 1001(GET_DEVICE_INFO)l: 12 T:1
10101 RESP:2001(RSP:OK)l: 12 T:1
addFilesystem: 0 SDIO 2000bb94
10151 CMD: 1014(GET_DEVICE_PROP_DESC)l: 16 T:2 : d402
10151 RESP:2001(RSP:OK)l: 16 T:2 : d402
Ram Drive of size: 65536 initialized
addFilesystem: 1 Prog 2000babc
Set Storage Index drive to 1
Initializing MSC Drives ...
Initializing USB MSC drives...
MSC and MTP initialized.

Menu Options:

1 - List USB Drives (Step 1)
2 - Select USB Drive for Logging (Step 2)
l - List files on disk
i - Write Index File to disk
'B, or b': Make Big file half of free space, or remove all Big files
'S, or s': Make 2MB file , or remove all 2MB files
'n' No verify on Write- TOGGLE
'h' - Menu
*** end Interval Timer ***

USB Drive: 0 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
*** GPT Disk WIP ***
GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0x3F,0xCD,1,4294967295
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

GPT partition header revision: 10000
LBAs current:1 backup:250069675 first:34 last:250069642
Disk GUID:DF2AB377-2508-44B6-AFDB-6AC8259FF2C4Start LBA Array: 2 Count: 128 size:128
Part	 Type Guid, Unique Guid, First, last, attr, name
0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE, 8402B58C-B320-42B3-B647-F4852217495A, 34, 32767, 0, Microsoft reserved partition
1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, 32853683-20F0-47CC-A645-3E9E23CC7E9D, 32768, 250066943, 0, Basic data partition
>>> Microsoft Basic Data Partition
    EXFAT:

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	O	34	32734	2	0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE
2	G	32768	250034176	2	1	exFAT
Found new Volume:0
addFilesystem: 2 MSC0-SSD_GPT120 20009a70
LP:10921 CMD: 1004(GET_STORAGE_IDS)l: 12 T:3
10921 RESP:2001(RSP:OK)l: 12 T:3
LP:10921 CMD: 1005(GET_STORAGE_INFO)l: 16 T:4 : 10001
65537 0 name:SDIO
65537 0 name:SDIO
10935 RESP:2001(RSP:OK)l: 16 T:4 : 10001
LP:10935 CMD: 1005(GET_STORAGE_INFO)l: 16 T:5 : 20001
131073 1 name:Prog
131073 1 name:Prog
10935 RESP:2001(RSP:OK)l: 16 T:5 : 20001
LP:10935 CMD: 1005(GET_STORAGE_INFO)l: 16 T:6 : 30001
196609 2 name:MSC0-SSD_GPT120
196609 2 name:MSC0-SSD_GPT120
11607 RESP:2001(RSP:OK)l: 16 T:6 : 30001

[B]USB Drive: 1 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
exFAT:	1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,2048,234436608
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0[/B]

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	M	2048	234436608	0	0	exFAT
Found new Volume:1
addFilesystem: 3 MSC1-120GB_Ext 20009f40
*MTPD::send_Event(4004) 40001
LP:11786 CMD: 9801(GET_OBJECT_PROPS_SUPPORTED)l: 16 T:7 : 3000
11786 RESP:2001(RSP:OK)l: 16 T:7 : 3000
LP:11786 CMD: 9801(GET_OBJECT_PROPS_SUPPORTED)l: 16 T:8 : 3001
11786 RESP:2001(RSP:OK)l: 16 T:8 : 3001
LP:11792 CMD: 1005(GET_STORAGE_INFO)l: 16 T:9 : 40001
262145 3 name:MSC1-120GB_Ext
262145 3 name:MSC1-120GB_Ext
11968 RESP:2001(RSP:OK)l: 16 T:9 : 40001
 
Finally got the USB_MTP_IntegrityCheck.ino loaded. It shows the GPT SSD, did a list, wrote 'Large Index File', then seems HUNG on 'l'ist files.
I got latest updates Win_Github indicated AFAIK ... ::
Code:
C:\T_Drive\tCode\FS_integrate\USB_MTP_IntegrityCheck\USB_MTP_IntegrityCheck.ino Nov 16 2021 23:55:51

*** Start Interval Timer ***
10051 CMD: 1002(OPEN_SESSION)l: 16 T:0 : 1
10051 RESP:2001(RSP:OK)l: 16 T:0 : 1
10101 CMD: 1001(GET_DEVICE_INFO)l: 12 T:1
10101 RESP:2001(RSP:OK)l: 12 T:1
addFilesystem: 0 SDIO 2000bb98
10151 CMD: 1014(GET_DEVICE_PROP_DESC)l: 16 T:2 : d402
10151 RESP:2001(RSP:OK)l: 16 T:2 : d402
Ram Drive of size: 65536 initialized
addFilesystem: 1 Prog 2000bac0
Set Storage Index drive to 1
Initializing MSC Drives ...
Initializing USB MSC drives...
MSC and MTP initialized.

Menu Options:

1 - List USB Drives (Step 1)
2 - Select USB Drive for Logging (Step 2)
l - List files on disk
i - Write Index File to disk
'B, or b': Make Big file half of free space, or remove all Big files
'S, or s': Make 2MB file , or remove all 2MB files
'n' No verify on Write- TOGGLE
'h' - Menu
*** end Interval Timer ***

USB Drive: 0 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
exFAT:	1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,2048,234436608
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	M	2048	234436608	0	0	exFAT
Found new Volume:0
addFilesystem: 2 MSC0-120GB_Ext 20009a70

USB Drive: 1 connected

msc # Partition Table
	part,boot,bgnCHS[3],type,endCHS[3],start,length
*** GPT Disk WIP ***
GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0x3F,0xCD,1,4294967295
pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0

GPT partition header revision: 10000
LBAs current:1 backup:250069675 first:34 last:250069642
Disk GUID:DF2AB377-2508-44B6-AFDB-6AC8259FF2C4Start LBA Array: 2 Count: 128 size:128
Part	 Type Guid, Unique Guid, First, last, attr, name
0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE, 8402B58C-B320-42B3-B647-F4852217495A, 34, 32767, 0, Microsoft reserved partition
1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, 32853683-20F0-47CC-A645-3E9E23CC7E9D, 32768, 250066943, 0, Basic data partition
>>> Microsoft Basic Data Partition
    EXFAT:

Try Partition list
PART	Type	Start	Count	(MBR	Part)	Volume Type
1	O	34	32734	2	0	E3C9E316-0B5C-4DB8-817D-F92DF00215AE
2	G	32768	250034176	2	1	exFAT
Found new Volume:1
addFilesystem: 3 MSC1-SSD_GPT120 20009f40

Dump Storage list(4)
store:0 storage:10001 name:SDIO fs:2000bb98
store:1 storage:20001 name:Prog fs:2000bac0
store:2 storage:30001 name:MSC0-120GB_Ext fs:20009a70
store:3 storage:40001 name:MSC1-SSD_GPT120 fs:20009f40

Dump Index List
Drive # 0 Selected
Drive # 0 Selected

 Space Used = 213909504
Filesystem Size = 128144375808
System Volume Information            C: 10/29/2021 17:52 M: 10/29/2021 17:52  /
  WPSettings.dat                     C: 10/29/2021 17:52 M: 10/29/2021 17:53  12
  IndexerVolumeGuid                  C: 10/29/2021 17:52 M: 10/29/2021 17:53  76
YouAreHere4.txt                      C: 10/29/2021 17:53 M: 10/29/2021 17:54  549
Logic+Setup+2.3.39-master.xxx        C: 08/22/2021 07:10 M: 08/22/2021 07:10  162922496
sixaxispairtoolsetup-0.3.1.xxx       C: 10/22/2021 05:02 M: 10/22/2021 05:02  27131904
LargeIndexedTestfile.txt             C: 11/06/2021 20:57 M: 11/06/2021 20:57  22015988
ReadCsvDemo.csv                      C: 01/01/2021 00:00 M: 01/01/2021 00:00  55

Dump Storage list(4)
store:0 storage:10001 name:SDIO fs:2000bb98
store:1 storage:20001 name:Prog fs:2000bac0
store:2 storage:30001 name:MSC0-120GB_Ext fs:20009a70
store:3 storage:40001 name:MSC1-SSD_GPT120 fs:20009f40

Dump Index List
Drive # 0 Selected
Drive # 3 Selected

[B] Space Used = 917504
Filesystem Size = 128012255232
System Volume Information            C: 11/13/2021 20:43 M: 11/13/2021 20:43  /
  WPSettings.dat                     C: 11/13/2021 20:43 M: 11/13/2021 20:43  12
$RECYCLE.BIN                         C: 11/13/2021 20:44 M: 11/13/2021 20:44  /
  desktop.ini                        C: 11/13/2021 20:44 M: 11/13/2021 20:44  129
SSD_GPT120.txt                       C: 11/13/2021 20:44 M: 11/13/2021 20:44  0[/B]
[U]Write Large Index File

done.
[/U]
[B][COLOR="#FF0000"] Space Used = [/COLOR][/B]

With that hung(?) opened 'Teensy' in file explorer and it reported 'Folder is empty'

Restarted and USB was online to start - drives came up in new order - 'l'ist files worked:
Code:
Drive # 2 Selected

 Space Used = 22937600
Filesystem Size = 128012255232
System Volume Information            C: 11/13/2021 20:43 M: 11/13/2021 20:43  /
  WPSettings.dat                     C: 11/13/2021 20:43 M: 11/13/2021 20:43  12
[B]LargeIndexedTestfile.txt             C: 08/22/2021 07:10 M: 11/17/2021 00:00  22015988[/B]
$RECYCLE.BIN                         C: 11/13/2021 20:44 M: 11/13/2021 20:44  /
  desktop.ini                        C: 11/13/2021 20:44 M: 11/13/2021 20:44  129
[B]SSD_GPT120.txt                       C: 11/13/2021 20:44 M: 11/13/2021 20:44  0[/B]

Did an "S" 2MB write and that completed ( 454 KB/s ) and 'l'ist worked again.

went to disk 3 - ExFat and did 'i'ndex write and 'l'ist worked promptly.

Opened Teensy in File Explorer and four drives present! Removed the 'Index File'.
Returned to TyComm and GPT disk #2 and 'i'ndex file write 'Done', and 'l'ist worked.
-> 'hang' above was FIRST use of disk after PC format. Any chance it was confused during disk space calculation - even though it had done a 'l'ist before?

Maybe known? :: Returned to Win File Explorer and it doesn't show the newly rewritten "LargeIndexedTestfile.txt C: 08/22/2021 07:10 M: 11/17/2021 00:45 22015988"


Sort of fun using the battery 10" little chainsaw - except the trigger interlock is a chore as it it is binding. So - not at all fun - spent some time registering the tool and then reporting warranty issue. Already took it back to ACE hardware - but they are not an official Craftsman repair shop ...

Morning just having my coffee :) Going to try and repeat the steps just in case I missed something

1. Reformatted exFAT on SSD
2. '1' List drives
Code:
Dump Storage list(4)
store:0 storage:10001 name:SDIO fs:2000b674
store:1 storage:20001 name:Prog fs:2000b59c
store:2 storage:30001 name:sFlash6 fs:2000b4c0
store:3 storage:40001 name:MSC0-exFAT-SSD fs:20009470
2. Select GPT exFAT drive using command '2 3'
Code:
Drive # 3 Selected
3. 'l' list files
Code:
 Space Used = 1572864
Filesystem Size = 500080574464
Writing a ExFatFile line 82
System Volume Information            C: 11/17/2021 07:38 M: 11/17/2021 07:38  /
  WPSettings.dat                     C: 11/17/2021 07:38 M: 11/17/2021 07:38  12
  IndexerVolumeGuid                  C: 11/17/2021 07:38 M: 11/17/2021 07:38  76
4. copy large file and list files
Code:
Writing a ExFatFile line 82
 # USB Packets: 42999 total: 0 avg ms: 0 max: 0
 # Write: 43000 total:16125 avg ms: 0 max: 1
>>>Total Time: 16127752
SendObject() returned true
Code:
Space Used = 23592960
Filesystem Size = 500080574464
Writing a ExFatFile line 82
System Volume Information            C: 11/17/2021 07:38 M: 11/17/2021 07:38  /
  WPSettings.dat                     C: 11/17/2021 07:38 M: 11/17/2021 07:38  12
  IndexerVolumeGuid                  C: 11/17/2021 07:38 M: 11/17/2021 07:38  76
LargeIndexedTestfileOrig.txt         C: 11/17/2021 07:43 M: 01/01/2019 00:05  22015988

-> 'hang' above was FIRST use of disk after PC format. Any chance it was confused during disk space calculation - even though it had done a 'l'ist before?
Maybe but did you remember to select the drive first to list the files on the first go around

EDIT: Was also able to copy a directory of mixed size files
Code:
LFS_CPY                              C: 01/01/2019 00:08 M: 01/01/2019 00:08  /
  calculations.wav                   C: 11/17/2021 07:47 M: 01/01/2019 00:08  426812
  cccc.py                            C: 11/17/2021 07:47 M: 01/01/2019 00:08  2440
  completed.wav                      C: 11/17/2021 07:47 M: 01/01/2019 00:08  276972
  dangerous_to_remain.wav            C: 11/17/2021 07:47 M: 01/01/2019 00:08  373404
  datalog.txt                        C: 11/17/2021 07:47 M: 01/01/2019 00:08  1187
  enough_info.wav                    C: 11/17/2021 07:47 M: 01/01/2019 00:08  513900
  functional.wav                     C: 11/17/2021 07:47 M: 01/01/2019 00:08  237868
  mtpindex.dat                       C: 11/17/2021 07:47 M: 01/01/2019 00:08  0
  odd1.wav                           C: 11/17/2021 07:47 M: 01/01/2019 00:08  553516
  one_moment.wav                     C: 11/17/2021 07:47 M: 01/01/2019 00:08  202748
  operational.wav                    C: 11/17/2021 07:47 M: 01/01/2019 00:08  772652
  Picture1.png                       C: 11/17/2021 07:47 M: 01/01/2019 00:08  1037815
  SDTEST1.wav                        C: 11/17/2021 07:47 M: 01/01/2019 00:09  16788062
  SDTEST2.wav                        C: 11/17/2021 07:47 M: 01/01/2019 00:09  16426210
  SDTEST3.wav                        C: 11/17/2021 07:47 M: 01/01/2019 00:09  13617870
  SDTEST4.wav                        C: 11/17/2021 07:47 M: 01/01/2019 00:09  17173664
  sorry_dave.wav                     C: 11/17/2021 07:48 M: 01/01/2019 00:09  791676
  stop.wav                           C: 11/17/2021 07:48 M: 01/01/2019 00:09  201356
 
Quick note on setup: Paul has merged in several things over the last day, so I will be starting testing with:

cores - master branch
SD - Juse_Use_SdFat branch
SDFat - master (Synced with Paul's)
LittleFs - main

USBHost_t36 - My FS_Integration_MSC branch - Hopefully soon we can review the functionality and organization layout of the changes and merge soon.

MTP_Teensy - my main branch
 
defragster said:
Compiled the SAME for T_4.0 on FRDM4236 board that worked for other usb to that same USB HDD/HUB with the GPT SSD was attached. It did not have an SD card in.

Teensy goes to a fast LED BLINK??? Some issue with having BUILTIN_SDCARD - but not finding a card in the socket?

That's probably because of this section in the sketch
Code:
  bool storage_added = false;
  for (uint8_t i = 0; i < COUNT_MYFS; i++) {
    if (myFS[i].sd.begin(myFS[i].csPin)) {
      storage_added = true;
      storage.addFilesystem(myFS[i].sd, myFS[i].name);
    }
  }
  if (!storage_added) {
    Serial.println("Failed to add any valid storage objects");
    pinMode(13, OUTPUT);
    while (1) {
      digitalToggleFast(13);
      delay(250);
    }
  }
Where its assuming that at a minimum you need a SD Card -- probably should fix that on the next update of the sketch.
 
Yeah - Looked after posting and saw the for loop over the SD - figured that was the cause ...

That drive 'converted' to GPT was years old non-GPT drive. Then converted and formatted 'quick' with ExFat on PC and introduced to Teensy.
So possibly some confusing 'old' data values? Odd it did 'l'ist before 'i'ndex - then failed after that though. Though that hang was after the first drive write done to that GPT disk.

So many moving parts for 'current' code ...
 
Mike - is the current USB_MTP_IntegrityCheck.ino posted somewhere?

Just did 'b'ig and it took 6.9 secs to micros() rolled over and write speed it 0.3 KB/sec for 25MB where a 2MB 's'mall 2MB write is 0.69 sec and 3,445 KB/sec.
> That was with Verify OFF - not much slower with verify on at 3,248 KB/s

If I get to grabbing all the indicated Kurt WIP's - I may as well have a current test sketch to work with

BTW: T_4.0 online ~11 hours and still active and running properly { in TyComm } now since above tests started with it.
> though T_4.0 Win Explorer shows 'No Files' on all four media?

Looking at Win Explorer - the T_4.0 and 4.1 both online and shown as 'Teensy': Can the name presented show the Model# or Serial#?
> both T_4.1 drive folders show the media DIR in Win Explorer.
--> That includes the SD drive I removed the media from to put in the T_4.0
 
On the way to get gas thought : I should try writing a file to the Teensy drives from Windows.

All 4 T_4.0 drives ( showing 'no files' ) : All four gave Windows Chime noise but no UI

On T_4.1 : Prog Chimed, The SDIO ( with no media ) gave some copy UI gauge and then failed.

This is the only TyComm output - only from T_4.1 Empty SDIO drive:
Code:
LP:48501453 CMD: 100c(SEND_OBJECT_INFO)l: 20 T:115 : 20001 ffffffff
48501453 DATA:100c(SEND_OBJECT_INFO)l: 174 T:115 : 0 3000 7e47ea 3000 0
SendObjectInfo: 131073 4294967295 20008ac0: 0 3000 0 7e47ea 3000 0 0 0 0 0 0 0 0 0 0 : diffsmall1OC.txt
Read DateTime string: 20211117T135655.0
>> date/Time: 61950a27 11/17/2021 13:56:55
Created: 61950a27
Read DateTime string: 20210305T123429.0
>> date/Time: 60422555 3/5/2021 12:34:29
Modified: 60422555
Size of object:8275946 is > free space: 57344
48501453 RESP:200c(RSP:STORAGE_FULL)l: 24 T:115 : 20001 ffffffff 8122109b
LP:48507762 CMD: 100c(SEND_OBJECT_INFO)l: 20 T:116 : 10001 ffffffff
48507762 DATA:100c(SEND_OBJECT_INFO)l: 174 T:116 : 0 3000 7e47ea 3000 0
SendObjectInfo: 65537 4294967295 20008ac0: 0 3000 0 7e47ea 3000 0 0 0 0 0 0 0 0 0 0 : diffsmall1OC.txt
Read DateTime string: 20211117T135702.0
>> date/Time: 61950a2e 11/17/2021 13:57:2
Created: 61950a2e
Read DateTime string: 20210305T123429.0
>> date/Time: 60422555 3/5/2021 12:34:29
Modified: 60422555
Size of object:8275946 is > free space: 0
48508763 RESP:200c(RSP:STORAGE_FULL)l: 24 T:116 : 10001 ffffffff ffffffff

T_4.1 TyComm USB still responsive
T_4.0 TyComm UI ... No Response
 
Hopefully Beta 3 delayed enough to make gathering these worthwhile:

cores - master branch :: github.com/PaulStoffregen/cores
SD - Juse_Use_SdFat branch :: KurtE/SD/tree/Juse_Use_SdFat
SDFat - master (Synced with Paul's) :: PaulStoffregen/SdFat
LittleFs - main :: PaulStoffregen/LittleFS

USBHost_t36 - My FS_Integration_MSC branch :: KurtE/USBHost_t36/tree/FS_Integration_MSC

MTP_Teensy - my main branch :: KurtE/MTP_Teensy

well that didn't go well on the first try - libs to sketchbook - or overwriting in Teensy\avr ...

... waiting for Beta 3 and fresh install ...
 
Back
Top