Date: Wed, 22 Aug 2018 12:17:13 -0400 From: Mike Tancsa <mike@sentex.net> To: Eugene Grosbein <eugen@grosbein.net>, FreeBSD-STABLE Mailing List <freebsd-stable@FreeBSD.org>, Eric van Gyzen <eric@vangyzen.net> Subject: mSATA strangeness (was Re: gpart strangeness) Message-ID: <3c606f0b-41a2-b654-9413-8b0f1be2f651@sentex.net> In-Reply-To: <62183e11-77ad-9b6d-ed57-357764e988d8@sentex.net> References: <4e5b6d81-7fc5-c538-2bd2-8cd5dd040a1d@sentex.net> <6be4ee74-c09d-b88f-e4ed-cadb1537e478@grosbein.net> <7886da80-d2e3-1562-07df-cb955d888e1b@sentex.net> <f56bf69b-45a2-e080-550c-2b08a6c2a28e@grosbein.net> <62183e11-77ad-9b6d-ed57-357764e988d8@sentex.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c606f0b-41a2-b654-9413-8b0f1be2f651>