I've tried other scsi commands and they work perfectly! What am i missing?
Seu SSD é SATA, então algo tem que fazer a tradução de comandos SCSI para ele. Se você quiser enviar comandos brutos, você deve usar o conjunto nativo para o dispositivo / controlador, a menos que você use o "ATA Command Pass-Through" - ou seja, você tem um dispositivo SCSI atrás de um controlador SATA, mas este não é o caso aqui. / p>
A libata do Linux sabe como remapear alguns comandos SCSI mas não todos para o ATA (veja link ). De acordo com o link , a semântica do UNMAP do SCSI não é bem mapeada para o ATA É improvável que o mapeamento seja implementado. No entanto, observe que o envio de SCSI WRITE SAME com o bit unmap definido como libata é traduzido para o ATA TRIM para que você possa tentar usá-lo.
TLDR; SCSI UNMAP não é traduzido por libata. Se você quiser ser agnóstico em relação ao protocolo e fazer com que o Linux faça uma conversão de camada de bloco para você, envie um BLKDISCARD
(por exemplo, por meio do utilitário blkdiscard
).