Never mind, I found the issue hw.ata.ata_dma=0 hw.ata.atapi_dma=0
in /boot/loader.conf, hanging around from the days of wood burning power supplies was causing this strange behaviour! Sorry for the noise folks! ---Mike On 8/22/2018 12:17 PM, Mike Tancsa wrote: > 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, m...@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada _______________________________________________ freebsd-stable@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"