-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot reliably mount emulated storage under Linux #980
Comments
Snapshot of the raw contents of the emulated USB drive: ev3fs.zip |
This seems to be a problem with the |
The issue can be reproduced with https://github.com/microsoft/uf2-linux/, so it is not specific to EV3. struct DirMap dirMaps[] = { //
{"Uf2Dir", "/home/kuba/uf2", F_UF2},
{NULL, NULL, 0}}; |
I am also having this issue. Possibly the documentation should be updated to state that drag and drop isn't supported on Linux? I'm assuming that this will affect chromebooks as well, which kind of seems like the primary use case. As this is likely to be a bug with the EV3 firmware, rather than a problem with makecode itself, should it be raised with Lego to be resolved? |
Same problem here on a Raspberry Pi 400 with Raspbian GNU/Linux 10.Would be great for teaching if this problem could be fixed soon! Doing a fsck file system-check after rebooting the EV3 shows the following:
|
same here :( lots of kernel: FAT-fs errors, first this:
and then lots of these at each access:
but it seems I cannot see the drive in windows as well and do not see the ev3 in the firmware upgrade tool anymore (otherwise I'd try to downgrade it for instance).. I also found this alternative explanation/root cause so far: https://serverfault.com/questions/331779/how-do-i-debug-this-fs-error-on-a-flash-device anyone has some progress on this? |
This reverts commit a3082d5. The reverted commit adds check for FAT images. However, the tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 With the patch reverted, we can mount an image copied from the EV3 Signed-off-by: Gwendal Grignou <[email protected]>
This reverts commit a3082d5. The reverted commit adds check for FAT images. However, the tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 With the patch reverted, we can mount an image copied from the EV3 Signed-off-by: Gwendal Grignou <[email protected]> (am from https://lore.kernel.org/r/[email protected]) BUG=b:205899437 TEST=With the patch reverted, we can mount an image copied from the EV3 Change-Id: I731be37a6305e4d5378ac4d31817adcbd43e9c62 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3430762 Tested-by: Gwendal Grignou <[email protected]> Reviewed-by: Daniil Lunev <[email protected]> Commit-Queue: Gwendal Grignou <[email protected]> (cherry picked from commit f67697eb16412d5a1b5a633b619e129425afcec0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3498707
This reverts commit a3082d5. The reverted commit adds check for FAT images. However, the tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 With the patch reverted, we can mount an image copied from the EV3 Signed-off-by: Gwendal Grignou <[email protected]> (am from https://lore.kernel.org/r/[email protected]) BUG=b:205899437 TEST=With the patch reverted, we can mount an image copied from the EV3 Change-Id: I731be37a6305e4d5378ac4d31817adcbd43e9c62 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3430762 Tested-by: Gwendal Grignou <[email protected]> Reviewed-by: Daniil Lunev <[email protected]> Commit-Queue: Gwendal Grignou <[email protected]> (cherry picked from commit f67697eb16412d5a1b5a633b619e129425afcec0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3498707
This reverts commit a3082d5. The reverted commit adds check for FAT images. However, the tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 With the patch reverted, we can mount an image copied from the EV3 Signed-off-by: Gwendal Grignou <[email protected]> (am from https://lore.kernel.org/r/[email protected]) BUG=b:205899437 TEST=With the patch reverted, we can mount an image copied from the EV3 Change-Id: I731be37a6305e4d5378ac4d31817adcbd43e9c62 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3430762 Tested-by: Gwendal Grignou <[email protected]> Reviewed-by: Daniil Lunev <[email protected]> Commit-Queue: Gwendal Grignou <[email protected]> (cherry picked from commit f67697eb16412d5a1b5a633b619e129425afcec0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3498707
The tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 When counting the number of subdirs, ignore . and .. subdirs and add two when setting the initial link count for directories. This way, the number of links is always correctly accounted for. With this fix applied, we can mount an image with such empty directories, access them, create subdirectories and remove them. This also prevents corrupting such filesystems as when the inodes would be put, since no links were accounted for, all of its clusters would be marked as free. Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]> Cc: Gwendal Grignou <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ Cc: [email protected]
This reverts commit a3082d5. The reverted commit adds check for FAT images. However, the tools used for creating images for the Lego Mindstrom EV3 are not adding '.' and '..' entry in the 'Projects' directory. Without this fix, the kernel can not fill the inode structure for 'Projects' directory. See microsoft/pxt-ev3#980 And microsoft/uf2-linux#6 With the patch reverted, we can mount an image copied from the EV3 Signed-off-by: Gwendal Grignou <[email protected]> (am from https://lore.kernel.org/r/[email protected]) BUG=b:205899437 TEST=With the patch reverted, we can mount an image copied from the EV3 Change-Id: I731be37a6305e4d5378ac4d31817adcbd43e9c62 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3430762 Tested-by: Gwendal Grignou <[email protected]> Reviewed-by: Daniil Lunev <[email protected]> Commit-Queue: Gwendal Grignou <[email protected]> (cherry picked from commit f67697eb16412d5a1b5a633b619e129425afcec0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3498707
Describe the bug
Linux-based OSes cannot reliably mount the emulated FAT32 volume. The underlying block device is accessible, but the FAT32 format cannot be parsed without errors.
To Reproduce
dmesg
in terminalExpected behavior
Kernel mounts the filesystem successfully and is able to read and write files on it without errors.
Screenshots
dmesg on PC:
If needed, I can scrape the kernel dmesg from the brick as well (via telnet).
Desktop (please complete the following information):
5.3.0-40-generic #32~18.04.1-Ubuntu
Additional context
I can force the kernel into ignoring the errors. After that, the files can be listed and application upload succeeds, but it is not a very good experience.
However I cannot access the
projects
directory at all, the result is always an I/O error. On Windows, I can browser the Projects directory and the UF2 files show up.The text was updated successfully, but these errors were encountered: