# Installing FreeBSD ATA error



## joe88ds (Dec 17, 2013)

Hello everyone! I decided to try and install FreeBSD-9.2-RELEASE-amd64-memstick.img for the very first time and I'm getting this error:

```
(ada0:ata0:0:1:0): READ_DMA. ACB: c8 00 10 00 ...
(ada0:ata0:0:1:0): CAM Status: ATA Status Error
(ada0:ata0:0:1:0): ATA Status: 51 (DRDY SERV ERR) error: 84 (ICRC ABRT)
(ada0:ata0:0:1:0): RES: 51 84 00 00 ...
(ada0:ata0:0:1:0): Error 5
```
This is before I get the blue screen to prompt me to install FreeBSD as a install or LiveCD. It somehow works itself out to get to the blue screen and I have no way of reading the text before the blue screen? Anyway, I then decide for it to partition my whole drive automatically and I then receive that same ATA error but this time it goes indefinitely. I've tried to find a way to input, set hint.ata.0.mode="UDMA33", but I'm not sure how to do that. Anyway, any help would be great on this matter. If you need any more information please let me know.


```
------------
Hard drive
------------
Model ID                                    ST3250620A
Serial Number                            6RT019EX
Revision			                3.AAE
Parameters			        484519 cylinders, 16 heads, 63 sectors per track, 512 bytes per sector
LBA Sectors			        488395055
Buffer				        16 MB
Multiple Sectors		                16
ECC Bytes			                4
Max. PIO Transfer Mode		PIO 4
Max. UDMA Transfer Mode		UDMA 5 (ATA-100)
Active UDMA Transfer Mode	UDMA 2 (ATA-33)
Unformatted Capacity		238474 MB
Disk Number			        2
Master/Slave			        Slave
Controller Rank			        Primary
	
ATA Device Features	
SMART				                Supported
Security Mode			                Supported
Power Management		                Supported
Advanced Power Management	        Not Supported
Write Cache			                Supported
Host Protected Area		                Supported
Power-Up In Standby		                Not Supported
Automatic Acoustic Management	Not Supported
48-bit LBA			                        Supported
Device Configuration Overlay	        Supported


------------
Motherboard
--------------------------------------------------
| Item          | Value                          |
--------------------------------------------------
| Board Number  | 1                              |
| Manufacturer  | Gigabyte Technology Co., Ltd.  |
| Product       | M61P-S3                        |
| Version       | x.x                            |
| Serial Number | Mon Jan 01 00:02:30 2007       |
| Asset Tag     |                                |
| Features      |                                |
| Board Type    |                                |
--------------------------------------------------

------------------------
Processor#1/Processor#2
--------------------------------------------------------------------------------
| Item                       | Value                                           |
--------------------------------------------------------------------------------
| Processor Number           | 1                                               |
| Socket Designation         | Socket M2                                       |
| Processor Type             | Central Processor                               |
| Processor Family           | AMD Athlon(TM) Processor Family                 |
| Processor Manufacturer     | AMD                                             |
| Processor ID               | 178BFBFF00060FB1                                |
| Processor Version          | AMD Athlon(tm) 64 X2 Dual Core Processor 4000+  |
| Voltage                    | 1.300000V                                       |
| External Clock             | 200MHz                                          |
| Maximum Speed              | 3200MHz                                         |
| Current Speed              | 2100MHz                                         |
| Status                     | CPU Socket Populated, Enabled                   |
| Processor Upgrade          | ZIF Socket                                      |
| Serial Number              |                                                 |
| Asset Tag                  |                                                 |
| Part Number                |                                                 |
| Core Count                 |                                                 |
| Core Enabled               |                                                 |
| Thread Count               |                                                 |
| Processor Characteristics  |                                                 |
--------------------------------------------------------------------------------
```


----------



## wblock@ (Dec 17, 2013)

That looks like a drive problem.  Run your choice of SMART utility on it and check the reallocated sectors and pending sectors counts.  mfsBSD has smartctl, as do a lot of Linux utility disks.


----------



## joe88ds (Dec 18, 2013)

Thank you for your help. I ran smartctl and got:

```
5 Reallocated_Sector 0x0033 100 100 036 Pre-fail Always 0
197 Current_Pending_Sector 0x0012 100 100 0 Old-age Always 0
```
However, it also returned reports on the READ_DMA error I'm getting but I have no idea what any of it means. Is there anyway I can write the output of smartctl into a file so I can show you? The command I used was: `smartctl -s on -A /dev/ada0`. Anyway, thanks again for your help.


----------



## SirDice (Dec 18, 2013)

Replace the disk, it's about to die. As this is an IDE drive did you use the proper 80 wire IDE cables? The 'regular' 40 wire ones will not work properly. 

As for the output of the command to a file, lookup shell redirection. You should be familiar with it's uses as you're bound to need it often. It's an invaluable tool for a UNIX admin. Something like this should do the trick: `smartctl -s on -A /dev/ada0 > somefile.txt`


----------



## joe88ds (Dec 19, 2013)

Thank you! I just happen to have a 80-wire cable in my storage and the READ_DMA errors went away. Everything installed properly and now I'm running FreeBSD  :beergrin. I will be researching this topic to find out a little more why the cables made the difference. Could you explain a little more why my drive is about to fail? I've been reading on S.M.A.R.T and its values and I couldn't find out why my drive is about to fail. I'd be very interested in hearing your side on it. I do however have my logs here:


```
root@joe:~ # smartctl -a /dev/ada0
smartctl 6.2 2013-07-26 r3841 [FreeBSD 9.2-RELEASE amd64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.10
Device Model:     ST3250620A
Serial Number:    6RT019EX
Firmware Version: 3.AAE
User Capacity:    250,058,268,160 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7 (minor revision not indicated)
Local Time is:    Wed Dec 18 14:34:25 2013 PST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  430) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (  74) minutes.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   117   087   006    Pre-fail  Always       -       139942552
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   099   099   020    Old_age   Always       -       1894
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   086   060   030    Pre-fail  Always       -       450350568
  9 Power_On_Hours          0x0032   083   083   000    Old_age   Always       -       15249
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   020    Old_age   Always       -       1364
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   056   050   045    Old_age   Always       -       44 (Min/Max 28/44)
194 Temperature_Celsius     0x0022   044   050   000    Old_age   Always       -       44 (0 16 0 0 0)
195 Hardware_ECC_Recovered  0x001a   077   051   000    Old_age   Always       -       132265437
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   197   000    Old_age   Always       -       575
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

SMART Error Log Version: 1
ATA Error Count: 1840 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1840 occurred at disk power-on lifetime: 15247 hours (635 days + 7 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 00 00 00 00 f0  Error: ICRC, ABRT at LBA = 0x00000000 = 0

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 01 00 00 00 f0 00      00:02:59.958  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:59.526  READ DMA
  c8 00 01 00 00 00 f0 00      00:03:04.822  READ DMA
  c8 00 01 00 00 00 f0 00      00:03:04.380  READ DMA
  c8 00 01 00 00 00 f0 00      00:03:03.938  READ DMA

Error 1839 occurred at disk power-on lifetime: 15247 hours (635 days + 7 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 00 00 00 00 f0  Error: ICRC, ABRT at LBA = 0x00000000 = 0

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 01 00 00 00 f0 00      00:02:59.958  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:59.526  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:58.740  READ DMA
  c8 00 01 00 00 00 f0 00      00:03:04.380  READ DMA
  c8 00 01 80 00 00 f0 00      00:03:03.938  READ DMA

Error 1838 occurred at disk power-on lifetime: 15247 hours (635 days + 7 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 00 00 00 00 f0  Error: ICRC, ABRT at LBA = 0x00000000 = 0

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 01 00 00 00 f0 00      00:02:59.958  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:59.526  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:58.740  READ DMA
  c8 00 01 80 00 00 f0 00      00:02:58.298  READ DMA
  c8 00 01 10 00 00 f0 00      00:03:03.938  READ DMA

Error 1837 occurred at disk power-on lifetime: 15247 hours (635 days + 7 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 00 00 00 00 f0  Error: ICRC, ABRT at LBA = 0x00000000 = 0

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 01 00 00 00 f0 00      00:02:59.958  READ DMA
  c8 00 01 00 00 00 f0 00      00:02:59.526  READ DMA
  c8 00 01 80 00 00 f0 00      00:02:58.740  READ DMA
  c8 00 01 10 00 00 f0 00      00:02:58.298  READ DMA
  c8 00 01 10 00 00 f0 00      00:02:57.856  READ DMA

Error 1836 occurred at disk power-on lifetime: 15247 hours (635 days + 7 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 00 00 00 00 f0  Error: ICRC, ABRT at LBA = 0x00000000 = 0

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 01 00 00 00 f0 00      00:02:59.958  READ DMA
  c8 00 01 80 00 00 f0 00      00:02:59.526  READ DMA
  c8 00 01 10 00 00 f0 00      00:02:58.740  READ DMA
  c8 00 01 10 00 00 f0 00      00:02:58.298  READ DMA
  c8 00 01 10 00 00 f0 00      00:02:57.856  READ DMA

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     15246         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
```

Anyways, thanks again for all who helped me through this. It's time to learn...


----------



## kpa (Dec 19, 2013)

Those errors in the error log can be an indication that the drive is failing but it's not absolute proof. The errors can be from the faulty/wrong cable as well. You should run the long selftest on the drive with `smartctl -t long /dev/ada0` to see if there are more logged entries after it or the selftest fails and reports errors on the drive.


----------



## SirDice (Dec 19, 2013)

Nah, looks like I read the values wrong. Keep an eye on the values from SMART.

As for the cable, the 80 wire one has data, ground, data, ground etc. wires. The extra ground wires keep the cross-talk between the data wires to a minimum. Especially with the higher bandwidth of ATA-100 and ATA-133 this becomes more important. The 'old' 40 wire cables just have too much interference causing the DMA read errors.


----------

