.TH "DFU\-UTIL" "1" "September 2021" "dfu\-util 0.11" "" .SH "نام (NAME)" dfu-util \- پروگرمر USB برای به‌روزرسانی سفت‌افزار دستگاه (DFU) .SH "خلاصه دستور (SYNOPSIS)" .\" فهرست کردن دستگاه‌ها .HP .B dfu-util .B \-l .RB [\| \-v \|] .RB [\| \-d .IR vid:pid [\|, vid:pid \|]\|] .RB [\| \-p .IR path \|] .RB [\| \-c .IR configuration \|] .RB [\| \-i .IR interface \|] .RB [\| \-a .IR alt-intf \|] .RB [\| \-S .IR serial [\|, serial \|]\|] .\" بارگیری در دستگاه یا بارگذاری از آن .HP .B dfu-util .RB [\| \-v \|] .RB [\| \-d .IR vid:pid [\|, vid:pid \|]\|] .RB [\| \-p .IR path \|] .RB [\| \-c .IR configuration \|] .RB [\| \-i .IR interface \|] .RB [\| \-a .IR alt-intf \|] .RB [\| \-S .IR serial [\|, serial \|]\|] .RB [\| \-t .IR size \|] .RB [\| \-Z .IR size \|] .RB [\| \-w \|] .RB [\| \-s .IR address \|] .RB [\| \-R \|] .RB [\| \-D \||\| \-U .IR file \|] .\" --help و --version .HP .B dfu-util .RB [\| \-hV \|] .SH "توضیحات (DESCRIPTION)" .B dfu-util برنامه‌ای است که سمت میزبان (رایانه) پروتکل USB DFU (ارتقای سفت‌افزار دستگاه از طریق گذرگاه سریال جهانی) را پیاده‌سازی می‌کند. .sp برنامه dfu-util با دستگاه‌هایی که سمت دستگاه پروتکل USB DFU را پیاده‌سازی کرده‌اند ارتباط برقرار می‌کند و اغلب برای ارتقای سفت‌افزار این دستگاه‌ها به کار می‌رود. .SH "گزینه‌ها (OPTIONS)" .TP .B "\-l, \-\-list" فهرست کردن دستگاه‌های USB متصل با قابلیت DFU. .TP .BR "\-d, \-\-device" " [\fIRun-Time VENDOR\fP]:[\fIRun-Time PRODUCT\fP][,[\fIDFU Mode VENDOR\fP]:[\fIDFU Mode PRODUCT\fP]]" .RS شناسهٔ سازنده (vendor ID) و/یا شناسهٔ محصول (product ID) دستگاه DFU را در حالت زمان‌اجرا (run-time) و/یا حالت DFU برای کار با آن مشخص می‌کند. \fBVENDOR\fP و \fBPRODUCT\fP اعداد هگزادسیمال (بدون نیاز به پیشوند)، «*» (تطبیق با هر موردی) یا «-» (عدم تطبیق با هیچ موردی) هستند. به‌طور پیش‌فرض، هر دستگاه با قابلیت DFU چه در حالت زمان‌اجرا و چه در حالت DFU در نظر گرفته می‌شود. .sp اگر فقط یک دستگاه منطبق بر استاندارد DFU به رایانه شما متصل باشد، این پارامتر اختیاری است. با این حال، به محض اینکه چندین دستگاه DFU متصل شوند، dfu-util این موضوع را تشخیص داده و با لغو اجرا، از شما می‌خواهد مشخص کنید از کدام دستگاه استفاده شود. .sp اگر فقط شناسه‌های زمان‌اجرا مشخص شوند (برای مثال «\fB--device 1457:51ab\fP»)، علاوه بر شناسه‌های زمان‌اجرای مشخص‌شده، هر دستگاهی در حالت DFU نیز در نظر گرفته خواهد شد. این ویژگی از آن جهت سودمند است که به یک دستگاه با قابلیت DFU امکان می‌دهد پس از تغییر حالت به DFU دوباره پیدا شود، چرا که شناسهٔ سازنده و/یا محصول یک دستگاه معمولاً در حالت DFU تغییر می‌کند. .sp اگر فقط شناسه‌های حالت DFU مشخص شوند (برای مثال «\fB--device ,951:26\fP»)، تمامی دستگاه‌های زمان‌اجرا نادیده گرفته می‌شوند، که هدف قرار دادن یک دستگاه خاص در حالت DFU را آسان می‌سازد. .sp اگر هر دو شناسهٔ حالت زمان‌اجرا و DFU مشخص شوند (برای مثال «\fB--device 1457:51ab,:2bc\fP»)، مؤلفه‌های نامشخص حالت DFU از مقدار مشخص‌شده برای زمان‌اجرا استفاده خواهند کرد. .sp مثال‌ها: .TP .B "--device 1457:51ab,951:26" .br کار با دستگاهی در حالت زمان‌اجرا با شناسه سازنده 0x1457 و شناسه محصول 0x51ab، یا در حالت DFU با شناسه سازنده 0x0951 و شناسه محصول 0x0026 .sp .TP .B "--device 1457:51ab,:2bc" .br کار با دستگاهی در حالت زمان‌اجرا با شناسه سازنده 0x1457 و شناسه محصول 0x51ab، یا در حالت DFU با شناسه سازنده 0x1457 و شناسه محصول 0x02bc .sp .TP .B "--device 1457:51ab" .br کار با دستگاهی در حالت زمان‌اجرا با شناسه سازنده 0x1457 و شناسه محصول 0x51ab، یا در حالت DFU با هر شناسه سازنده و محصولی .sp .TP .B "--device ,951:26" .br کار با دستگاهی در حالت DFU با شناسه سازنده 0x0951 و شناسه محصول 0x0026 .sp .TP .B "--device *,-" .br کار با هر دستگاهی در حالت زمان‌اجرا، و نادیده گرفتن هر دستگاهی در حالت DFU .sp .TP .B "--device ," .br نادیده گرفتن هر دستگاهی در حالت زمان‌اجرا، و کار با هر دستگاهی در حالت DFU .RE .TP .BR "\-p, \-\-path" " BUS-PORT. ... .PORT" مسیر منتهی به دستگاه DFU را مشخص می‌کند. .TP .BR "\-c, \-\-cfg" " CONFIG-NR" پیکربندی دستگاه DFU را مشخص می‌کند. توجه داشته باشید که این مقدار تنها برای تطبیق به کار می‌رود؛ پیکربندی توسط dfu-util تنظیم نمی‌شود. .TP .BR "\-i, \-\-intf" " INTF-NR" شماره واسط DFU را مشخص می‌کند. .TP .BR "\-a, \-\-alt" " ALT" تنظیم جایگزین (altsetting) واسط DFU را بر اساس نام یا شماره مشخص می‌کند. .TP .BR "\-S, \-\-serial" " [\fIRun-Time SERIAL\fP][,[\fIDFU Mode SERIAL\fP]]" .RS شماره سریال‌های حالت زمان‌اجرا و حالت DFU را برای محدود کردن بیشتر تطبیق دستگاه مشخص می‌کند. اگر چندین دستگاه DFU یکسان به‌طور هم‌زمان به سیستم متصل باشند، شناسهٔ سازنده و محصول برای هدف قرار دادن یک دستگاه واحد کافی نخواهد بود. در این وضعیت، می‌توان از این پارامتر برای مشخص کردن شماره سریالی که آن هم باید مطابقت داشته باشد استفاده کرد. .sp اگر فقط یک شماره سریال مشخص شود، همان شماره سریال در هر دو حالت زمان‌اجرا و DFU استفاده می‌شود. یک شماره سریال خالی با هر شماره سریالی در حالت مربوطه تطبیق خواهد یافت. .RE .TP .BR "\-t, \-\-transfer-size" " SIZE" تعداد بایت‌ها در هر انتقال USB را مشخص می‌کند. مقدار بهینه معمولاً به‌طور خودکار تعیین می‌شود، بنابراین این گزینه به‌ندرت مفید است. اگر برای دستگاهی نیاز به استفاده از این گزینه دارید، لطفاً آن را به عنوان یک باگ گزارش دهید. .TP .BR "\-Z, \-\-upload-size" " SIZE" اندازهٔ مورد انتظار بارگذاری را بر حسب بایت مشخص می‌کند. توجه داشته باشید که این مقدار تنها برای مقیاس‌بندی نوار پیشرفت استفاده می‌شود؛ اندازهٔ واقعی بارگذاری توسط دستگاه تعیین می‌شود. .TP .BR "\-U, \-\-upload" " FILE" خواندن سفت‌افزار از دستگاه و ذخیره در .BR FILE . .TP .BR "\-D, \-\-download" " FILE" نوشتن سفت‌افزار از .B FILE روی دستگاه. هنگامی که .B FILE برابر \- باشد، سفت‌افزار از ورودی استاندارد (stdin) خوانده می‌شود. .TP .B "\-R, \-\-reset" ارسال سیگنال بازنشانی (reset) USB پس از پایان بارگذاری یا بارگیری. .TP .B "\-e, \-\-detach" درخواست از دستگاه برای بازشماری (re-enumerate) جهت خروج از حالت زمان‌اجرا و ورود به حالت DFU همانند زمان بارگذاری یا بارگیری، اما خروج فوری پس از ارسال درخواست. .TP .BR "\-E, \-\-detach-delay" " SECONDS" هنگام بارگذاری یا بارگیری، پس از ارسال درخواست جدا شدن (detach)، به مدت .B SECONDS ثانیه برای بازشماری دستگاه پیش از انصراف منتظر می‌ماند. مقدار پیش‌فرض ۵ ثانیه است. این گزینه با \fB-e\fP بی‌تأثیر است، زیرا آن گزینه باعث می‌شود dfu-util بلافاصله پس از ارسال درخواست جدا شدن خارج شود. .TP .B "\-w, \-\-wait" انتظار تا زمانی که دستگاه منطبق بر روی گذرگاه USB ظاهر شود. .TP .BR "\-s, \-\-dfuse-address" " [\fIADDRESS\fP][:\fILENGTH\fP][:\fIMODIFIERS\fP]" آدرس مقصد را برای بارگیری/بارگذاری باینری خام در دستگاه‌های DfuSe مشخص می‌کند. از این گزینه برای بارگیری فایل‌های DfuSe (.dfu) استفاده .B نکنید\c . برای بارگذاری‌ها می‌توان یک طول مشخص کرد. تغییردهنده‌ها را می‌توان پس از آدرس با دونقطه اضافه کرد تا دستورهای خاص DfuSe نظیر «leave» برای خروج از حالت DFU، «unprotect» و «mass-erase» حافظه فلش اجرا شوند. اگر انتظار می‌رود دستگاه پس از عملیات بازنشانی شود، باید «will-reset» اضافه شود. تغییردهندهٔ «force» برخی بررسی‌های اولیه را نادیده می‌گیرد و همچنین برای عملیات‌های «unprotect» و «mass-erase» ضروری است. .TP .B "\-v, \-\-verbose" نمایش اطلاعات بیشتر درباره عملکرد dfu-util. گزینهٔ .B \-v دوم جزئیات بیشتری می‌افزاید. گزینهٔ .B \-v سوم گزارش‌گیری با جزئیات کامل از درخواست‌های USB (خروجی اشکال‌زدایی libusb) را فعال می‌کند. .TP .B "\-h, \-\-help" نمایش متن راهنما و خروج. .TP .B "\-V, \-\-version" نمایش اطلاعات نسخه و خروج. .SH "مثال‌ها (EXAMPLES)" .SS استفاده از dfu-util در پروژه OpenMoko (همراه با سخت‌افزار Neo1973) .PP فلش کردن rootfs: .br .B " $ dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2" .PP فلش کردن هسته (kernel): .br .B " $ dfu-util -a kernel -R -D /path/to/uImage" .PP فلش کردن بارگذار بوت (bootloader): .br .B " $ dfu-util -a u-boot -R -D /path/to/u-boot.bin" .PP کپی کردن هسته در RAM: .br .B " $ dfu-util -a 0 -R -D /path/to/uImage" .sp پس از اتمام این کار، هسته در آدرس بارگذاری پیش‌فرض 0x32000000 در حافظه RAM دستگاه Neo1973 در دسترس خواهد بود. .B نکته: با این روش نمی‌توان بیش از ۲ مگابایت داده را به RAM منتقل کرد. .sp .SS استفاده از dfu-util با یک دستگاه DfuSe .PP فلش کردن یک فایل .B .dfu (قالب ویژه DfuSe) روی دستگاه: .br .B " $ dfu-util -D /path/to/dfuse-image.dfu" .PP خواندن ۱ کیلوبایت از حافظه فلش با شروع از آدرس 0x8000000: .br .B " $ dfu-util -a 0 -s 0x08000000:1024 -U newfile.bin" .PP فلش کردن یک فایل باینری در آدرس 0x8004000 حافظه دستگاه و درخواست از دستگاه برای خروج از حالت DFU: .br .B " $ dfu-util -a 0 -s 0x08004000:leave -D /path/to/image.bin" .\" اشکالی وجود ندارد .SH "گزارش باگ‌ها (BUGS)" لطفاً هرگونه باگ را در سامانه پیگیری باگ dfu-util در .B http://sourceforge.net/p/dfu-util/tickets گزارش دهید. لطفاً برای ارائه اطلاعات بیشتر در گزارش باگ خود، از گزینهٔ .B \-\-verbose (در صورت نیاز به صورت مکرر) استفاده کنید. .SH "همچنین ببینید (SEE ALSO)" صفحهٔ خانگی dfu-util: .B http://dfu-util.sourceforge.net .SH "تاریخچه (HISTORY)" برنامهٔ dfu-util در ابتدا برای پروژه OpenMoko توسط Weston Schmidt و Harald Welte نوشته شد. با گذشت زمان، پشتیبانی تقریباً کاملی از DFU 1.0،‏ DFU 1.1 و DfuSe («1.1a») به آن افزوده شد. .SH "مجوز (LICENSE)" .B dfu-util تحت مجوز عمومی همگانی گنو (GPL)، نسخه ۲ یا بالاتر پوشش داده شده است. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" این صفحهٔ راهنما در ابتدا توسط Uwe Hermann نوشته شد و اکنون بخشی از پروژه dfu-util است.