Monterey macOS detects Samsung X5 device properly but ejects it automatically after some time.. within a minute. Sometimes I see that device icon appear on desktop after macOS ejects device and notification comes like below: Disk Not Ejected Properly. Eject “X5_SETUP” before disconnecting or turning off.
This is happening every time I connect device. But after machines reboot first time it works fine and again second time onwards if I reconnect device then observation is same.
I can see that device is powered on (Device LED light keeps blinking) even after macOS ejects device.
I thought something wrong with X5 application so I uninstalled X5 application which removed its KEXT too but still observation is same.
This issue is observed in all Monterey macOS released till today including all Beta as well as public releases. Please note that this issue have been observed in M1 machines with Monterey macOS only.
There is no issue with M1 machines BigSur running. Also Intel machines with Monterey macOS too working fine.
Only issue is with M1 machines with Monterey macOS running. Have observed same in M1 MacBook Air, M1 MacBook Pro, M1 MacBook Max and M1 MacMini.
Mostly it happens when Disk Utility and Finder is open.
In Console log checked and found that write command is timing out to Samsung x5 device.
This device is Thunderbolt interface device.
Below is the log captured using console app:
default 15:19:43.109178+0530 kernel virtual bool IONVMeController::start(IOService *)::775:IONVMeController::start default 15:19:43.110261+0530 kernel virtual IOReturn IONVMeController::CreateSubmissionQueue(uint16_t, uint8_t)::3089:SQ index=0 entrysize=64 default 15:19:43.110265+0530 kernel virtual IOReturn IONVMeController::CreateSubmissionQueue(uint16_t, uint8_t)::3089:SQ index=0 entrysize=64 default 15:19:43.110280+0530 kernel virtual IOReturn IONVMeController::CreateSubmissionQueue(uint16_t, uint8_t)::3089:SQ index=1 entrysize=64 default 15:19:43.110284+0530 kernel virtual IOReturn IONVMeController::CreateSubmissionQueue(uint16_t, uint8_t)::3089:SQ index=1 entrysize=64 default 15:19:43.122711+0530 kernel virtual bool IONVMeController::start(IOService *)::828:Successfully initialized NVMe drive default 15:19:43.122720+0530 kernel virtual bool IONVMeController::start(IOService *)::828:Successfully initialized NVMe drive
default 15:20:37.112206+0530 kernel void IONVMeController::FatalHandling()::6066:3rd party NVMe controller. Command timeout. Write. fBuiltIn=0 MODEL=Samsung Portable SSD X5 FW=1P3QEXE7 CSTS=0x1 US[1]=0x0 US[0]=0x323 VID=0x144d DID=0xa808 CRITICAL_WARNING=0x0. default 15:20:37.112220+0530 kernel void IONVMeController::FatalHandling()::6066:3rd party NVMe controller. Command timeout. Write. fBuiltIn=0 MODEL=Samsung Portable SSD X5 FW=1P3QEXE7 CSTS=0x1 US[1]=0x0 US[0]=0x323 VID=0x144d DID=0xa808 CRITICAL_WARNING=0x0.
After command time out log, macOS ejects this device automatically.
So I’m just curious to know what is difference between BigSur and Monterey macOS with respect to M1 machines??
How much IO (Writes) macOS issues to Thunderbolt interface based usb devices??
Is there any way to capture IO Trace in macOS to check how much write io issued to a device??
I checked using DTrace but could not find any Write issues to device.
anyone facing this type of issue??