| SG_SAT_SET_FEATURES(8) | SG3_UTILS | SG_SAT_SET_FEATURES(8) |
نام (NAME)
sg_sat_set_features - ارسال دستور SET FEATURES در ATA از طریق لایه ترجمه SCSI به ATA (SAT)
خلاصه دستور (SYNOPSIS)
sg_sat_set_features [--count=CO] [--ck_cond] [--extended] [--feature=FEA] [--help] [--lba=LBA] [--len={16|12}] [--readonly] [--verbose] [--version] DEVICE
توضیحات (DESCRIPTION)
این ابزار یک دستور ATA SET FEATURES را به DEVICE ارسال میکند. این دستور برای تغییر تنظیمات دستگاههای بدون بسته ATA (مانند دیسکها) و دستگاههای بستهای (مانند درایوهای cd/dvd) استفاده میشود. به جای ارسال مستقیم دستور SET FEATURES به دستگاه، این دستور از طریق یک بستر انتقال SCSI ارسال میشود که فرض میشود شامل یک لایه ترجمه SCSI به ATA (SATL) است. این SATL ممکن است در یک درایور سیستمعامل، در سفتافزار آداپتور گذرگاه میزبان (HBA) یا در یک محفظه خارجی قرار داشته باشد.
استاندارد SAT (استاندارد SAT ANSI INCITS 431-2007، پیشنویس قبلی: sat-r09.pdf در www.t10.org) دو دستور "ATA PASS-THROUGH" در SCSI را تعریف میکند: یکی با استفاده از یک "cdb" ۱۶ بایتی و دیگری با یک cdb ۱۲ بایتی. این ابزار به طور پیشفرض از نگارش cdb ۱۶ بایتی استفاده میکند. استاندارد SAT-2 نیز به صورت یک استاندارد ارائه شده است: SAT-2 ANSI INCITS 465-2010 و پیشنویس قبل از آن sat2r09.pdf است. پروژه SAT-3 نیز آغاز شده و جدیدترین پیشنویس آن sat3r05b.pdf میباشد.
ویژگیها را میتوان با استفاده از ابزار sg_sat_identify خواند که از دستور ATA IDENTIFY DEVICE (برای دستگاههای بدون بسته) یا IDENTIFY PACKET DEVICE (برای دستگاههای بستهای) استفاده میکند.
گزینهها (OPTIONS)
آرگومانهای گزینههای طولانی برای گزینههای کوتاه نیز الزامی هستند.
- -c, --count=CO
- عدد CO در فیلد "count" در دستور ATA SET FEATURES قرار میگیرد. تنها برخی از زیردستورها (اصطلاحی که برای مقدار قرار گرفته در فیلد "feature" استفاده میشود) نیاز به تنظیم فیلد count دارند. مقدار پیشفرضی که در فیلد "count" قرار میگیرد 0 است.
- -C, --ck_cond
- بیت CK_COND را در cdb دستور ATA PASS-THROUGH در SCSI تنظیم میکند. مقدار پیشفرض آن غیرفعال (یعنی 0) است. در صورت تنظیم شدن، SATL باید یک بافر حسگر (sense buffer) حاوی یک توصیفگر نتیجه ATA برگرداند، صرفنظر از اینکه دستور ATA موفق بوده یا شکست خورده باشد. در صورت غیرفعال بودن، SATL تنها زمانی باید بافر حسگر حاوی توصیفگر نتیجه ATA را برگرداند که دستور ATA با شکست مواجه شده باشد.
- -e, --extended
- امکان استفاده از شمارههای LBA گسترشیافته (یعنی بزرگتر از ۳۲ بیت) را فراهم میکند. این مقدار به طور خودکار برای شمارههای LBA بزرگ فعال میشود، اما با این گزینه میتوان آن را حتی برای شمارههای LBA کوچک نیز به صراحت فعال کرد.
- -f, --feature=FEA
- مقدار FEA در فیلد "feature" در دستور ATA SET FEATURES قرار میگیرد. گاهی اوقات اصطلاح "زیردستور" برای این مقدار به کار میرود. مقدار پیشفرض قرار گرفته در فیلد "feature" برابر با 0 است که رزرو شده و بنابراین نباید چیزی را تغییر دهد. دو مثال متداول عبارتند از 2h برای فعالسازی حافظه کش نوشتن (write cache) و 82h برای غیرفعالسازی آن.
- -h, --help
- پیام راهنمای نحوه استفاده و خلاصهای از گزینههای خط فرمان را نمایش داده و خارج میشود. در صورت ارائه DEVICE، آن را نادیده میگیرد.
- -L, --lba=LBA
- عدد LBA در فیلد "lba" از دستور ATA SET FEATURES قرار میگیرد. تنها برخی از زیردستورها (اصطلاحی که برای مقدار قرار گرفته در فیلد "feature" استفاده میشود) نیاز به تنظیم فیلد lba دارند. این مقدار معمولاً برخلاف آنچه از سرنام آن به نظر میرسد، یک "آدرس بلوک منطقی" (logical block address) نیست. مقدار پیشفرضی که در فیلد "lba" قرار میگیرد 0 است. بیشترین مقدار مجاز برای LBA برابر 0xfffffffe (یا اگر --len=12 باشد، برابر 0xffffff) است.
- -l, --len={16|12}
- طول cdb در SCSI مورد استفاده برای دستورات ATA PASS-THROUGH است. این آرگومان میتواند 16 یا 12 باشد. مقدار پیشفرض 16 است. برخی از بسترهای انتقال SCSI نمیتوانند دستورات SCSI طولانیتر از ۱۲ بایت را منتقل کنند.
- -r, --readonly
- باعث باز شدن DEVICE با فلگ فقطخواندنی (O_RDONLY در یونیکس) میشود. رفتار پیشفرض، باز کردن DEVICE با فلگ خواندن-نوشتن (O_RDWR در یونیکس) است. در برخی موارد، اگر DEVICE با فلگ خواندن-نوشتن باز شده باشد، ارسال دستورات مدیریت مصرف انرژی به دیسکهای ATA توسط عملکردهای سیستمعامل در هنگام فراخوانی close() بیاثر میشود (به عنوان مثال ممکن است سیستمعامل فکر کند که باید چیزی را روی دیسک تخلیه کند).
- -v, --verbose
- سطح پرگویی (جزئیات خروجی) را افزایش میدهد.
- -V, --version
- رشته نسخه را چاپ میکند.
نکات (NOTES)
در سریهای ۲.۴ از هستههای لینوکس، DEVICE باید یک دستگاه عمومی SCSI یعنی (sg) باشد. در سریهای ۲.۶ و ۳، دستگاههای بلوکی (مانند دیسکها و DVDهای ATAPI) نیز میتوانند مشخص شوند. برای نمونه، "sg_inq /dev/sda" در هستههای سری ۲.۶ کار خواهد کرد. از هسته ۲.۶.۶ به بعد، نام سایر دستگاههای نویسهای (char) در SCSI نیز میتوانند استفاده شوند (مانند "/dev/st0m"). پیش از هسته ۲.۶.۲۹، حافظههای ذخیرهسازی بزرگ USB دادههای حسگر (sense data) را به ۱۸ بایت محدود میکردند که باعث میشد گزینه --ck_cond نتایج عجیب (کوتاهشده) به همراه داشته باشد.
وضعیت خروج (EXIT STATUS)
وضعیت خروج sg_sat_set_features در صورت موفقیت برابر 0 است. در غیر این صورت، به صفحه راهنمای sg3_utils(8) مراجعه کنید.
نویسنده (AUTHOR)
نوشته شده توسط Douglas Gilbert.
گزارش باگها (REPORTING BUGS)
گزارش باگها به <dgilbert at interlog dot com>.
حق نشر (COPYRIGHT)
حق نشر © 2007-2014
Douglas Gilbert
این
نرمافزار
تحت مجوز BSD-2-Clause
توزیع
میشود. هیچ
ضمانتی
وجود
ندارد؛ حتی
برای
قابلیت
فروش یا
تناسب با یک
هدف خاص.
همچنین ببینید (SEE ALSO)
sg_sat_identify(sg3_utils), sg_inq(sg3_utils), sdparm(sdparm), hdparm(hdparm)
| November 2014 | sg3_utils-1.40 |