Am Tage des Herren Sat, 29 Nov 2025 03:32:09 -0700
Warner Losh <[email protected]> schrieb:

> On Sat, Nov 29, 2025 at 1:59 AM FreeBSD User <[email protected]> wrote:
> 
> > On Thu, 27 Nov 2025 23:33:50 -0700
> > Warner Losh <[email protected]> wrote:
> >  
> > > On Thu, Nov 27, 2025, 10:22 PM FreeBSD User <[email protected]>  
> > wrote:  
> > >  
> > > > On Tue, 25 Nov 2025 21:03:01 -0700
> > > > Warner Losh <[email protected]> wrote:
> > > >  
> > > > > On Sun, Nov 23, 2025 at 7:15 AM A FreeBSD User <  
> > [email protected]>  
> > > > > wrote:
> > > > >  
> > > > > > Hello,
> > > > > >
> > > > > > running FreeBSD 16.0-CURRENT #4 master-n282101-c8cf5a99f82b: Sun  
> > Nov 23  
> > > > > > 13:56:23 CET
> > > > > > 2025 amd64 I'm running into a serious problem when mounting an  
> > ext2fs  
> > > > > > formated USB Flash
> > > > > > device (512GB). The devince contains files written by a Linux  
> > system,  
> > > > > > mounting the USB Flash
> > > > > > via extended4fs, the size of the written datafiles is > 128GB.  
> > Deleting  
> > > > > > those files larger
> > > > > > than some 20GB results in an I/O error reported by FReeBSD (# sudo  
> > rm  
> > > > > > /mnt/USB/filename).
> > > > > > Unmounting the ext2fs after deletion (sudo umount /mnt) results in  
> > a  
> > > > total  
> > > > > > freeze of the box.
> > > > > > No crash, no core dump, nothing. I waited almost an hour hoping for
> > > > > > recover. I have to
> > > > > > physically switch off the box.
> > > > > >
> > > > > > I checked with other USB flash I have at hand, one Samsung 256 GB,  
> > ZFS  
> > > > -  
> > > > > > no problem, another
> > > > > > 128GB, UFS, no problem and several much smaller (4 - 64GB) with  
> > FAT or  
> > > > UFS  
> > > > > > filesystems, all no
> > > > > > problem.
> > > > > >
> > > > > > I can not figure out whether it is the USB flash drive itself,  
> > the  
> > > > size or  
> > > > > > the ext2fs itself
> > > > > > causing the problem.
> > > > > >
> > > > > > Does anybody see similar problems or do have an tip to  
> > investigate  
> > > > without  
> > > > > > risking my box'
> > > > > > health switching it on/off on failure?
> > > > > >  
> > > > >
> > > > > I've not seen this on the smaller tests I've been able to run.
> > > > >
> > > > > So can you share the error messages that you get when you say you  
> > get I/O  
> > > > > errors? I'd like to see if this is due to an error in ext2fs or on  
> > the  
> > > > USB  
> > > > > drive. It's kinda sounding a little like the particular USB is  
> > triggering  
> > > > > some kind of issue that at the very least we should work around.  
> > Given  
> > > > that  
> > > > > it's not happening on all ext2fs drives you try to access, I'm  
> > leaning  
> > > > > towards the drive, but you never know.
> > > > >
> > > > > Thanks  
> > > >
> > > > Plugging the USB flash gives the following hardware information on the
> > > > console:
> > > >
> > > > [...]
> > > > ugen1.5: <ASolid USB> at usbus1
> > > > umass0 on uhub6
> > > > umass0: <ASolid USB, class 0/0, rev 3.20/1.10, addr 4> on usbus1
> > > > (probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00  
> > 00 10  
> > > > 00 00
> > > > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > > > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > > > (probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:20,0  
> > (Invalid  
> > > > command
> > > > operation code) (probe0:umass-sim0:0:0:0): Error 22, Unretryable error
> > > > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > > > da4: <ASolid USB > Removable Direct Access SPC-4 SCSI device
> > > > da4: Serial Number somer serial numbers
> > > > da4: 400.000MB/s transfers
> > > > da4: 475000MB (972800000 512 byte sectors)
> > > > da4: quirks=0x2<NO_6_BYTE>
> > > > [...]
> > > >
> > > > Trying to mount via:  # mount -t ext2fs /dev/da4p1 /mnt/image
> > > >
> > > > [...]
> > > > (da4:umass-sim0:0:0:0): got CAM status 0x444
> > > > (da4:umass-sim0:0:0:0): fatal error, failed to attach to device
> > > > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > > > da4: <ASolid USB >  s/n some serial numbers  detached
> > > > (da4:umass-sim0:0:0:0): Periph destroyed
> > > >
> > > > mount: /dev/da4p1: Device not configured
> > > >  
> > >
> > > This has the classic hallmarks of a drive that loses its mind on
> > > SYNCHRONIZE CACHE. Normally, we detect that automatically, but sometimes  
> > we  
> > > don't. Let's see if this drive is suffering from that. These instructions
> > > are a bit long, but the shorter ones are harder to explain :).
> > >
> > > First, you'll need to find what this drive is. You'll need to use
> > > "usbconfig -v" to find the drive. Redirect that to a file, then search,  
> > you  
> > > should find something akin to
> > >
> > > ugen0.13: <Flash Drive Silicon Motion, Inc. - Taiwan (formerly Feiya
> > > Technology Corp.)> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON
> > > (76mA)
> > > ugen0.13.0: umass1: <ASolid USB, class 0/0, rev 3.00/11.00, addr 12>
> > >
> > > The first line might not match, and the numbers will be different. But
> > > you'll need the vendor and product IDs from this drive. They are a few
> > > lines later and look akin to the following:
> > > ...
> > >   idVendor = 0x090c
> > >   idProduct = 0x1000
> > > ...  
> >
> > You'll find the required output as attachment, desinated usb_asolid.txt.
> >
> > The required identifications should be
> >
> >   idVendor = 0x24a9
> >   idProduct = 0x205a
> >   bcdDevice = 0x0110
> >
> >  
> > >
> > > Now, remove the drive and type in the following (with your vendor and
> > > product replacing mine):
> > >
> > > usbconfig add_dev_quirk_vplh 0x090c 0x1000 0x0000
> > > 0xffff UQ_MSC_NO_SYNC_CACHE  
> >
> > In my case in question it would be
> >
> > usbconfig add_dev_quirk_vplh 0x24a9 0x205a 0x0000 0xffff
> > UQ_MSC_NO_SYNC_CACHE
> >
> > right?
> >  
> > >
> > > This will add a quirk to the usb quirk table. You should see  
> > NO_SYNC_CACHE  
> > > show up in the da4 probe quirk report when you plug the drive back in.
> > >
> > > If that fixes it, please let me know. "Hang on close" or "Periph goes  
> > away  
> > > on close" very often is due to this. umount will close the device. I may
> > > have additional questions for you to help me add a quirk or a heuristic  
> > to  
> > > the code... I'm not yet sure, though, of the correlation to big files. It
> > > may be something else, or it may be this.  
> >
> > Do not see required state change in output:
> >
> > [...]
> > ugen1.5: <ASolid USB> at usbus1
> > umass0 on uhub6
> > umass0: <ASolid USB, class 0/0, rev 3.20/1.10, addr 4> on usbus1
> > (probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10
> > 00 00
> > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > (probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:20,0 (Invalid
> > command
> > operation code) (probe0:umass-sim0:0:0:0): Error 22, Unretryable error
> >  
> 
> I would have expected a quirk line for umass0:
> 
> [911991.296485] umass1 numa-domain 0 on uhub13
> [911991.299036] umass1: <Samsung Flash Drive, class 0/0, rev 3.00/11.00,
> addr 12> on usbus0
> [911991.305703] umass1:  SCSI over Bulk-Only; quirks =
> 0x4000<NO_SYNCHRONIZE_CACHE>
> 
> Is what I get. I don't see the SCSI over Bulk-Only line either in your
> demsg. I wonder why.
> 

My crap device is at 1.5:

ugen1.5: <USB ASolid> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA)

> I think your device is at 0.6, so something like the following (confirm
> with usbconfig showing ugen0.4 as this device):
> 
> usbconfig -d ugen0.6 power_off
> usbconfig -d ugne0.6 add_quirk UQ_MSC_NO_SYNC_CACHE
> usbconfig -d ugen0.6 power_on

#: sudo usbconfig -d ugen1.5 power_off
#: sudo usbconfig -d ugen1.5  add_quirk UQ_MSC_NO_SYNC_CACHE
#: sudo usbconfig -d ugen1.5 power_on

which gives me:

# dmesg
ugen1.5: <ASolid USB> at usbus1
umass0 on uhub9
umass0: <ASolid USB, class 0/0, rev 2.10/2.00, addr 4> on usbus1
da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
da4: <ASolid USB > Removable Direct Access SPC-2 SCSI device
da4: Serial Number 25010993010046
da4: 40.000MB/s transfers
da4: 475000MB (972800000 512 byte sectors)
da4: quirks=0x2<NO_6_BYTE>
umass0: at uhub9, port 2, addr 4 (disconnected)
da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
da4: <ASolid USB >  s/n 25010993010046 detached
(da4:umass-sim0:0:0:0): Periph destroyed
umass0: detached
umass0 on uhub9
umass0: <ASolid USB, class 0/0, rev 2.10/2.00, addr 4> on usbus1
da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
da4: <ASolid USB > Removable Direct Access SPC-2 SCSI device
da4: Serial Number 25010993010046
da4: 40.000MB/s transfers
da4: 475000MB (972800000 512 byte sectors)
da4: quirks=0x2<NO_6_BYTE>


And with a 256GB expensive SAMSUNG USB Flash:
ugen1.5: <Samsung Flash Drive> at usbus1
umass0 on uhub6
umass0: <Samsung Flash Drive, class 0/0, rev 3.10/11.00, addr 5> on usbus1
da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
da4: <Samsung Flash Drive 1100> Removable Direct Access SPC-4 SCSI device
da4: Serial Number 0373220010001862
da4: 400.000MB/s transfers
da4: 244752MB (501253132 512 byte sectors)
da4: quirks=0x2<NO_6_BYTE>

doing the simialr thing as you did:
sudo usbconfig -d ugen1.5 power_off
sudo usbconfig -d ugen1.5  add_quirk UQ_MSC_NO_SYNC_CACHE
sudo usbconfig -d ugen1.5 power_on

gives:
(da4:umass-sim0:0:0:0): Periph destroyed
umass0: detached
umass0 on uhub6
umass0: <Samsung Flash Drive, class 0/0, rev 3.10/11.00, addr 5> on usbus1
da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
da4: <Samsung Flash Drive 1100> Removable Direct Access SPC-4 SCSI device
da4: Serial Number 0373220010001862
da4: 400.000MB/s transfers
da4: 244752MB (501253132 512 byte sectors)
da4: quirks=0x2<NO_6_BYTE>

REMARK: I use a USB HUB, powered, might that induce some spooky actions? My 
housing does have
outdated USB 2 connectors on the front, it is hard for me to crawl underneath 
the (dusty) desk
behind the housing and search for a free USB 3 port ...

> 
> is what I did to generate the umass line above (but with 0.13 instead of
> 0.6). I wish there was a quirk for REPORT LUNS not being supported, but
> that warning is harmless. We'll ignore the error and go on to the next
> thing (I should fix the errors we're just going to ignore when they aren't
> supported, but I digress). If you can build a kernel, adding USB_DEBUG to
> it for the duration of testing would give us more information, including
> the line that I have and that you don't (maybe I should make that
> unconditional).
> 
> 
> > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > da4: <ASolid USB > Removable Direct Access SPC-4 SCSI device
> > da4: Serial Number 25010993010046
> > da4: 400.000MB/s transfers
> > da4: 475000MB (972800000 512 byte sectors)
> > da4: quirks=0x2<NO_6_BYTE>
> > ugen1.5: <ASolid USB> at usbus1 (disconnected)
> > umass0: at uhub6, port 1, addr 4 (disconnected)
> > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > da4: <ASolid USB >  s/n 25010993010046 detached
> > (da4:umass-sim0:0:0:0): Periph destroyed
> > umass0: detached
> > ugen1.5: <ASolid USB> at usbus1
> > umass0 on uhub6
> > umass0: <ASolid USB, class 0/0, rev 3.20/1.10, addr 5> on usbus1
> > (probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10
> > 00 00
> > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > (probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:20,0 (Invalid
> > command
> > operation code) (probe0:umass-sim0:0:0:0): Error 22, Unretryable error
> > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > da4: <ASolid USB > Removable Direct Access SPC-4 SCSI device
> > da4: Serial Number 25010993010046
> > da4: 400.000MB/s transfers
> > da4: 475000MB (972800000 512 byte sectors)
> > da4: quirks=0x2<NO_6_BYTE>Tryping to mount
> >
> > [...]
> >
> > Trying to mount /dev/da4p1 (which is the supposed ext4fs/ext2fs partition
> > on the USB
> > flash device) results in:
> >
> > WARNING: R/W mount denied.  Filesystem is not clean - run fsck
> >
> > and when trying to solve the problem via
> >
> > [...]
> > # /compat/linux/sbin/fsck.ext4 /dev/da4p1
> > e2fsck 1.46.5 (30-Dec-2021)
> > /compat/linux/sbin/fsck.ext4: No such file or directory while trying to
> > open /dev/da4p1
> > Possibly non-existent device?
> >
> > and on console
> >  
> 
> the following are the only new one?

maybe I missed one line with "umass0: detached", see above, the new lines I 
posted, there is
one more line ...

> 
> 
> > (da4:umass-sim0:0:0:0): got CAM status 0x444
> > (da4:umass-sim0:0:0:0): fatal error, failed to attach to device
> > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > da4: <ASolid USB >  s/n 25010993010046 detached
> > (da4:umass-sim0:0:0:0): Periph destroyed
> >
> >
> > I think this special "low cost" device did not only lost its mind, it lost
> > its head
> > also.
> >  
> 
> Yes. I kinda want to swap you for this: you send it to me and I'll send you
> one of my happy devices :)
> 
> Warner

I would do that, if I could, but I would raise a "state incident" ;-)

I might have another one, still wrapped in. But with reference to my SAMSUNG 
Flash drive, see
above, and not willing disabling SYNCACHE, isn't it more likely to be some 
issue with my
setup/hardware?
> 
> 
> > Regards,
> >
> > Oliver
> >
> > p.s. One note:
> >
> > # gpart show -l da4  
> > =>       40  972799920  da4  GPT  (464G)  
> >          40  972799920    1  (null)  (464G)
> >
> > The device in question does have a GPT partition layout. I guess it
> > doesn't matter here,
> > but I'll add it anyway for the record.
> >  
> > >
> > > Warner
> > >
> > > [...]  
> > > >
> > > > [...]
> > > > # /compat/linux/sbin/fsck.ext4 /dev/da4p1
> > > > e2fsck 1.46.5 (30-Dec-2021)
> > > > SINA was not cleanly unmounted, check forced.
> > > > Pass 1: Checking inodes, blocks, and sizes
> > > > Pass 2: Checking directory structure
> > > > Pass 3: Checking directory connectivity
> > > > Pass 4: Checking reference counts
> > > > Pass 5: Checking group summary information
> > > > Error writing file system info: Invalid argument
> > > >
> > > > XXXX: ***** FILE SYSTEM WAS MODIFIED *****
> > > >
> > > > [...]
> > > >
> > > > detaching and attaching to another USB slot on the same (external) HUB:
> > > >
> > > > [...]
> > > > ugen1.5: <ASolid USB> at usbus1
> > > > umass0 on uhub6
> > > > umass0: <ASolid USB, class 0/0, rev 3.20/1.10, addr 6> on usbus1
> > > > (probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00  
> > 00 10  
> > > > 00 00
> > > > (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
> > > > (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
> > > > (probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:20,0  
> > (Invalid  
> > > > command
> > > > operation code) (probe0:umass-sim0:0:0:0): Error 22, Unretryable error
> > > > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > > > da4: <ASolid USB > Removable Direct Access SPC-4 SCSI device
> > > > da4: Serial Number some serial numbers
> > > > da4: 400.000MB/s transfers
> > > > da4: 475000MB (972800000 512 byte sectors)
> > > > da4: quirks=0x2<NO_6_BYTE>
> > > > linux: jid 0 pid 5087 (fsck.ext4): linux_ioctl_fallback fd=3,  
> > cmd=0x127c  
> > > > ('\^R',124) is
> > > > not implemented linux: jid 0 pid 5087 (fsck.ext4): linux_ioctl_fallback
> > > > fd=3, cmd=0x125e
> > > > ('\^R',94) is not implemented (da4:umass-sim0:0:0:0): got CAM status  
> > 0x444  
> > > > (da4:umass-sim0:0:0:0): fatal error, failed to attach to device
> > > > da4 at umass-sim0 bus 0 scbus11 target 0 lun 0
> > > > da4: <ASolid USB >  s/n some serial numbers detached
> > > > (da4:umass-sim0:0:0:0): Periph destroyed
> > > >
> > > > [...]
> > > >
> > > > I can not even mount the device on CURRENT (FreeBSD 16.0-CURRENT #1
> > > > master-n282217-34d66b0c96d5: Fri Nov 28 05:15:56 CET 2025 amd64).
> > > >
> > > > Package used for linux operation: emulators/linux-rl9
> > > >  
> >
> >  



-- 

A FreeBSD user

Attachment: pgp4pOgj54gqA.pgp
Description: OpenPGP digital signature

Reply via email to