from your post, there are 2 parts:
Part 1
And I don’t think ALFAT returned !00 with this command. It should be !02 or something else, because it is wrong command. It must be: “O 0W>[Driver:][PATH]\r”
Part 2
If you are talking about ALFAT USB, if I remember correctly, ALFAT USB has only one USB and there should be USB0 with initialize command “I U0:”, there is also no SD.
And one more thing I don’t understand, those commands like “I” (Initialize) or “O” (Open a handle), the returned bytes should be 4 bytes, but there you are having 8 bytes. I am really don’t know where they come from, but I am sure it is NOT come from ALFAT. Are you sure the way you read is correct? Try to check offset variable on your UART buffer
Example:
If this command is successful, it should be only “!00\n”, otherwise, it maybe “!10\n” or “!11\n” or something else.
But here you have both “!10\n” (not success) and “!00\n” (success)
The next thing is:
Why do you have ‘’ at the end of the command? That should be file name.