OK,
Some more odd things going on. If I write to a file from dd some random
junk, not all of the file is saved when I do an unmount. This seems to
be specific either to the ata controller of the APU or to the msata disk
as I tested on a regular server with plain old disks and no issue
Eric, any chance you can try this on your APU as well ?
0# umount /mnt
0# mount /dev/ada0p1 /mnt
0# dd if=/dev/urandom of=/mnt/junk2 bs=512k count=4
4+0 records in
4+0 records out
2097152 bytes transferred in 0.101394 secs (20683253 bytes/sec)
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = acca1d8997c3b9d906b40d99cba734b6
0# hd /mnt/junk2 > /tmp/hd-junk2
0# ls -l /mnt/junk2
-rw------- 1 root wheel - 2097152 Aug 22 11:53 /mnt/junk2
0# umount /mnt
0# mount /dev/ada0p1 /mnt
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = 2ef0cadf32db4e07a8edf4fc66f8a4eb
0# ls -l /mnt/junk2
-rw------- 1 root wheel - 2097152 Aug 22 11:53 /mnt/junk2
0# hd /mnt/junk2 > /tmp/hd-junk2-post-mount
0# ls -l /tmp/hd-junk2*
-rw------- 1 root wheel - 10354697 Aug 22 11:54 /tmp/hd-junk2
-rw------- 1 root wheel - 1941594 Aug 22 11:54 /tmp/hd-junk2-post-mount
0#
If I do the same test on a USB stick it works as expected
0# umount /mnt
0# mount /dev/da0p1 /mnt
0# dd if=/dev/urandom of=/mnt/junk2 bs=512k count=4
4+0 records in
4+0 records out
2097152 bytes transferred in 0.102256 secs (20508777 bytes/sec)
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = 51190332cdd4ef898bdc9c2520a9f749
0# umount /mnt
0# mount /dev/da0p1 /mnt
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = 51190332cdd4ef898bdc9c2520a9f749
0#
Same with an SD card. All is OK
0# umount /mnt
0# mount /dev/mmcsd0s2a /mnt
0# dd if=/dev/urandom of=/mnt/junk2 bs=512k count=4
4+0 records in
4+0 records out
2097152 bytes transferred in 0.107400 secs (19526588 bytes/sec)
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = 0811af4e57ab5a3bc224e5b8f8b3bc29
0# umount /mnt
0# mount /dev/mmcsd0s2a /mnt
0# md5 /mnt/junk2
MD5 (/mnt/junk2) = 0811af4e57ab5a3bc224e5b8f8b3bc29
0#
Looking at hd before and after, its missing the end of the file
--- hd-junk2 2018-08-22 11:54:09.891572000 -0400
+++ hd-junk2-post-mount 2018-08-22 11:54:41.996983000 -0400
@@ -24574,106500 +24574,6 @@
0005ffd0 8b 71 87 b8 78 03 72 ca 0e 06 3b d4 31 fd 18 f8
|.q..x.r...;.1...|
0005ffe0 de 39 72 fb c8 39 fd 1f 93 75 10 de 05 56 43 fb
|.9r..9...u...VC.|
0005fff0 40 ce 54 e2 a4 17 3e 1e ec 01 b7 fd 1b 69 b7 6f
|@.T...>......i.o|
-00060000 91 f3 02 ea 95 f4 12 1c bf 00 68 1b 3d 8c 01 43
|..........h.=..C|
-00060010 f6 5b 4e ec 7f 37 19 15 5b c4 e6 fb 88 27 1c 54
|.[N..7..[....'.T|
-00060020 15 6c 02 7d fb 00 06 c1 4a 4a bf ce 9a 1b fe d4
|.l.}....JJ......|
-00060030 1c 3c b5 05 b6 4f 4e 62 b5 03 e3 e7 5e 27 d6 71
|.<...ONb....^'.q|
-00060040 ea 22 00 99 9d 13 e8 a9 64 0e fd 13 cc 23 73 67
|."......d....#sg|
-00060050 8e 78 0a ad ae 70 ab e4 22 b4 b7 b9 3b 75 9f 85
|.x...p.."...;u..|
-00060060 53 39 0c af 15 39 5f 04 ac 3c 65 e9 ea 29 1d b7
|S9...9_..<e..)..|
-00060070 ea f0 2f 19 3c 6d 1c 21 f1 58 4a 4b a8 26 8e f6
|../.<m.!.XJK.&..|
-00060080 05 99 8a 9d 54 75 e4 77 78 78 6c 75 21 31 d4 0c
|....Tu.wxxlu!1..|
-00060090 52 88 c6 65 c0 09 04 ce 7f 5f 29 0c 46 9a 68 13
|R..e....._).F.h.|
-000600a0 73 30 97 78 d7 b7 d2 ba 8f 73 27 58 3d eb 0c d6
|s0.x.....s'X=...|
1# camcontrol identify ada0
pass0: <SATA SSD S9FM02.0> ACS-3 ATA SATA 3.x device
pass0: 600.000MB/s transfers (SATA 3.x, PIO4, PIO 8192bytes)
protocol ATA/ATAPI-10 SATA 3.x
device model SATA SSD
firmware revision S9FM02.0
serial number 81B5074C1B6500076878
cylinders 16383
heads 16
sectors/track 63
sector size logical 512, physical 512, offset 0
LBA supported 31277232 sectors
LBA48 supported 31277232 sectors
PIO supported PIO4
DMA supported WDMA2 UDMA6
media RPM non-rotating
Zoned-Device Commands no
Feature Support Enabled Value Vendor
read ahead yes yes
write cache yes yes
flush cache yes yes
overlap no
Tagged Command Queuing (TCQ) no no
Native Command Queuing (NCQ) yes 32 tags
NCQ Queue Management no
NCQ Streaming no
Receive & Send FPDMA Queued no
SMART yes yes
microcode download yes yes
security yes no
power management yes yes
advanced power management yes no 0/0x00
automatic acoustic management no no
media status notification no no
power-up in Standby no no
write-read-verify no no
unload yes yes
general purpose logging yes yes
free-fall no no
Data Set Management (DSM/TRIM) yes
DSM - max 512byte blocks yes 8
DSM - deterministic read no
Host Protected Area (HPA) yes no 31277232/31277232
HPA - Security no
0#
On 8/21/2018 2:30 PM, Mike Tancsa wrote:> On 8/21/2018 9:51 AM, Eugene Grosbein wrote:
>>
>> It seems like faulty media to me: it silently returns bad data.
>>
>> There is an easy way to verify this just with naked eye:
>>
>> yes | dd bs=128k of=/dev/ada0
>> hd /dev/ada0
>>
>> That is, hd(1) should write back only 3 lines of output:
>>
>> 00000000 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a
|y.y.y.y.y.y.y.y.|
>> *
>> 01000000
>>
>> If not, the media if faulty.
>>
>
> There are 3 of these disks I found. Unfortunately, they all seem a
> little different from the revision stamps on the board. They are all
> from PCEngines who generally seem to source quality products. This is in
> an APU3
>
> A "bad" disk
>
> 0# camcontrol identify ada0
> pass0: <SATA SSD S9FM02.0> ACS-3 ATA SATA 3.x device
> pass0: 600.000MB/s transfers (SATA 3.x, PIO4, PIO 8192bytes)
>
> protocol ATA/ATAPI-10 SATA 3.x
> device model SATA SSD
> firmware revision S9FM02.0
> serial number DED9075313EC01677930
> cylinders 16383
> heads 16
> sectors/track 63
> sector size logical 512, physical 512, offset 0
> LBA supported 31277232 sectors
> LBA48 supported 31277232 sectors
> PIO supported PIO4
> DMA supported WDMA2 UDMA6
> media RPM non-rotating
> Zoned-Device Commands no
>
> Feature Support Enabled Value Vendor
> read ahead yes yes
> write cache yes yes
> flush cache yes yes
> overlap no
> Tagged Command Queuing (TCQ) no no
> Native Command Queuing (NCQ) yes 32 tags
> NCQ Queue Management no
> NCQ Streaming no
> Receive & Send FPDMA Queued no
> SMART yes yes
> microcode download yes yes
> security yes no
> power management yes yes
> advanced power management yes no 0/0x00
> automatic acoustic management no no
> media status notification no no
> power-up in Standby no no
> write-read-verify no no
> unload yes yes
> general purpose logging yes yes
> free-fall no no
> Data Set Management (DSM/TRIM) yes
> DSM - max 512byte blocks yes 8
> DSM - deterministic read no
> Host Protected Area (HPA) yes no 31277232/31277232
> HPA - Security no
> 0#
>
> vs
> a 'good' disk
>
> # camcontrol identify ada0
> pass0: <SATA SSD SBFM01.0> ACS-4 ATA SATA 3.x device
> pass0: 600.000MB/s transfers (SATA 3.x, PIO4, PIO 8192bytes)
>
> protocol ATA/ATAPI-11 SATA 3.x
> device model SATA SSD
> firmware revision SBFM01.0
> serial number A44907781CE300040613
> WWN 5000000000000000
> cylinders 16383
> heads 16
> sectors/track 63
> sector size logical 512, physical 512, offset 0
> LBA supported 31277232 sectors
> LBA48 supported 31277232 sectors
> PIO supported PIO4
> DMA supported WDMA2 UDMA6
> media RPM non-rotating
> Zoned-Device Commands no
>
> Feature Support Enabled Value Vendor
> read ahead yes yes
> write cache yes yes
> flush cache yes yes
> overlap no
> Tagged Command Queuing (TCQ) no no
> Native Command Queuing (NCQ) yes 32 tags
> NCQ Queue Management no
> NCQ Streaming no
> Receive & Send FPDMA Queued no
> SMART yes yes
> microcode download yes yes
> security yes no
> power management yes yes
> advanced power management no no
> automatic acoustic management no no
> media status notification no no
> power-up in Standby no no
> write-read-verify no no
> unload no no
> general purpose logging yes yes
> free-fall no no
> Data Set Management (DSM/TRIM) yes
> DSM - max 512byte blocks yes 8
> DSM - deterministic read no
> Host Protected Area (HPA) yes no 31277232/31277232
> HPA - Security no
>
>
>
> % diff good bad
> 1c1
> < pass0: <SATA SSD SBFM01.0> ACS-4 ATA SATA 3.x device
> ---
>> pass0: <SATA SSD S9FM02.0> ACS-3 ATA SATA 3.x device
> 4c4
> < protocol ATA/ATAPI-11 SATA 3.x
> ---
>> protocol ATA/ATAPI-10 SATA 3.x
> 6,8c6,7
> < firmware revision SBFM01.0
> < serial number A44907781CE300040613
> < WWN 5000000000000000
> ---
>> firmware revision S9FM02.0
>> serial number DED9075313EC01677930
> 34c33
> < advanced power management no no
> ---
>> advanced power management yes no 0/0x00
> 39c38
> < unload no no
> ---
>> unload yes yes
> 46a46
>>
>
> 1# yes | dd bs=128k of=/dev/ada0
> dd: /dev/ada0: short write on character device
> dd: /dev/ada0: end of device
> 0+1066621 records in
> 122176+1 records out
> 16013942784 bytes transferred in 566.461990 secs (28270110 bytes/sec)
> 1# hd /dev/ada0
> 00000000 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a 79 0a
> |y.y.y.y.y.y.y.y.|
> *
> 3ba816000
> 0#
>
--
-------------------
Mike Tancsa, tel +1 519 651 3400 x203
Sentex Communications, mike at sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada