.TH SG_SENDDIAG "8" "می ۲۰۱۸" "sg3_utils\-1.43" SG3_UTILS .SH "نام (NAME)" sg_senddiag \- دستور SCSI SEND DIAGNOSTIC را اجرا می‌کند .SH "خلاصه دستور (SYNOPSIS)" .B sg_senddiag [\fI\-\-doff\fR] [\fI\-\-extdur\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-list\fR] [\fI\-\-maxlen=LEN\fR] [\fI\-\-page=PG\fR] [\fI\-\-pf\fR] [\fI\-\-raw=H,H...\fR] [\fI\-\-raw=\-\fR] [\fI\-\-selftest=ST\fR] [\fI\-\-test\fR] [\fI\-\-timeout=SECS\fR] [\fI\-\-uoff\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR .PP .B sg_senddiag [\fI\-doff\fR] [\fI\-e\fR] [\fI\-h\fR] [\fI\-H\fR] [\fI\-l\fR] [\fI\-pf\fR] [\fI\-raw=H,H...\fR] [\fI\-raw=\-\fR] [\fI\-s=ST\fR] [\fI\-t\fR] [\fI\-T=SECS\fR] [\fI\-uoff\fR] [\fI\-v\fR] [\fI\-V\fR] [\fI\-?\fR] \fIDEVICE\fR .SH "توضیحات (DESCRIPTION)" .\" Add any additional description here این ابزار یک دستور SCSI SEND DIAGNOSTIC را به \fIDEVICE\fR ارسال می‌کند. می‌تواند خودآزمایی‌ها را اجرا کند، صفحه‌های تشخیصی پشتیبانی‌شده را بیابد یا صفحه‌های تشخیصی دلخواه را ارسال نماید. .PP هنگامی که گزینه \fI\-\-list\fR و یک \fIDEVICE\fR داده شوند، ابزار یک دستور SCSI RECEIVE DIAGNOSTIC RESULTS ارسال می‌کند تا پاسخ (یعنی شماره صفحه‌های تشخیصی پشتیبانی‌شده) را دریافت کند. .PP هنگامی که گزینه \fI\-\-list\fR بدون یک \fIDEVICE\fR داده شود، فهرستی از نام صفحه‌های تشخیصی و شماره‌های آن‌ها که برای این ابزار شناخته‌شده هستند، نمایش داده می‌شود. .PP این ابزار از دو نحو خط فرمان پشتیبانی می‌کند؛ نحو ارجح ابتدا در بخش خلاصه دستور نشان داده شده و در این بخش توضیح داده می‌شود. بخش بعدی درباره نحو قدیمی خط فرمان، گروه دوم گزینه‌ها را شرح می‌دهد. .SH "گزینه‌ها (OPTIONS)" آرگومان‌های گزینه‌های طولانی برای گزینه‌های کوتاه نیز اجباری هستند. .TP \fB\-d\fR, \fB\-\-doff\fR بیت Device Offline (DevOffL) را تنظیم می‌کند (پیش‌فرض، پاک یا 0 است). تنها زمانی معنادار است که گزینه \fI\-\-test\fR برای خودآزمایی پیش‌فرض تنظیم شده باشد. در صورت تنظیم، ممکن است سایر عملیات روی هر واحد منطقی (logical unit) تحت کنترل این کارساز دستگاه (target) در زمان انجام خودآزمایی پیش‌فرض، تحت تأثیر قرار گیرند (به تأخیر بیفتند). .TP \fB\-e\fR, \fB\-\-extdur\fR مدت‌زمان مورد انتظار برای خودآزمایی طولانی (extended) را نمایش می‌دهد. این مدت‌زمان بر حسب ثانیه (و در داخل پرانتز بر حسب دقیقه) ارائه می‌شود. این رقم از صفحه حالت 0xa (یعنی صفحه حالت کنترل) به دست می‌آید. .TP \fB\-h\fR, \fB\-\-help\fR پیام نحوه استفاده را چاپ کرده و خارج می‌شود. .TP \fB\-H\fR, \fB\-\-hex\fR پاسخ دستور RECEIVE DIAGNOSTIC RESULTS را به جای رمزگشایی، به صورت هگزادسیمال نمایش می‌دهد. تنها صفحه تشخیصی Supported Diagnostic Pages (یعنی page_code=0) رمزگشایی می‌شود؛ سایر صفحه‌ها (مانند صفحه‌های مورد استفاده توسط SES) به صورت هگزادسیمال نمایش داده می‌شوند. .br اگر \fI\-\-hex\fR یک بار استفاده شود، خروجی هگز دارای یک نشانی نسبی در ابتدای هر سطر خواهد بود. اگر \fI\-\-hex\fR دو بار استفاده شود، متناظر ASCII در سمت راست هر سطر از هگز نمایش داده می‌شود. اگر \fI\-\-hex\fR سه بار یا بیشتر استفاده شود، تنها هگز خروجی داده می‌شود، به صورت جفت‌کاراکترهایی (یعنی یک بایت) که با فاصله از هم جدا شده‌اند و تا ۱۶ بایت در هر سطر قرار می‌گیرند. این شکل اخیر، اگر در فایلی قرار داده شود یا با لوله (pipe) به یک اجرای دیگر فرستاده شود، برای گزینه \fI\-\-raw=\-\fR مناسب است. .TP \fB\-l\fR, \fB\-\-list\fR هنگامی که یک \fIDEVICE\fR نیز داده شده باشد، نام تمام صفحه‌های تشخیصی پشتیبانی‌شده توسط این دستگاه را فهرست می‌کند. این درخواست از طریق یک دستور SEND DIAGNOSTIC (با تنظیم بیت "pF") ارسال شده و پاسخ با یک دستور RECEIVE DIAGNOSTIC RESULTS دریافت می‌شود. هنگامی که بدون آرگومان \fIDEVICE\fR استفاده شود، فهرستی از نام صفحه‌های تشخیصی و شماره‌های آن‌ها که برای این ابزار شناخته‌شده هستند نمایش داده می‌شود. .TP \fB\-m\fR, \fB\-\-maxlen\fR=\fILEN\fR که در آن \fILEN\fR مقداری است که در فیلد طول فهرست پارامتر (parameter list length) در یک دستور SEND DIAGNOSTIC یا در فیلد طول تخصیص (allocation length) در یک دستور RECEIVE DIAGNOSTIC RESULTS قرار می‌گیرد. این حالت تنها زمانی رخ می‌دهد که سایر گزینه‌ها بر ارسال یا دریافت داده توسط دستور دلالت داشته باشند. مقدار پیش‌فرض ۴۰۹۶ بایت است. مقدار \fILEN\fR نمی‌تواند از ۶۵۵۳۵ یا 0xffff در مبنای شانزده تجاوز کند. .TP \fB\-O\fR, \fB\-\-old\fR تغییر به گزینه‌های سبک قدیمی‌تر. لطفاً به عنوان اولین گزینه استفاده شود. .TP \fB\-P\fR, \fB\-\-page\fR=\fIPG\fR که در آن \fIPG\fR فیلد کد صفحه دستور RECEIVE DIAGNOSTIC RESULTS است. در صورت مشخص شدن این گزینه، بیت PCV در آن دستور تنظیم می‌شود. هنگامی که این گزینه داده شود، هیچ دستور SEND DIAGNOSTIC ارسال نمی‌شود (برخلاف \fI\-\-list\fR). اگر \fIPG\fR برابر با 0 باشد، پاسخ به گونه‌ای رمزگشایی می‌شود که گویی صفحه تشخیصی SPC Supported Diagnostic pages است. سایر مقادیر \fIPG\fR (یعنی ۱ تا ۲۵۵) پاسخ‌های خود را به صورت هگزادسیمال نمایش می‌دهند. .TP \fB\-p\fR, \fB\-\-pf\fR بیت Page Format (PF) را تنظیم می‌کند. به طور پیش‌فرض پاک (یعنی 0) است، مگر اینکه گزینه \fI\-\-list\fR داده شده باشد که در آن صورت بیت Page Format تنظیم می‌شود (طبق الزامات SPC\-3). .TP \fB\-r\fR, \fB\-\-raw\fR=\fIH,H...\fR رشته‌ای از اعداد هگزادسیمال جدا شده با کاما که هر یک از آن‌ها باید به یک مقدار بایت (یعنی 0 تا ff به طور شامل) تبدیل شوند. یک رشته از بایت‌های هگز که با فاصله (تک) جدا شده باشند نیز مجاز است، اما این فهرست باید درون نقل‌قول قرار گیرد. این دنباله یک صفحه تشخیصی را تشکیل می‌دهد تا با دستور SCSI SEND DIAGNOSTIC ارسال شود. به احتمال زیاد گزینه \fI\-\-pf\fR نیز باید داده شود. .TP \fB\-r\fR, \fB\-\-raw=\-\fR دنباله‌ای از بایت‌ها را از ورودی استاندارد (stdin) می‌خواند. این دنباله می‌تواند با کاما، فاصله، تب یا خط جدید (newline) جدا شده باشد. اگر سطری شامل "#" باشد، کاراکترهای باقی‌مانده در آن سطر نادیده گرفته می‌شوند. در غیر این صورت هر کاراکتر غیرجداساز باید به یک مقدار بایت (یعنی 0 تا ff به طور شامل) تبدیل شود. این دنباله یک صفحه تشخیصی را تشکیل می‌دهد تا با دستور SCSI SEND DIAGNOSTIC ارسال شود. به احتمال زیاد گزینه \fI\-\-pf\fR نیز باید داده شود. .TP \fB\-s\fR, \fB\-\-selftest\fR=\fIST\fR که در آن \fIST\fR کد خودآزمایی است. مقدار پیش‌فرض 0 است که به معنی غیرفعال است. برخی مقادیر دیگر: .nf \fB1\fR : خودآزمایی کوتاه پس‌زمینه \fB2\fR : خودآزمایی گسترده پس‌زمینه \fB4\fR : لغو یک خودآزمایی (پس‌زمینه) در حال انجام \fB5\fR : خودآزمایی کوتاه پیش‌زمینه \fB6\fR : خودآزمایی گسترده پیش‌زمینه .fi .PP این گزینه با خودآزمایی پیش‌فرض مانعةالجمع است (یعنی نمی‌توان به طور هم‌زمان (\fIST\fR > 0) و \fI\-\-test\fR را داشت). .TP \fB\-t\fR, \fB\-\-test\fR بیت خودآزمایی _پیش‌فرض_ (SelfTest) را تنظیم می‌کند. به طور پیش‌فرض این مقدار پاک (0) است. گزینه \fI\-\-selftest=ST\fR نباید هم‌زمان با این گزینه فعال باشد. هر دو گزینه \fI\-\-doff\fR و/یا \fI\-\-uoff\fR می‌توانند با این گزینه استفاده شوند. .TP \fB\-T\fR, \fB\-\-timeout\fR=\fISECS\fR که در آن \fISECS\fR یک مقدار مهلت زمانی (بر حسب ثانیه) برای عملیات خودآزمایی پیش‌زمینه است. مقدار پیش‌فرض ۷۲۰۰ ثانیه (۲ ساعت) است و هر مقداری برای \fISECS\fR که کمتر از مقدار پیش‌فرض باشد نادیده گرفته می‌شود. .TP \fB\-u\fR, \fB\-\-uoff\fR بیت Unit Offline (UnitOffL) را تنظیم می‌کند (پیش‌فرض، پاک یا 0 است). تنها زمانی معنادار است که گزینه \fI\-\-test\fR برای خودآزمایی پیش‌فرض تنظیم شده باشد. در صورت تنظیم، ممکن است سایر عملیات روی این واحد منطقی در حین انجام خودآزمایی پیش‌فرض تحت تأثیر قرار گیرند (به تأخیر بیفتند). برخی دستگاه‌ها (مانند دیسک‌های Fujitsu) در صورت تنظیم بودن این بیت، آزمون‌های بیشتری انجام می‌دهند. .TP \fB\-v\fR, \fB\-\-verbose\fR سطح پرحرفی را افزایش می‌دهد. می‌تواند چندین بار استفاده شود. .TP \fB\-V\fR, \fB\-\-version\fR رشته نگارش را چاپ کرده و خارج می‌شود. .SH "نکات (NOTES)" تمام دستگاه‌ها باید از خودآزمایی پیش‌فرض پشتیبانی کنند. کدهای خودآزمایی «کوتاه» باید در ۲ دقیقه یا کمتر تکمیل شوند. حداکثر مدت‌زمان کدهای خودآزمایی «گسترده» به سازنده وابسته است (مثلاً برای دیسک‌های نویسنده کمی بیشتر از ۱۰ دقیقه). کدهای خودآزمایی پیش‌زمینه تا زمان تکمیل منتظر می‌مانند، در حالی که کدهای خودآزمایی پس‌زمینه بلافاصله بازمی‌گردند. نتایج کدهای خودآزمایی پیش‌زمینه و پس‌زمینه در صفحه لاگ «self\-test results» قرار می‌گیرند (به .BR sg_logs (8) مراجعه کنید). مهلت زمانی دستور SCSI برای این ابزار روی ۶۰ دقیقه تنظیم شده است تا امکان اجرای خودآزمایی‌های گسترده پیش‌زمینه که کند هستند، فراهم باشد. .PP اگر \fIDEVICE\fR یک دیسک باشد، در طول خودآزمایی پیش‌زمینه هیچ سیستم فایلی مستقر روی آن دیسک نباید سوار (mount) شده باشد؛ دلیل این است که سایر دستورات SCSI ممکن است پشت سر خودآزمایی پیش‌زمینه در صف قرار گرفته و مهلت زمانی آن‌ها به پایان برسد. .PP هنگامی که گزینه \fI\-\-raw=H,H...\fR داده می‌شود، نباید خودآزمایی‌ها انتخاب شوند. با این حال گزینه \fB\-\-pf\fR (یعنی "page format") باید مشخص شود. طول صفحه تشخیصی ارسالی از تعداد بایت‌های داده‌شده به گزینه \fI\-\-raw=H,H...\fR مشتق می‌شود. کد صفحه تشخیصی (شماره آن) باید نخستین بایت از این دنباله باشد (همان‌طور که توسط قالب صفحه تشخیصی SPC\-3 دیکته شده است). بخش مثال‌ها در زیر را ببینید. .PP صفحه‌های تشخیصی دلخواه را می‌توان با ابزار .BR sg_ses (8) (به صورت هگز) خواند (نه تنها آن‌هایی که در SES\-2 تعریف شده‌اند). .PP اگر ابزار بدون هیچ گزینه‌ای استفاده شود (مثلاً "sg_senddiag /dev/sg1")، یک دستور انحطاط‌یافته (degenerate) SCSI SEND DIAGNOSTIC با مقدار صفر در تمام فیلدهایش به جز کد عملگر (opcode) ارسال می‌شود. برخی دستگاه‌ها این مورد را به عنوان خطا گزارش می‌کنند در حالی که دستگاه‌های دیگر آن را نادیده می‌گیرند. در SPC\-3 کاملاً مشخص نیست که آیا ارسال چنین دستوری نامعتبر است یا خیر. .PP در سری 2.4 هسته‌های لینوکس، \fIDEVICE\fR باید یک دستگاه جنریک SCSI (sg) باشد. در سری 2.6 دستگاه‌های بلوکی (مانند دیسک‌های SCSI و درایوهای DVD) نیز می‌توانند مشخص شوند. .PP برای دسترسی به محفظه‌های SCSI به ابزار .BR sg_ses (8) مراجعه کنید. ابزار .B sg_ses از دستورات SCSI SEND DIAGNOSTIC و RECEIVE DIAGNOSTIC RESULTS همان‌طور که در پیش‌نویس استاندارد SES\-2 مشخص شده، استفاده می‌کند. .SH "وضعیت خروج (EXIT STATUS)" وضعیت خروج .B sg_senddiag در صورت موفقیت برابر با 0 است. در غیر این صورت به صفحه راهنمای .BR sg3_utils (8) مراجعه کنید. .SH "گزینه‌های قدیمی خط فرمان (OLDER COMMAND LINE OPTIONS)" گزینه‌های این بخش تنها گزینه‌های در دسترس پیش از نگارش 1.23 از sg3_utils بودند. از آن زمان این ابزار به طور پیش‌فرض از گزینه‌های جدیدتر خط فرمان استفاده می‌کند که می‌توان با استفاده از \fI\-\-old\fR (یا \fI\-O\fR) به عنوان اولین گزینه، رفتار آن را بازنویسی کرد. برای روشی دیگر جهت اجبار به استفاده از این گزینه‌های قدیمی خط فرمان، بخش متغیرهای محیطی را ببینید. .TP \fB\-doff\fR بیت Device Offline (DevOffL) را تنظیم می‌کند (پیش‌فرض پاک است). تنها زمانی معنادار است که گزینه \fI\-t\fR برای خودآزمایی پیش‌فرض تنظیم شده باشد. معادل \fI\-\-doff\fR در توضیحات اصلی است. .TP \fB\-e\fR مدت‌زمان مورد انتظار خودآزمایی گسترده را نمایش می‌دهد. معادل \fI\-\-extdur\fR در توضیحات اصلی است. .TP \fB\-h\fR پاسخ دستور RECEIVE DIAGNOSTIC RESULTS را به جای رمزگشایی، به صورت هگزادسیمال نمایش می‌دهد. .TP \fB\-H\fR پاسخ دستور RECEIVE DIAGNOSTIC RESULTS را به جای رمزگشایی، به صورت هگزادسیمال نمایش می‌دهد. .TP \fB\-l\fR هنگامی که یک \fIDEVICE\fR نیز داده شده باشد، نام تمام صفحه‌های تشخیصی پشتیبانی‌شده توسط این دستگاه را فهرست می‌کند. این درخواست از طریق یک دستور SEND DIAGNOSTIC (با تنظیم بیت "pf") ارسال شده و پاسخ با یک دستور RECEIVE DIAGNOSTIC RESULTS دریافت می‌شود. هنگامی که بدون آرگومان \fIDEVICE\fR استفاده شود، فهرستی از نام صفحه‌های تشخیصی و شماره‌های آن‌ها که برای این ابزار شناخته‌شده هستند نمایش داده می‌شود. .TP \fB\-N\fR, \fB\-\-new\fR تغییر وضعیت به گزینه‌های سبک جدیدتر. .TP \fB\-pf\fR بیت Page Format (PF) را تنظیم می‌کند. به طور پیش‌فرض پاک (یعنی 0) است، مگر اینکه گزینه \fI\-l\fR داده شده باشد که در آن صورت بیت Page Format تنظیم می‌شود (طبق الزامات SPC\-3). .TP \fB\-raw\fR=\fIH,H...\fR رشته‌ای از اعداد هگزادسیمال جدا شده با کاما که هر یک از آن‌ها باید به یک مقدار بایت (یعنی 0 تا ff به طور شامل) تبدیل شوند. این دنباله یک صفحه تشخیصی را تشکیل می‌دهد تا با دستور SCSI SEND DIAGNOSTIC ارسال شود. به احتمال زیاد گزینه \fI\-pf\fR نیز باید داده شود. .TP \fB\-raw=\-\fR دنباله‌ای از بایت‌ها را از ورودی استاندارد (stdin) می‌خواند. این دنباله می‌تواند با کاما، فاصله، تب یا خط جدید (newline) جدا شده باشد. اگر سطری شامل "#" باشد، کاراکترهای باقی‌مانده در آن سطر نادیده گرفته می‌شوند. در غیر این صورت هر کاراکتر غیرجداساز باید به یک مقدار بایت (یعنی 0 تا ff به طور شامل) تبدیل شود. این دنباله یک صفحه تشخیصی را تشکیل می‌دهد تا با دستور SCSI SEND DIAGNOSTIC ارسال شود. به احتمال زیاد گزینه \fI\-pf\fR نیز باید داده شود. .TP \fB\-s\fR=\fIST\fR که در آن \fIST\fR کد خودآزمایی است. مقدار پیش‌فرض 0 است که به معنی غیرفعال است. مقدار 1 یک خودآزمایی کوتاه پس‌زمینه را انتخاب می‌کند؛ 2 یک خودآزمایی گسترده پس‌زمینه را انتخاب می‌کند؛ 5 یک خودآزمایی کوتاه پیش‌زمینه را انتخاب می‌کند؛ 6 یک آزمون گسترده پیش‌زمینه را انتخاب می‌کند. مقدار 4 یک خودآزمایی (پس‌زمینه) در حال انجام را لغو خواهد کرد. این گزینه با خودآزمایی پیش‌فرض (یعنی \fI\-t\fR) مانعةالجمع است. .TP \fB\-t\fR بیت خودآزمایی _پیش‌فرض_ (SelfTest) را تنظیم می‌کند. به طور پیش‌فرض این مقدار پاک (0) است. گزینه \fI\-s=ST\fR نباید هم‌زمان با این گزینه فعال باشد. هر دو گزینه \fI\-doff\fR و/یا \fI\-uoff\fR می‌توانند با این گزینه استفاده شوند. .TP \fB\-T\fR=\fISECS\fR که در آن \fISECS\fR یک مقدار مهلت زمانی (بر حسب ثانیه) برای عملیات خودآزمایی پیش‌زمینه است. گزینه \fI\-\-timeout=SECS\fR در بالا را ببینید. .TP \fB\-uoff\fR بیت Unit Offline (UnitOffL) را تنظیم می‌کند (پیش‌فرض پاک است). معادل \fI\-\-uoff\fR در توضیحات اصلی است. .TP \fB\-v\fR سطح پرحرفی را افزایش می‌دهد. می‌تواند چندین بار استفاده شود. .TP \fB\-V\fR رشته نگارش را چاپ کرده و خارج می‌شود. .TP \fB\-?\fR پیام نحوه استفاده را چاپ می‌کند. تمام پارامترهای دیگر را نادیده می‌گیرد. .SH "مثال‌ها (EXAMPLES)" زیرشاخه examples در بسته‌های sg3_utils شامل دو اسکریپت نمونه است که الگوی CJTPAT (الگوی لرزش یا jitter) را روی برخی دیسک‌های SAS فعال می‌کند (یک اسکریپت برای هر phy). یک فراخوانی ممکن برای phy 1 عبارت است از: .PP .nf sg_senddiag \-\-pf \-\-raw=\- /dev/sg2 < sdiag_sas_p1_cjtpat.txt .fi .PP همچنین یک اسکریپت نمونه وجود دارد که الگوی IDLE را فعال می‌کند. هنگامی که یک الگوی آزمایشی آغاز شد، می‌توان آن را با بازنشانی phy یا با تابع الگوی STOP phy خاموش کرد: .PP .nf sg_senddiag \-\-pf \-\-raw=\- /dev/sg2 < sdiag_sas_p1_stop.txt .fi .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" از زمان نگارش 1.23 از sg3_utils، متغیر محیطی SG3_UTILS_OLD_OPTS می‌تواند داده شود. هنگامی که این متغیر وجود داشته باشد، این ابزار انتظار گزینه‌های قدیمی‌تر خط فرمان را خواهد داشت؛ بنابراین حضور این متغیر محیطی معادل استفاده از \fI\-\-old\fR (یا \fI\-O\fR) به عنوان اولین گزینه خط فرمان است. .SH "نویسنده (AUTHOR)" نوشته‌شده توسط Douglas Gilbert. .SH "گزارش خطاها (REPORTING BUGS)" گزارش خطاها را به ارسال کنید. .SH "حق نشر (COPYRIGHT)" Copyright \(co 2003\-2018 Douglas Gilbert .br این نرم‌افزار تحت مجوز GPL نگارش 2 توزیع شده است. هیچ تضمینی وجود ندارد؛ حتی برای قابلیت فروش یا مناسب بودن برای یک هدف خاص. .SH "ببینید (SEE ALSO)" .BR sg_ses (8), .BR sg_logs (8), .B smartmontools(see net)