Date: Thu, 28 Jun 2012 14:59:21 +0100 From: maxim naumov <muxx.mailinglists@gmail.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: Seagate FreeAgent GoFlex 1.5TB external HDD problems Message-ID: <CAGG2Ak%2BCP1uefbOvhRKVT3HN_U7BokS5sF5hAjxmG2d7_QQWjA@mail.gmail.com> In-Reply-To: <CAGG2AkKarf2UYvLPWJUdWGNMrnV-k_N6q=eX%2Bwjau7U3MZSFVA@mail.gmail.com> References: <CAGG2Ak%2BXmWvCb3PQoqPXAW7iC0PAQ=GNV79MhhGHjLO4GmWgdw@mail.gmail.com> <201206241533.08745.hselasky@c2i.net> <CAGG2Ak%2Bz3%2B=jcZ6Znws9BLCZX=Ja%2B24n8MLeWfLNO-%2BoJseVDQ@mail.gmail.com> <201206251700.39759.hselasky@c2i.net> <CAGG2AkKarf2UYvLPWJUdWGNMrnV-k_N6q=eX%2Bwjau7U3MZSFVA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 28, 2012 at 2:48 PM, maxim naumov <muxx.mailinglists@gmail.com> wrote: > I switched to using dt (http://www.scsifaq.org/RMiller_Tools/dt.html) > for testing. I took the same source tarball and built it on GNU/Linux > 2.6.38 x86_64 and my FreeBSD 8.3-STABLE. > > I run it with the following options: oops, clicked 'send' inadvertently. so, the options: ./dt of=/dev/da0s1 min=128b max=256k incr=var enable=raw pattern=iot enable=verify enable=verbose enable=compare enable=Debug flags=direct iotype=random oncerr=abort this does writes with subsequent reads of random lengths (between 128b and 256kb) at random offsets. on FreeBSD I also specify capacity to save detecting it with seeks. I run two instances simultaneously, each running on it's own slice on the Seagate in question. on GNU/Linux it doesn't fail even after hours of testing (nor it was failing with the filesystem). on FreeBSD it's usually within an hour or two before it fails with the following error: ... dt: Seeked to block 327447715 (0x138474a3) at byte position 149505536 dt: Record #30142 - Reading 168448 bytes (329 blocks) into buffer 0x28253000, lba's 327447715 - 327448043 (pos 149505536) dt: WARNING: Record #30142, attempted to read 168448 bytes, read only 131072 bytes. dt: Relative block number where the error occurred is 327447715, position 149505536 dt: Error number 1 occurred on Thu Jun 28 13:55:51 2012 dt: Elapsed time since beginning of pass: 30m22.82s dt: Elapsed time since beginning of test: dt: Seeked to block 327447715 (0x138474a3) at byte position 149505536 dt: Closing file '/dev/da0s1', fd = 3... Total Statistics: Output device/file name: /dev/da0s1 (device type=character) Type of I/O's performed: random (rseed=0x21746c6, read-after-write) Random I/O Parameters: position=0, ralign=0, rlimit=15001551931422278144 Data pattern string used: 'IOT Pattern' (blocking is 512 bytes) Total records processed: 60284 with min=65536, max=262144, incr=variable Total bytes transferred: 11363891712 (11097550.500 Kbytes, 10837.452 Mbytes) Average transfer rates: 6233808 bytes/sec, 6087.703 Kbytes/sec Number I/O's per second: 33.070 Total passes completed: 0/1 Total errors detected: 1/1 Total elapsed time: 30m22.94s Total system time: 00m10.46s Total user time: 01m14.00s Starting time: Thu Jun 28 13:25:28 2012 Ending time: Thu Jun 28 13:55:51 2012 dt: Exiting with status code -1... 30m22.82s I also had it fail on write: ... dt: Seeked to block 304790691 (0x122abca3) at byte position 1434011136 dt: Record #2219 - Writing 275456 bytes (538 blocks) from buffer 0x30500000, lba's 304790691 - 304791228 (pos 1434011136) dt: Seeked to block 304790691 (0x122abca3) at byte position 1434011136 dt: Record #2219 - Reading 275456 bytes (538 blocks) into buffer 0x2c400000, lba's 304790691 - 304791228 (pos 1434011136) dt: Seeked to block 731792088 (0x2b9e42d8) at byte position 1015394304 dt: Record #2220 - Writing 63405056 bytes (123838 blocks) from buffer 0x30500000, lba's 731792088 - 731915925 (pos 1015394304) dt: Seeked to block 731792088 (0x2b9e42d8) at byte position 1015394304 dt: Record #2220 - Reading 63405056 bytes (123838 blocks) into buffer 0x2c400000, lba's 731792088 - 731915925 (pos 1015394304) dt: Seeked to block 1366206048 (0x516ea660) at byte position 3712794624 dt: Record #2221 - Writing 53971456 bytes (105413 blocks) from buffer 0x30500000, lba's 1366206048 - 1366311460 (pos 3712794624) dt: 'write', errno = 5 - Input/output error dt: Relative block number where the error occurred is 1366295264, position 3758473216 dt: Seeked to block 1366295265 (0x517002e1) at byte position 3758473728 dt: Error number 1 occurred on Wed Jun 27 20:12:44 2012 dt: Elapsed time since beginning of pass: 1h56m12.26s dt: Elapsed time since beginning of test: dt: Closing file '/dev/da0s1', fd = 3... Total Statistics: Output device/file name: /dev/da0s1 (device type=character) Type of I/O's performed: random (rseed=0x1907816, read-after-write) Random I/O Parameters: position=0, ralign=0, rlimit=8660422083433464320 Data pattern string used: 'IOT Pattern' (blocking is 512 bytes) Total records processed: 4440 with min=65536, max=67108864, incr=variable Total bytes transferred: 149591452672 (146085403.000 Kbytes, 142661.526 Mbytes) Average transfer rates: 21432616 bytes/sec, 20930.289 Kbytes/sec Number I/O's per second: 0.636 Total passes completed: 0/1 Total errors detected: 1/1 Total elapsed time: 1h56m19.61s Total system time: 00m51.47s Total user time: 26m54.40s Starting time: Wed Jun 27 18:15:43 2012 Ending time: Wed Jun 27 20:12:52 2012 dt: Exiting with status code -1... 1h56m12.26s it fails with a single instance too. the sectors in question are not failing, as tested before and now. the long smart test doesn't find errors. the Seagate seems to be on the bus but not responding (powercycle required), however after a few hours it came back at least once. I tried the sysctl hw.usb.ehci.lostintrbug=1 sysctl hw.usb.ehci.iaadbug=1 tweaks (I hope this doesn't require reboot). still no improvement. any more ideas? /max
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGG2Ak%2BCP1uefbOvhRKVT3HN_U7BokS5sF5hAjxmG2d7_QQWjA>