External SSD card became ready-only system

Hi:
Recently I have a Jetson Xavier NX devit version with the jetpack 5.1. I reflashed it and I also has an exrternal SSD card with EXT4 format(The brand is SAMSUNG). Since I have to copy about 200GB data (ROS bag) from Jeston xavier nx to external SSD card, I noticed that when i finished copying 2 rosbags, the external SSD card became ready-only system. I did not have the authority to do any processing in this SSD card. Like the image shown below:


Do you have any idea for this? Thanks.

Hi yu.lan,

Are you using Xavier NX with SD module on the devkit board?

Please share the result of lsblk on your board for further check.

Have you tried to remount the SSD disk at this moment?

Hi:
Many thanks for your quick reply!
I used the Jetson Xavier NX with SD module on the devkit board.
The result of the lsblk is shown below:



Here is before copying data to my SSD card. I can still do some operation in this external SSD card. But when I copy some big data then I got the error:
image
and in the lsblk:

When I unmount it I noticed:
image

Do you have any idea for it?

Are you using USB-SSD rather than NVMe SSD?

Hi, many thanks for your help! I used the NVMe SSD card in the system. The USB-SSD I used was just for transferrring the data. Sorry for making you confused. The problem was when I transferred the data from system(NVMe card) to USB-SSD card, I encountered this problem.

Your problem is about USB-SSD become read-only rather than NVMe SSD (which is used for rootfs).
Is my understanding correct?

Could a reboot recover it become read/write available?

Could you share the result of mount before and after you transfer the data from NVMe SSD to USB-SSD?

Have you also tried using another USB-SSD and hit the similar issue?

Hi, yes, my problem is the: USB-SSD become read-only.
Reboot will recover it and become read/write available again, but if I copy data again it will be read-only again.

The result of mount before transferring data:
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,size=3470968k,nr_inodes=867742,mode=755)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=701964k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/nvme0n1 on / type ext4 (rw,relatime,discard,errors=remount-ro)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/124 type tmpfs (rw,nosuid,nodev,relatime,size=701960k,mode=700,uid=124,gid=130)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=701960k,mode=700,uid=1000,gid=1000)
xrdp-chansrv on /home/kws/thinclient_drives type fuse.xrdp-chansrv (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

This is the output of mount after transferring the data:
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,size=3470968k,nr_inodes=867742,mode=755)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=701964k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/nvme0n1 on / type ext4 (rw,relatime,discard,errors=remount-ro)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/124 type tmpfs (rw,nosuid,nodev,relatime,size=701960k,mode=700,uid=124,gid=130)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=701960k,mode=700,uid=1000,gid=1000)
xrdp-chansrv on /home/kws/thinclient_drives type fuse.xrdp-chansrv (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sda2 on /media/kws/kws type ext4 (ro,nosuid,nodev,relatime,stripe=8191,uhelper=udisks2)

I used another USB-SSD but it has same problem. Do you have any idea for this? Thx

Why there’s no /dev/sda2 before you transfer the data?
Has it been mounted correctly before transferring the data?

Have you also tried to format the USB-SSD to ext4 and verify again?

Which USB-SSD you are using?(Model?) Or you are using USB to NVMe adapter?

Hi, I thought it would be automatically mounted so I did not check this.
Should I mount it manually every time?

I had SAMSUNG T7 shield. I tried to format several times but I always has this problem.

I thinks it should be mounted manually before use (If it doesn’t mount automatically)

Hi, I am sorry I manually mounted but I still have the same problem.

Have you tried to create an empty file on your USB-SSD and check if it would also become read-only system?
Or transfer a small amount data from NVMe SSD instead of large data.

Hi, when I transferred empty file it would not have this problem.

When we copied the big ROS bag file it will became read-only… I think the problem should come from the system.

Here I noticed a similar problem here:SSD M.2 read-only error when connected via USB but I really did not know what is the solution for this…

I’ve verified that on the devkit but can not reproduce the issue.
Is the issue caused from your “big ROS bag file” or any large data?

e.g. You can try using the following command to create a 1GB file.

# dd if=/dev/urandom of=/data/test.bin bs=1M count=1024

and transferring it from NVMe-SSD to USB-SSD to check if there’s still the issue

Hi, I have tried and it has same problem…

I am sorry when I used the Ubuntu 18.04 (Jetpack 4.6) I had no problem. But when I used the Jetpack 5.1 I got this problem.

I noticed that during the data transferring, the SSD card will be very hot when i used Jetpack 5.1

Could you also verify with the latest JP5.1.3(R35.5.0)?

Thank you for your reply!

I have a short question for this: this version was based on Ubuntu 20.04 or 22.04? We used ROS system in the Jetson.

Hi I tried the newerst version of Jetpack but I still got the same problem…

For Jetpack 5.X, it is based on Ubuntu 20.04.

Could you share the detailed steps how you reproduce the issue?
like what’s the size of the data you transfer?
Please share the command you used to flash NVMe SSD to use it as rootfs.