| USB_MODESWITCH(1) | General Commands Manual | USB_MODESWITCH(1) |
نام (NAME)
usb_modeswitch - کنترل حالت دستگاههای USB چندحالته
خلاصه دستور (SYNOPSIS)
usb_modeswitch [-heWQDIvpVPmM23rwKdHSOBGTNALnsRiuagft] [-c filename]
توضیحات (DESCRIPTION)
چندین دستگاه جدید USB درایورهای اختصاصی ویندوز خود را به همراه دارند که بیشتر آنها دانگلهای WWAN و WLAN هستند. هنگامی که برای اولین بار متصل میشوند، مانند یک حافظه فلش عمل کرده و شروع به نصب درایور ویندوز از روی آن میکنند. اگر درایور نصب شده باشد، باعث ناپدید شدن دستگاه ذخیرهسازی و ظاهر شدن یک دستگاه جدید، عمدتاً ترکیبی (مانند پورتهای مودم) میشود.
در لینوکس، در بیشتر موارد درایورها به عنوان ماژولهای کرنل در دسترس هستند، مانند «usbserial» یا «option». با این حال، دستگاه در ابتدا بهطور پیشفرض به «usb-storage» متصل میشود. سپس usb_modeswitch میتواند یک پیام حجیم (bulk) ارائهشده (به احتمال زیاد یک دستور ذخیرهسازی انبوه) را به دستگاه ارسال کند؛ این پیام باید با تحلیل عملکرد درایور ویندوز تعیین شود.
در برخی موارد، از دستورات کنترلی USB برای تغییر حالت استفاده میشود. این موارد توسط توابع سفارشی مدیریت میشوند و نیازی به ارائه پیام حجیم (bulk) نیست.
معمولاً این برنامه به همراه مجموعهای از پیکربندیها برای بسیاری از دستگاههای شناختهشده توزیع میشود که امکان رسیدگی کاملاً خودکار به یک دستگاه را به محض اتصال فراهم میکند؛ این امر با ترکیب usb_modeswitch با اسکریپت پوششی usb_modeswitch_dispatcher که توسط دیمن udev فراخوانی میشود، امکانپذیر شده است. هرچند این کار نیازمند سیستمی بر پایه لینوکس است.
توجه داشته باشید که خود usb_modeswitch وابستگیهای لینوکسی خاصی ندارد.
گزینهها (OPTIONS)
این برنامه از ساختار معمول خط فرمان GNU پیروی میکند، بهطوری که گزینههای طولانی با دو خط تیره ('--') شروع میشوند. خلاصهای از گزینهها در زیر آمده است.
- -h --help
- نمایش خلاصه گزینهها.
- -e --version
- چاپ اطلاعات نسخه و خروج
- -v --default-vendor NUM
- شناسه فروشنده برای جستجو (الزامی)، معمولاً به صورت عدد هگزادسیمال ارائه میشود (مثال: 0x12d1). هر دستگاه USB با یک شماره که بهطور رسمی توسط انجمن USB به فروشنده اختصاص داده شده و یک شماره برای مدل مربوطه (شناسه محصول) که توسط فروشنده انتخاب شده، شناسایی میشود
- -p --default-product NUM
- شناسه محصول برای جستجو (الزامی)
- -V --target-vendor NUM
- شناسه فروشنده مقصد. در صورت ارائه، ابتدا برای اهداف اطلاعاتی جستجو و شناسایی میشود. اگر بررسی موفقیت (گزینه -s) فعال باشد، ارائه شناسههای مقصد (فروشنده/محصول) یا کلاس مقصد توصیه میشود
- -j --find-mbim
- بازگرداندن شماره پیکربندی با رابط MBIM و خروج.
- -P --target-product NUM
- شناسه محصول مقصد
- -b --bus-num NUM
- -g --device-num NUM
- اگر شماره گذرگاه و شماره دستگاه ارائه شوند، رسیدگی به یک دستگاه مشخص روی یک پورت USB مشخص در مقایسه با استفاده تنها از شناسه USB تضمین میشود. این مورد هنگامی که چندین دستگاه مشابه در سیستم وجود دارند، مهم است
- -C --target-class NUM
- کلاس دستگاه مقصد بر اساس مشخصات USB. برخی دستگاهها شناسه فروشنده/محصول اصلی خود را پس از تغییر حالت موفق حفظ میکنند. برای جلوگیری از رسیدگی مجدد به آنها، میتوان کلاس دستگاه را بررسی کرد. برای دستگاههای تغییر حالت نیافته این مقدار همیشه 8 (کلاس ذخیرهسازی) است و برای مودمهای تغییر حالت یافته اغلب 0xff (مختص فروشنده) است. در حالتهای ترکیبی، کلاس اولین رابط (interface) بررسی میشود
- -m --message-endpoint NUM
- یک نقطه پایانی (endpoint) مشخص برای استفاده در انتقال دادهها. فقط برای اهداف آزمایشی؛ معمولاً نقاط پایانی بر اساس ویژگیهای دستگاه تعیین میشوند
- -M --message-content STRING
- یک پیام حجیم (bulk) برای ارسال به عنوان دستور تغییر حالت. به صورت یک رشته هگزادسیمال ارائه میشود
- -2 --message-content2 STRING
- -3 --message-content3 STRING
- پیامهای حجیم اضافی برای ارسال به عنوان دستورات تغییر حالت. به صورت رشتههای هگزادسیمال ارائه میشوند. هنگام استفاده با دستورات ذخیرهسازی انبوه، تنظیم --need-response برای رعایت مشخصات و جلوگیری از خطاهای احتمالی اکیداً توصیه میشود
- -w --release-delay <milliseconds>
- پس از ارسال تمام پیامهای حجیم، پیش از آزادسازی رابط به مدت زمان داده شده صبر کن. برای برخی مودمها در سیستمهای قدیمیتر مورد نیاز است (بهویژه پس از پیام EJECT)
- -n --need-response
- منسوخ شده است. خواندن CSW همیشه پس از انتقالهای ذخیرهسازی انبوه تلاش میشود. نکته منفی ندارد
- -r --response-endpoint NUM
- تلاش برای خواندن پاسخ یک دستور ذخیرهسازی از آنجا. فقط برای اهداف آزمایشی؛ معمولاً نقاط پایانی از ویژگیهای دستگاه تعیین میشوند
- -K --std-eject
- اعمال توالی استاندارد SCSI مربوط به «Allow Medium Removal» و «Eject». متضمن گزینه -n است. میتوان یک پیام با -M اضافه کرد که پس از توالی خروج ارسال خواهد شد. توسط بسیاری از مودمها استفاده میشود
- -d --detach-only
- فقط درایور فعلی را جدا کن. این کار برای برخی از دستگاههای اولیه جهت تغییر حالت موفق کافی است. در غیر این صورت از این قابلیت میتوان به عنوان یک ابزار دقیق برای موارد خاص استفاده کرد، مانند جدا کردن درایور از رابطهای مجزا
- -H --huawei-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای قدیمیتر Huawei استفاده میشود
- -J --huawei-new-mode
- ارسال یک پیام حجیم مشخص که توسط تمام دستگاههای جدیدتر Huawei استفاده میشود
- -X --huawei-alt-mode
- ارسال یک پیام حجیم جایگزین به دستگاههای Huawei
- -S --sierra-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای Sierra استفاده میشود
- -G --gct-mode
- ارسال یک پیام کنترلی ویژه که توسط چیپستهای GCT استفاده میشود
- -T --kobil-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای Kobil استفاده میشود
- -N --sequans-mode
- ارسال یک پیام کنترلی ویژه که توسط چیپست Sequans استفاده میشود
- -A --mobileaction-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاه MobileAction استفاده میشود
- -B --qisda-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای Qisda استفاده میشود
- -E --quanta-mode
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای Quanta استفاده میشود
- -F --pantech-mode NUM
- ارسال یک پیام کنترلی ویژه که توسط دستگاههای Pantech استفاده میشود. مقدار NUM در پیام کنترلی به عنوان «wValue» استفاده خواهد شد
- -Z --blackberry-mode
- ارسال یک پیام کنترلی ویژه که توسط برخی دستگاههای جدیدتر Blackberry استفاده میشود
- -S --option-mode
- ارسال یک پیام کنترلی ویژه که توسط تمام دستگاههای Option استفاده میشود
- -O --sony-mode
- اعمال یک توالی ویژه که توسط دستگاههای Sony Ericsson استفاده میشود. متضمن گزینه --check-success است
- -L --cisco-mode
- ارسال یک توالی از پیامهای حجیم که توسط دستگاههای Cisco استفاده میشود
- -R --reset-usb
- ارسال یک دستور ریست USB به دستگاه. میتواند با هر روش تغییر حالتی ترکیب شده یا به صورت مستقل اجرا شود. این کار همیشه به عنوان آخرین گام از تمام تعاملات با دستگاه انجام میشود. دستگاههای اندکی برای تکمیل تغییر حالت به آن نیاز دارند؛ جدای از آن ممکن است در طول آزمایش مفید باشد
- -c --config-file FILENAME
- استفاده از یک فایل پیکربندی مشخص. اگر هرگونه شناسه یا گزینه تغییر حالت به عنوان پارامترهای خط فرمان داده شوند، این گزینه نادیده گرفته میشود. در آن صورت تمام پارامترهای الزامی باید در خط فرمان ارائه شوند
- -f --long-config STRING
- ارائه جزئیات دستگاه با ساختار فایل پیکربندی به صورت یک رشته چندخطی در خط فرمان
- -t --stdinput
- خواندن جزئیات دستگاه با ساختار فایل پیکربندی از ورودی استاندارد، به عنوان مثال هدایتشده از یک پایپ دستور (متن چندخطی)
- -Q --quiet
- پیامهای پیشرفت یا خطا را نشان نده
- -W --verbose
- چاپ تمام تنظیمات پیش از اجرا و نمایش پیامهای اشکالزدایی libusb
- -D --sysmode
- رفتار برنامه را کمی تغییر میدهد. یک پیام موفقیت شامل شناسه دستگاه مقصد مؤثر نمایش داده شده و یک اعلان syslog صادر میشود. عمدتاً برای یکپارچهسازی با یک اسکریپت پوششی
- -s --check-success <seconds>
- پس از تغییر حالت، بررسی برای نتیجه را تا زمان داده شده ادامه بده. اگر شناسههای مقصد یا کلاس مقصد ارائه شده باشند، ظاهر شدن آنها نشاندهنده موفقیت قطعی است. در غیر این صورت قطع ارتباط دستگاه اصلی به عنوان اثبات احتمالی در نظر گرفته میشود
- -I --inquire
- منسوخ شده است. سابقاً ویژگیهای SCSI را دریافت میکرد، اکنون نادیده گرفته میشود
- -i --interface NUM
- انتخاب رابط USB اولیه (پیشفرض: 0). فقط برای اهداف آزمایشی
- -u --configuration NUM
- انتخاب پیکربندی USB (پس از هرگونه اقدام تغییر حالت ممکن دیگر اعمال میشود)
- -a --altsetting NUM
- انتخاب تنظیم رابط USB جایگزین (پس از تغییر حالت اعمال میشود). عمدتاً برای آزمایش
نویسنده (AUTHOR)
این صفحه راهنما در ابتدا توسط Didier Raboud (didier@raboud.com) برای سیستم Debian نوشته شده است. افزودهها توسط Josua Dietze انجام شده است. مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو، نسخه ۲ یا هر نسخه بالاتر منتشر شده توسط بنیاد نرمافزار آزاد اعطا میشود.
متن کامل مجوز عمومی همگانی گنوی فعلی را میتوان در http://www.gnu.org/licenses/gpl.txt یافت