<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ST31000340NS &#8211; richliu&#039;s blog</title>
	<atom:link href="https://blog.richliu.com/tag/st31000340ns/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Mon, 18 Feb 2008 15:32:36 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>Seagate ES.2 ST31000340NS 在 Linux 下只抓到 33MB 的問題.</title>
		<link>https://blog.richliu.com/2008/02/18/555/seagate-es2-st31000340ns-%e5%9c%a8-linux-%e4%b8%8b%e5%8f%aa%e6%8a%93%e5%88%b0-33mb-%e7%9a%84%e5%95%8f%e9%a1%8c/</link>
					<comments>https://blog.richliu.com/2008/02/18/555/seagate-es2-st31000340ns-%e5%9c%a8-linux-%e4%b8%8b%e5%8f%aa%e6%8a%93%e5%88%b0-33mb-%e7%9a%84%e5%95%8f%e9%a1%8c/#respond</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Mon, 18 Feb 2008 15:31:41 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[hdparm]]></category>
		<category><![CDATA[linux ide]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[ST31000340NS]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/2008/02/18/555/</guid>

					<description><![CDATA[<p>過年前, 因為某台機器連續壞了二顆 Seagate 250G HDD. 所以備載容量下降 500G. 在 sl [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2008/02/18/555/seagate-es2-st31000340ns-%e5%9c%a8-linux-%e4%b8%8b%e5%8f%aa%e6%8a%93%e5%88%b0-33mb-%e7%9a%84%e5%95%8f%e9%a1%8c/">Seagate ES.2 ST31000340NS 在 Linux 下只抓到 33MB 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>過年前, 因為某台機器連續壞了二顆 Seagate 250G HDD.<br />
所以備載容量下降 500G.<br />
在 <a href="http://slzzp.blogspot.com/" target="_blank" rel="noopener">slzzp</a> 的道德勸說之下(他說資料比金錢重要呀), 所以最後就選了 Seagate ES.2 ST31000340NS (1000G) 的 HDD 做為備援.<br />
<span id="more-555"></span><br />
原來以為裝上去就可以用, 不過慘的是, Linux 預設只抓到 33MB.</p>
<p><code><br />
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)<br />
ata4.00: HPA detected: current 65134, native 1953525167<br />
ata4.00: ATA-6: ST31000340NS, SN04, max UDMA/133<br />
ata4.00: 65134 sectors, multi 16: LBA48 NCQ (depth 0/32)<br />
ata4.00: configured for UDMA/100<br />
scsi 3:0:0:0: Direct-Access     ATA      ST31000340NS     SN04 PQ: 0 ANSI: 5<br />
sd 3:0:0:0: [sdc] 65134 512-byte hardware sectors (33 MB)<br />
sd 3:0:0:0: [sdc] Write Protect is off<br />
sd 3:0:0:0: [sdc] Mode Sense: 00 3a 00 00<br />
sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA<br />
sd 3:0:0:0: [sdc] 65134 512-byte hardware sectors (33 MB)<br />
sd 3:0:0:0: [sdc] Write Protect is off<br />
sd 3:0:0:0: [sdc] Mode Sense: 00 3a 00 00<br />
sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA<br />
sdc: unknown partition table<br />
sd 3:0:0:0: [sdc] Attached SCSI disk<br />
sd 3:0:0:0: Attached scsi generic sg2 type 0<br />
</code></p>
<p>看起來真是悲慘呀, 1000G 只抓到 33MB, 連零頭都沒有.</p>
<p>到 Seagate 的網站 Search 他們的 forums , 有查到一篇類似的文章<br />
<a href="http://forums.seagate.com/stx/board/message?board.id=ata_drives&amp;message.id=626" target="_blank" rel="noopener">ST31000340NS now appears as a 31MB Hard Drive  </a><br />
有講到用 <a href="http://www.seagate.com/www/en-us/support/downloads/seatools" target="_blank" rel="noopener">Seatools</a> 去調整 Sectors 的數量, 就可以使用.<br />
有人也提到是 BIOS 的問題, 不過因為小弟不才, 剛好搞過 IDE Linux Driver, 基本上 OS 都是跨過 BIOS, 透過 IDE Controller 去讀取 HDD 介面的, 所以如果 size 有問題, 除非是 IDE Controller 的 BIOS 回寫到 IDE. 否則應該也不會有這樣的問題. LBA48 主要的限制是在 137G, 所以有人提到 chipset 的 bug, 我也認為不太可能. (我同時試過 Silicon Image 和 Intel ICH5).</p>
<p>所以我就很厚臉皮的寫信去 <a href="http://marc.info/?l=linux-ide" target="_blank" rel="noopener">Linux-Ide Mailing List</a> 問.<br />
Linux-ide 的 developer 也很熱心, 很快的就開發出新的工具解決我的問題.</p>
<p>1. 下載 <a href="http://sourceforge.net/project/showfiles.php?group_id=136732&amp;package_id=150265&amp;release_id=577089" target="_blank" rel="noopener">hdparm-8.1</a>(含以後的版本)<br />
2. 檢查 HDD 實際的大小<br />
<code># ./hdparm -N /dev/sdc</code></p>
<p>/dev/sdc:<br />
max sectors   = 65134/1953525168, HPA is enabled</p>
<p>3. 暫時改變 HDD 的 Sectors<br />
<code>./hdparm -N1953525168 /dev/sdc</code><br />
4. 用 rmmod sata_sil 再 modprobe sata_sil 讓 Linux 重抓一次硬碟的容量. 理論上直接 Access 應該也 OK, 但是我是失敗的.<br />
5. 如果 fdisk 沒有問題, 再用指令<br />
<code>./hdparm -Np1953525168 /dev/sdc</code> 寫回去 HDD.<br />
6. 重開機看 Linux 是不是能正確抓到所有的容量&#8230;<br />
7. 如果沒有抓到所有的容量, 請換一台電腦再試試看吧&#8230;.</p>
<p>我自己是 Step 1-6 就成功了, 用到目前也沒有問題.</p>
<p>Ref. <a href="http://marc.info/?t=120301340500003&amp;r=1&amp;w=2" target="_blank" rel="noopener">ST31000340NS (1000G) Capacity equal 33MB issue.</a></p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2008/02/18/555/seagate-es2-st31000340ns-%e5%9c%a8-linux-%e4%b8%8b%e5%8f%aa%e6%8a%93%e5%88%b0-33mb-%e7%9a%84%e5%95%8f%e9%a1%8c/">Seagate ES.2 ST31000340NS 在 Linux 下只抓到 33MB 的問題.</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2008/02/18/555/seagate-es2-st31000340ns-%e5%9c%a8-linux-%e4%b8%8b%e5%8f%aa%e6%8a%93%e5%88%b0-33mb-%e7%9a%84%e5%95%8f%e9%a1%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
