mmcli(1) User Commands mmcli(1)

mmcli - ابزار خط فرمانی نظارت و کنترل سرویس ModemManager

mmcli [گزینه...]

سرویس ModemManager یک دیمن لینوکسی مبتنی بر DBus است که یک رابط برنامه‌نویسی (API) یکپارچه و سطح‌بالا برای برقراری ارتباط با مودم‌ها (به‌ویژه پهن‌باند تلفن همراه) فراهم می‌کند. این سرویس به عنوان یک لایه رابط رادیویی (RIL) استاندارد عمل می‌کند و می‌تواند توسط مدیرهای اتصال مختلف مانند NetworkManager استفاده شود. به لطف معماری ماژولار مبتنی بر پلاگین، ModemManager می‌تواند با انواع گوناگون مودم‌ها از طریق درگاه‌های متفاوت ارتباط برقرار کند. علاوه بر درگاه‌های سریال استاندارد AT، درگاه‌های QCDM و QMI مبتنی بر کوالکام نیز پشتیبانی می‌شوند.

نمایش خلاصه گزینه‌ها بر اساس دسته‌بندی.
نمایش همه گروه‌ها و گزینه‌ها.
نمایش گزینه‌های اختصاصی مدیر (Manager).
نمایش گزینه‌های عمومی. این گزینه‌ها برای مشخص کردن دستگاهی که دستور روی آن عمل می‌کند به کار می‌روند؛ به عنوان مثال، مودم‌ها، حامل‌ها (Bearers)، سیم‌کارت‌ها، پیامک‌ها و غیره.
نمایش گزینه‌های اختصاصی مودم.
نمایش گزینه‌های اختصاصی 3GPP.
نمایش گزینه‌های اختصاصی CDMA.
نمایش گزینه‌های ساده. این گزینه‌ها برای اتصال یا قطع سریع اتصال و اطلاع از وضعیت کلی سیستم در سریع‌ترین زمان ممکن و بدون درگیر شدن با جزئیات پیچیده مفید هستند.
نمایش گزینه‌های اختصاصی موقعیت‌یابی و مکان.
نمایش گزینه‌های اختصاصی پیام‌رسانی. همچنین گزینه مرتبط --help-sms را ببینید.
نمایش گزینه‌های اختصاصی پخش سلولی (Cell Broadcast).
نمایش گزینه‌های اختصاصی زمان.
نمایش گزینه‌های اختصاصی سفت‌افزار (Firmware).
نمایش گزینه‌های اختصاصی OMA.
نمایش گزینه‌های اختصاصی کارت سیم‌کارت.
نمایش گزینه‌های اختصاصی حامل (Bearer).
نمایش گزینه‌های اختصاصی پیامک (SMS). همچنین گزینه مرتبط --help-messaging را ببینید.

دریافت نسخه دیمن در حال اجرای ModemManager.
تنظیم سطح ثبت وقایع (Logging) در دیمن ModemManager. برای اطلاعات اشکال‌زدایی می‌توانید مقدار DEBUG را مشخص کنید. هر مقداری بالاتر از DEBUG جزئیات کمتری ارائه می‌دهد. در بیشتر موارد، پیام‌های ERR (برای نمایش خطاها) پیام‌های بااهمیت هستند.

حالت پیش‌فرض ERR است.

فهرست کردن مودم‌های موجود.
فهرست کردن مودم‌های موجود و پایش و نظارت بر مودم‌های متصل یا جداشده.
پویش برای یافتن هرگونه مودم جدید احتمالی. این گزینه تنها هنگام کار با مودم‌های سریال خالص RS232 کاربرد دارد، زیرا اتصال آن‌ها به طور خودکار توسط هسته اطلاع داده نمی‌شود.
مهار کردن و جلوگیری از استفاده یک دستگاه خاص توسط ModemManager. مقدار UID داده‌شده باید برابر با مقدار ویژگی Device ارائه‌شده توسط مودم مربوطه باشد (یعنی برابر با برچسب ID_MM_PHYSDEV_UID در صورت تعریف، یا در غیر این صورت برابر با مسیر کامل دستگاه در sysfs).

این دستور فوراً خارج نمی‌شود، زیرا خروج از آن مهار دستگاه را لغو می‌کند. کاربر باید با فشردن کلیدهای Ctrl+C فرآیند mmcli را متوقف کند تا مهار دستگاه برداشته شود.

هنگامی که دستگاهی از این طریق مهار می‌شود، ModemManager مودم را غیرفعال کرده (و اتصالات فعال آن را متوقف می‌کند) و تا زمان رفع مهار، دیگر از آن استفاده نخواهد کرد.

گزارش دستی رویدادهای هسته به جای اتکا به udev (برای مثال اگر دیمن با گزینه --no-auto-scan اجرا شده باشد یا سیستم بدون پشتیبانی از udev کامپایل شده باشد).

کلیدهای پشتیبانی‌شده (KEY) عبارتند از:

'action'
عملیاتی که باید گزارش شود؛ یکی از مقادیر 'add' یا 'remove'. (الزامی)
'subsystem'
زیرسیستم مربوط به درگاه مورد نظر؛ مانند 'tty' (برای درگاه‌های سریال)، 'net' (برای رابط‌های شبکه) یا 'usbmisc' (برای درگاه‌های cdc-wdm).
'name'
نام درگاه مورد گزارش؛ مانند 'ttyACM0'، 'wwan0' یا 'cdc-wdm0'.
'uid'
شناسه یکتای اختصاصی دستگاه (UID)، معادل برچسب udev با نام ID_MM_PHYSDEV_UID. تمامی درگاه‌هایی که با مقدار UID یکسان گزارش شوند، به عنوان بخشی از یک دستگاه واحد در نظر گرفته می‌شوند که برای مثال برای مودم‌هایی با چندین TTY سخت‌افزاری مفید است.
هنگامی که برنامه با پشتیبانی udev ساخته شده اما دیمن با گزینه --no-auto-scan در حال اجراست، می‌توان از این روش برای گزارش خودکار رویدادهای هسته بر اساس udev استفاده کرد.

این دستور فوراً خارج نمی‌شود. کاربر باید برای پایان دادن به پایش رویدادهای جدید، با زدن Ctrl+C فرآیند mmcli را متوقف کند.

تمامی گزینه‌های زیر یک آرگومان PATH یا INDEX می‌پذیرند. اگر هیچ عملیاتی مشخص نشود، اطلاعات پیش‌فرض مربوط به مودم، حامل و غیره نمایش داده می‌شود.

شناسه‌های PATH و INDEX هنگام اتصال مودم به صورت خودکار ایجاد می‌شوند. می‌توان آن‌ها را با دستور mmcli -L مشاهده کرد. این دستور خروجی‌ای مشابه زیر (صرفاً برای مودم‌ها) تولید می‌کند:

Found 1 modems:
/org/freedesktop/ModemManager1/Modem/4

در این حالت، INDEX برابر با 4 بوده و PATH کل رشته بالا است.

اما در خصوص حامل‌ها، سیم‌کارت‌ها و پیامک‌ها، مسیر PATH کمی متفاوت است. بخش Modem با نام شیء مورد استفاده مانند Bearer جایگزین می‌شود. برای مثال:

/org/freedesktop/ModemManager1/Bearer/4
مشخص کردن یک مودم.
مشخص کردن یک حامل (Bearer).
مشخص کردن یک سیم‌کارت.
مشخص کردن یک پیامک.

تمامی گزینه‌های مودم در زیر از سوییچ‌های --modem یا -m برای مشخص کردن مودم هدف استفاده می‌کنند.

برخی عملیات نیازمند تعیین حالت (MODE) هستند. MODE می‌تواند هر ترکیبی از حالت‌های پشتیبانی‌شده توسط مودم باشد. در حالت ایده‌آل، گزینه‌های زیر امکان‌پذیر هستند:

'2G'  - فناوری‌های نسل دوم، مانند EDGE و CDMA1x
'3G'  - فناوری‌های نسل سوم، مانند HSPA و EV-DO
'4G'  - فناوری‌های نسل چهارم، مانند LTE
'ANY' - برای تمامی حالت‌های پشتیبانی‌شده.
پایش وضعیت یک مودم مشخص.
فعال‌سازی یک مودم مشخص.

این دستور آنتن را روشن کرده، فرآیند ثبت‌نام خودکار در شبکه را آغاز می‌کند و به طور کلی مودم را برای برقراری اتصال آماده می‌سازد.

غیرفعال‌سازی یک مودم مشخص.

این دستور اتصالات موجود مودم را قطع کرده و آن را در حالت مصرف کم‌انرژی قرار می‌دهد.

بازنشانی مودم به تنظیماتی که هنگام روشن شدن داشت.
بازنشانی مودم به تنظیمات اولیه کارخانه.

مقدار CODE ارائه‌شده وابسته به سازنده مودم است. بدون کد صحیح سازنده، بعید است این عملیات با موفقیت انجام شود. این کار یک عملیات معمول کاربری نیست.

ارسال یک دستور AT با مقدار COMMAND به مودم مشخص‌شده. برای مثال، COMMAND می‌تواند 'AT+GMM' برای دریافت اطلاعات مدل دستگاه باشد. این عملیات تنها زمانی در دسترس است که ModemManager در حالت اشکال‌زدایی (Debug) اجرا شده باشد.
ایجاد یک حامل (Bearer) داده بسته‌ای جدید برای مودم مشخص‌شده. کلیدهای (KEY) و برخی مقادیر (VALUE) در زیر فهرست شده‌اند:
'apn'
نام نقطه دسترسی (Access Point Name). در 3GPP الزامی است.
'ip-type'
نوع آدرس‌دهی شبکه. به عنوان مقداری از MMBearerIpFamily داده می‌شود (مانند 'ipv4'، 'ipv6' یا 'ipv4v6'). در 3GPP و CDMA اختیاری است.
'allowed-auth'
روش احراز هویت مورد استفاده. به عنوان مقداری از MMBearerAllowedAuth داده می‌شود (مانند 'none|pap|chap|mschap|mschapv2|eap'). در 3GPP اختیاری است.
'user'
نام کاربری (در صورت وجود) مورد نیاز شبکه. در 3GPP اختیاری است.
'password'
گذرواژه (در صورت وجود) مورد نیاز شبکه. در 3GPP اختیاری است.
'allow-roaming'
پرچمی برای تعیین مجاز بودن اتصال در هنگام رومینگ، با مقدار بولی ('yes' یا 'no'). در 3GPP اختیاری است.
'rm-protocol'
پروتکل رابط Rm، به عنوان مقداری از MMModemCdmaRmProtocol (مانند 'async'، 'packet-relay'، 'packet-network-ppp'، 'packet-network-slip' یا 'stu-iii'). در CDMA اختیاری است.
'number'
شماره تلفن جهت شماره‌گیری. در POTS الزامی است.
حذف حامل از مودم مشخص‌شده.
تنظیم حالت‌های مجاز برای مودم مشخص‌شده. برای حالت‌های ممکن، ابتدای این بخش را ببینید.
تنظیم حالت ترجیحی (MODE) برای مودم مشخص‌شده. مقدار MODE باید یکی از حالت‌های مجاز تعیین‌شده با گزینه --set-allowed-modes باشد. آرگومان‌های ممکن برای MODE در ابتدای این بخش شرح داده شده‌اند.
تنظیم باندهای فرکانسی مورد استفاده برای مودم مشخص‌شده. این‌ها محدوده‌های فرکانسی هستند که مودم باید استفاده کند. تعداد باندهای پشتیبانی‌شده زیاد است و ذکر همه آن‌ها در اینجا بسیار طولانی خواهد بود. برای جزئیات، مستندات MMModemBand را ببینید.

یک نمونه می‌تواند 'egsm|dcs|pcs|g850' برای انتخاب تمام باندهای فرکانسی GSM باشد.

درخواست تغییر شیار (اسلات) اصلی سیم‌کارت.

مقدار SLOT داده‌شده باید یک شماره اسلات معتبر در محدوده [1,N] باشد، که در آن N تعداد اسلات‌های سیم‌کارت موجود در سیستم است.

مهار کردن مودم مشخص‌شده از استفاده توسط ModemManager. این روش کاملاً معادل با --inhibit-device است، با این تفاوت که در این حالت، مودم باید در زمان درخواست مهار، توسط دیمن مدیریت شده باشد.

این دستور فوراً خارج نمی‌شود، زیرا خروج از آن مهار را به طور ضمنی لغو می‌کند. کاربر باید با فشردن کلیدهای Ctrl+C فرآیند mmcli را متوقف کند تا مهار دستگاه برداشته شود.

هنگامی که دستگاهی از این طریق مهار می‌شود، ModemManager مودم را غیرفعال کرده (و در نتیجه هرگونه اتصال فعال را متوقف می‌سازد) و تا زمان رفع مهار، دیگر از آن استفاده نخواهد کرد.

پروژه مشارکت نسل سوم (3GPP) حاصل همکاری میان گروه‌هایی از انجمن‌های مخابراتی است. این گزینه‌ها مربوط به دستگاه‌هایی است که از 3GPP پشتیبانی می‌کنند.

این بخش شامل گزینه‌هایی برای کنترل نشست‌های USSD (داده‌های خدمات تکمیلی ساختارنیافته) نیز می‌شود.

تمامی گزینه‌های 3GPP زیر از سوییچ‌های --modem یا -m برای مشخص کردن مودم هدف استفاده می‌کنند.

--3gpp-scan
پویش برای یافتن شبکه‌های 3GPP موجود.
--3gpp-register-home
درخواست از مودم برای ثبت‌نام در شبکه خانگی خود.

این کار ثبت‌نام را در شبکه(های) پیش‌فرض مشخص‌شده توسط مودم انجام می‌دهد.

--3gpp-register-in-operator=MCCMNC
درخواست از مودم برای ثبت‌نام در شبکه اپراتور مشخص‌شده با کد MCCMNC. این کد (کد کشور تلفن همراه، کد شبکه تلفن همراه) برای شبکه‌های عمومی تلفن همراه زمینی GSM/LTE، CDMA، iDEN، TETRA و UMTS و برخی شبکه‌های ماهواره‌ای استفاده می‌شود. توصیه‌نامه E.212 اتحادیه بین‌المللی مخابرات (ITU-T) کدهای کشور تلفن همراه را تعریف می‌کند.
--3gpp-ussd-status
درخواست وضعیت هرگونه نشست فعال USSD.
--3gpp-ussd-initiate=COMMAND
درخواست از مودم مشخص‌شده برای شروع یک نشست USSD با دستور COMMAND.

برای مثال، COMMAND می‌تواند '*101#' برای دریافت موجودی سیم‌کارت اعتباری شما باشد.

--3gpp-ussd-respond=RESPONSE
هنگام آغاز یک نشست USSD، ممکن است یک پاسخ (RESPONSE) به درخواست ارسال‌شده از سوی شبکه لازم باشد. این گزینه این قابلیت را فراهم می‌کند.
--3gpp-ussd-cancel
لغو نشست فعال USSD برای مودم مشخص‌شده.
--3gpp-disable-facility-lock=FACILITY,CONTROL_KEY
غیرفعال کردن قفل تسهیلات (Facility Lock) انتخاب‌شده با استفاده از کلید کنترلی ارائه‌شده.
'FACILITY'
یکی از انواع قفل‌های زیر:
'net-pers'  - شخصی‌سازی شبکه
'net-sub-pers'  - شخصی‌سازی زیرمجموعه شبکه
'provider-pers' - شخصی‌سازی ارائه‌دهنده
'corp-pers' - شخصی‌سازی شرکتی/سازمانی
'CONTROL_KEY'
کد حرفی-عددی برای باز کردن قفل تسهیلات.

تمامی گزینه‌های CDMA (دسترسی چندگانه با تقسیم کد) نیازمند گزینه --modem یا -m هستند.

فعال‌سازی مودم مشخص‌شده با استفاده از تنظیمات بی‌سیم (OTA). مقدار CARRIER کدی است که توسط شبکه برای تنظیمات پیش‌فرض ارائه می‌شود.

تمامی گزینه‌های ساده باید همراه با --modem یا -m استفاده شوند.

اجرای توالی اتصال کامل با استفاده از جفت‌های KEY / VALUE. می‌توانید از گزینه‌های --create-bearer به همراه هر یک از گزینه‌های زیر استفاده کنید:
'pin'
کد بازگشایی SIM-PIN.
'operator-id'
کد ETSI MCC-MNC شبکه جهت اجبار به ثبت‌نام در آن.
قطع اتصال تمام حامل‌های متصل در مودم مشخص‌شده.

این گزینه‌ها جزئیات نحوه دستیابی به موقعیت مکانی با استفاده از سامانه موقعیت‌یاب جهانی (GPS) یا مستقیماً از زیرساخت شبکه تلفن همراه (3GPP یا 3GPP2) را شرح می‌دهند.

تمامی گزینه‌های موقعیت مکانی باید همراه با --modem یا -m استفاده شوند.

نمایش وضعیت فعلی قابلیت‌های موقعیت‌یابی.
نمایش تمامی اطلاعات موقعیت مکانی موجود.
فعال‌سازی موقعیت‌یابی با استفاده از شبکه 3GPP.
غیرفعال‌سازی موقعیت‌یابی با استفاده از شبکه 3GPP.
فعال‌سازی پشتیبانی از A-GPS (حالت MSA). این دستور موتور GPS را به طور خودکار شروع نمی‌کند، بلکه تنها مشخص می‌سازد که با شروع به کار موتور، A-GPS فعال باشد. بنابراین، کاربر باید پیش از فعال‌سازی خروجی‌های خام یا NMEA با گزینه‌های --location-enable-gps-raw یا --location-enable-gps-nmea، فعال‌سازی A-GPS را درخواست کند.
غیرفعال‌سازی پشتیبانی از A-GPS (حالت MSA).
فعال‌سازی پشتیبانی از A-GPS (حالت MSB). این دستور موتور GPS را به طور خودکار شروع نمی‌کند، بلکه تنها مشخص می‌سازد که با شروع به کار موتور، A-GPS فعال باشد. بنابراین، کاربر باید پیش از فعال‌سازی خروجی‌های خام یا NMEA با گزینه‌های --location-enable-gps-raw یا --location-enable-gps-nmea، فعال‌سازی A-GPS را درخواست کند.
غیرفعال‌سازی پشتیبانی از A-GPS (حالت MSB).
فعال‌سازی موقعیت‌یابی با استفاده از GPS و گزارش آن با ردگیری‌های NMEA.

این دستور در صورتی که موتور GPS قبلاً شروع به کار نکرده باشد، آن را راه‌اندازی می‌کند.

غیرفعال‌سازی موقعیت‌یابی با استفاده از GPS و گزارش‌های NMEA.

اگر خروجی داده‌های خام به طور هم‌زمان فعال نباشد، موتور GPS متوقف خواهد شد.

فعال‌سازی موقعیت‌یابی با استفاده از GPS و گزارش آن به صورت مقادیر خام (یعنی طول و عرض جغرافیایی).

این دستور در صورتی که موتور GPS قبلاً شروع به کار نکرده باشد، آن را راه‌اندازی می‌کند.

غیرفعال‌سازی موقعیت‌یابی با استفاده از GPS و مقادیر خام.

اگر خروجی NMEA به طور هم‌زمان فعال نباشد، موتور GPS متوقف خواهد شد.

فعال‌سازی موقعیت‌یابی با استفاده از شبکه 3GPP2.
غیرفعال‌سازی موقعیت‌یابی با استفاده از شبکه 3GPP2.
فعال‌سازی موقعیت‌یابی با استفاده از GPS بدون در دست گرفتن کنترل درگاه NMEA tty. این قابلیت به سایر برنامه‌ها (مانند gpsd) اجازه می‌دهد پس از راه‌اندازی موتور GPS از درگاه NMEA tty استفاده کنند.
غیرفعال‌سازی موقعیت‌یابی با استفاده از GPS و درگاه مدیریت‌نشده.
تنظیم نرخ نوسازی موقعیت مکانی در رابط DBus به مدت زمان SEC ثانیه. در صورت تنظیم روی 0، موقعیت مکانی جدید به محض شناسایی توسط ModemManager در رابط DBus منتشر می‌شود.
پیکربندی نشانی سرور A-GPS SUPL، با مشخص کردن آدرس IP (IP:PORT) یا با تعیین یک نام دامنه کاملاً مشخص ([FQDN:PORT]).
تزریق داده‌های کمکی به ماژول GNSS، بارگذاری‌شده از یک فایل محلی در مسیر PATH. داده‌های کمکی باید در قالبی باشند که دستگاه انتظار دارد؛ به عنوان مثال داده‌های دانلودشده از آدرس‌های اینترنتی ارائه‌شده توسط ویژگی 'AssistanceDataServers'.
فعال‌سازی گزارش‌دهی به‌روزرسانی‌های موقعیت مکانی از طریق سیگنال‌های ویژگی DBus. این گزینه در صورتی لازم است که برنامه‌ها به جای پرس‌وجوی صریح با متد حفاظت‌شده 'GetLocation'، به دریافت به‌روزرسانی‌های ویژگی 'Location' وابسته باشند.

به‌روزرسانی‌های سیگنال ویژگی DBus به صورت پیش‌فرض غیرفعال هستند.

غیرفعال‌سازی گزارش‌دهی به‌روزرسانی‌های موقعیت مکانی از طریق سیگنال‌های ویژگی DBus.

تمامی گزینه‌های پیام‌رسانی باید همراه با --modem یا -m استفاده شوند.

نمایش وضعیت پشتیبانی از پیام‌رسانی.
فهرست کردن پیامک‌های موجود روی یک مودم مشخص.
ایجاد یک پیامک جدید روی مودم مشخص‌شده. مقادیر KEY می‌توانند هر یک از موارد زیر باشند:
'number'
شماره‌ای که پیام به آن ارسال می‌شود.
'text'
متن پیام با کدگذاری UTF-8. هنگام ارسال، اگر طول متن از محدودیت فناوری یا مودم فراتر رود، پیام به چند بخش یا چند پیام تقسیم خواهد شد. توجه داشته باشید که متن و داده‌های باینری هرگز هم‌زمان ارسال نمی‌شوند.
'smsc'
مشخص‌کننده شماره مرکز خدمات پیام کوتاه (SMSC).
'validity'
مشخص‌کننده زمان اعتبار پیامک در SMSC.
'class'
کلاس پیام در 3GPP (از 0 تا 3).
'delivery-report-request'
مشخص‌کننده درخواست گزارش تحویل هنگام ارسال پیامک ('yes' یا 'no').
'storage'
مشخص‌کننده محل ذخیره‌سازی که پیام در آن نگهداری می‌شود. فضاهای ذخیره‌سازی می‌توانند 'sm'، 'me'، 'mt'، 'sr'، 'bm' یا 'ta' باشند.
استفاده از محتوای یک فایل در مسیر PATH به عنوان داده‌های باینری برای ایجاد پیامک جدید.
استفاده از محتوای یک فایل متنی در مسیر PATH به عنوان متن پیام برای ایجاد پیامک جدید.
حذف یک پیامک از مودم مشخص‌شده.

تمامی عملیات زمان نیازمند گزینه --modem یا -m هستند.

نمایش زمان فعلی شبکه دریافتی از اپراتور. این خروجی شامل منطقه زمانی نیز هست که معمولاً اهمیت بالایی دارد.

تمامی عملیات صوتی نیازمند گزینه --modem یا -m هستند.

فهرست کردن تماس‌های مدیریت‌شده (آغازشده، دریافت‌شده، در حال انجام) روی مودم مشخص‌شده.
ایجاد یک تماس خروجی جدید روی مودم مشخص‌شده. کلیدهای KEY می‌توانند هر یک از موارد زیر باشند:
'number'
شماره مورد نظر برای برقراری تماس.
حذف یک تماس از مودم مشخص‌شده.

تمامی گزینه‌های سفت‌افزار نیازمند گزینه --modem یا -m هستند.

نمایش ویژگی‌ها و جزئیات مربوط به به‌روزرسانی سفت‌افزار (Firmware).
فهرست کردن تمامی تصاویر سفت‌افزار نصب‌شده روی مودم مشخص‌شده.
انتخاب یک تصویر سفت‌افزار از میان موارد نصب‌شده روی مودم. فهرستی از تصاویر سفت‌افزار موجود را می‌توان با گزینه --firmware-list مشاهده کرد.

مقدار ID داده‌شده یک شناسه یکتا برای سفت‌افزار است.

تمامی گزینه‌های سیگنال نیازمند گزینه --modem یا -m هستند.

راه‌اندازی بازیابی اطلاعات کیفیت سیگنال گسترش‌یافته با نرخ مشخص‌شده (بر حسب ثانیه).

این قابلیت به صورت پیش‌فرض غیرفعال است (نرخ روی 0 تنظیم شده است).

دریافت آخرین اطلاعات کیفیت سیگنال گسترش‌یافته بارگذاری‌شده.

تمامی گزینه‌های OMA نیازمند گزینه --modem یا -m هستند.

نمایش وضعیت زیرسیستم مدیریت دستگاه OMA.
درخواست شروع یک نشست آغازشده توسط کلاینت.

نوع نشست داده‌شده باید یکی از موارد زیر باشد:
'client-initiated-device-configure'
'client-initiated-prl-update'
'client-initiated-hands-free-activation'

درخواست پذیرش یک نشست آغازشده توسط شبکه.
درخواست رد یک نشست آغازشده توسط شبکه.
درخواست لغو نشست فعلی OMA (در صورت وجود).

ارسال کد PIN به سیم‌کارت مشخص‌شده.
ارسال کد PUK به سیم‌کارت مشخص‌شده. این گزینه باید همراه با --pin استفاده شود.
فعال‌سازی درخواست PIN برای سیم‌کارت مشخص‌شده. این گزینه باید همراه با --pin استفاده شود.
غیرفعال‌سازی درخواست PIN برای سیم‌کارت مشخص‌شده. این گزینه باید همراه با --pin استفاده شود.
تغییر کد PIN برای سیم‌کارت مشخص‌شده. کد جدید برابر با PIN خواهد شد. این گزینه باید همراه با --pin استفاده شود تا شماره PIN قبلی ارائه گردد.

تمامی گزینه‌های حامل نیازمند گزینه --bearer یا -b هستند.

اتصال به حامل مشخص‌شده.
قطع اتصال از حامل مشخص‌شده.

تمامی گزینه‌های پیامک نیازمند گزینه --sms یا -s هستند.

ارسال یک پیامک.
این گزینه پیامک را در محل ذخیره‌سازی پیش‌فرض تعیین‌شده توسط مودم ذخیره می‌کند که می‌تواند حافظه مودم یا حافظه پیامک باشد. برای اطلاع از حافظه پیش‌فرض فعلی، گزینه --messaging-status را ببینید.
--store-in-storage=STORAGE
این گزینه مشخص می‌کند که از کدام محل ذخیره‌سازی (STORAGE) برای پیامک‌ها استفاده شود. مقادیر ممکن برای STORAGE شامل موارد زیر است:
'sm'
ناحیه ذخیره‌سازی کارت سیم‌کارت.
'me'
ناحیه ذخیره‌سازی تجهیزات تلفن همراه (Mobile equipment).
'mt'
مجموع فضاهای ذخیره‌سازی سیم‌کارت و تجهیزات تلفن همراه.
'sr'
ناحیه ذخیره‌سازی پیام‌های گزارش وضعیت.
'bm'
ناحیه ذخیره‌سازی پیام‌های پخش همگانی (Broadcast).
'ta'
ناحیه ذخیره‌سازی پیام‌های آداپتور ترمینال.
این گزینه پیامکی را که حاوی داده باینری (و نه متن) است دریافت کرده و یک فایل محلی در مسیر PATH ایجاد می‌کند و محتوای پیامک را در آن ذخیره می‌نماید.

شروع یک تماس خروجی.
پاسخ دادن به یک تماس ورودی.
رد کردن تماس ورودی یا قطع کردن یک تماس در حال انجام.
--send-dtmf=[0-9A-D*#]
ارسال یک توالی DTMF در طول یک تماس در حال انجام.

اجرای عملیات با خروجی قالب JSON سازگار با ماشین، برای استفاده در اسکریپت‌های پوسته که به عملیات mmcli متکی هستند.
اجرای عملیات با خروجی کلید-مقدار سازگار با ماشین، برای استفاده در اسکریپت‌های پوسته که به عملیات mmcli متکی هستند.
انجام عملیات با گزارش و ثبت وقایع با جزئیات بیشتر.
نمایش نسخه این برنامه.
استفاده از روش‌های ناهمگام (Asynchronous). این گزینه صرفاً یک ابزار توسعه است و برای اکثر عملیات کاربری فایده عملی ندارد.
استفاده از مقدار SECONDS به عنوان مهلت زمانی (Timeout بر حسب ثانیه) هنگام اجرای عملیات با این دستور. این گزینه هنگام اجرای عملیات طولانی‌مدت مانند --3gpp-scan بسیار مفید است.

تمامی گزینه‌های پخش سلولی باید همراه با --modem یا -m استفاده شوند.

نمایش وضعیت پشتیبانی از پخش سلولی.
فهرست کردن پیام‌های پخش سلولی موجود روی مودم مشخص‌شده.
حذف پیام پخش سلولی در مسیر یا شناسه مشخص‌شده.
تنظیم فهرست کانال‌هایی که پیام‌های پخش سلولی روی آن‌ها دریافت می‌شوند (مانند 5370,5371-5372).

ابتدا باید بدانید مسیر یا شناسه مناسب برای سیم‌کارت در مودم شما چیست:

$ mmcli -m 0 -K | grep "modem.generic.sim" | awk -F ": " '{ print $2 }'
/org/freedesktop/ModemManager1/SIM/0

پس از آن، می‌توانید به سادگی از شناسه سیم‌کارت استفاده کنید:

$ sudo mmcli -i 0 --pin=1234
successfully sent PIN code to the SIM

می‌توانید فرآیند اتصال ساده را به این صورت اجرا کنید:

$ sudo mmcli -m 0 --simple-connect="pin=1234,apn=internet"
successfully connected the modem

سپس، می‌توانید آن را بدین صورت قطع کنید:

$ sudo mmcli -m 0 --simple-disconnect
successfully disconnected all bearers in the modem

پویش شبکه‌های 3GPP ممکن است زمان زیادی طول بکشد، بنابراین باید مهلت زمانی مشخصی تعیین شود:

$ sudo mmcli -m 0 --3gpp-scan --timeout=300
  ---------------------
  3GPP scan | networks: 21403 - Orange SP (gprs, unknown)
            |           21407 - Movistar (gprs, unknown)
            |           21404 - YOIGO (gprs, unknown)
            |           21401 - vodafone ES (gprs, unknown)

با استفاده از حافظه "sm" (سیم‌کارت)، می‌توانید این کار را انجام دهید:

$ sudo mmcli -m 0 --messaging-create-sms="text='Hello world',number='+1234567890'"
Successfully created new SMS:
    /org/freedesktop/ModemManager1/SMS/21 (unknown)
$ sudo mmcli -s 21 --store-in-storage="sm"
successfully stored the SMS
$ sudo mmcli -s 21
  -------------------------------
  General    |         dbus path: /org/freedesktop/ModemManager1/SMS/21
  -------------------------------
  Content    |            number: +1234567890
             |              text: Hello world
  -------------------------------
  Properties |          PDU type: submit
             |             state: stored
             |              smsc: unknown
             |          validity: 0
             |             class: 0
             |           storage: sm
             |   delivery report: not requested
             | message reference: 0
$ sudo mmcli -m 0 --messaging-status
  ----------------------------
  Messaging | supported storages: sm, me
            |    default storage: me

همان‌طور که در زیر مشاهده می‌کنید، بخش مهم گزینه --messaging-create-sms-with-data و مسیر PATH ارائه‌شده است.

$ sudo mmcli -m 0 \
       --messaging-create-sms="number='+1234567890'" \
       --messaging-create-sms-with-data=/path/to/your/file
Successfully created new SMS:
    /org/freedesktop/ModemManager1/SMS/22 (unknown)
$ sudo mmcli -s 22 --send
successfully sent the SMS

هنگامی که گیرنده تمام بخش‌های پیام را دریافت کرد، می‌تواند فایل ارسالی را با یک دستور دیگر mmcli در تنظیمات ModemManager خود بازیابی کند:

$> sudo mmcli -m 0 --messaging-list-sms
    /org/freedesktop/ModemManager1/SMS/0 (received)
$> sudo mmcli -s 0 --create-file-with-data=/path/to/the/output/file

ابتدا باید بررسی کنید که آیا مودم دارای قابلیت‌های موقعیت‌یابی ویژه GPS است یا خیر. توجه داشته باشید که فرض می‌کنیم مودم با شناسه 0 مشخص شده است؛ اگر بیش از یک مودم دارید، از گزینه --list-modems برای یافتن شناسه مناسب مودم استفاده کنید:

$ mmcli -m 0 --location-status
  ----------------------------
  Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea
           |      enabled: none
           |      signals: no

خروجی نشان می‌دهد که مودم از منابع موقعیت‌یابی کد محدوده مکانی/شناسه سلول 3GPP، داده‌های خام GPS و داده‌های GPS-NMEA پشتیبانی می‌کند. هنوز هیچ‌کدام فعال نشده‌اند، زیرا مودم را فعال نکرده‌ایم؛ کاری که می‌توانیم با دستور زیر انجام دهیم:

$ sudo mmcli -m 0 --enable
successfully enabled the modem
$ mmcli -m 0 --location-status
  ----------------------------
  Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea
           |      enabled: 3gpp-lac-ci
           |      signals: no

می‌توانیم موتور GPS را با فعال‌سازی منابع موقعیت مکانی خام (RAW) یا NMEA راه‌اندازی کنیم:

$ sudo mmcli -m 0 \
             --location-enable-gps-raw \
             --location-enable-gps-nmea
successfully setup location gathering

اگر دوباره وضعیت را بررسی کنیم، خواهیم دید که موقعیت‌های ویژه GPS فعال شده‌اند:

$ mmcli -m 0 --location-status
  --------------------------------
  Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea
           |      enabled: 3gpp-lac-ci, gps-raw, gps-nmea
           |      signals: no

می‌توانید تمامی اطلاعات موقعیت مکانی را هم‌زمان با یک دستور واحد استعلام کنید. اگر هر یک از خروجی‌های خاص در دسترس نباشد، بخش مربوطه از خروجی حذف خواهد شد.

$ sudo mmcli -m 0 --location-get
  -------------------------
  3GPP location   | Mobile country code: 214
                  | Mobile network code: 3
                  |  Location area code: 21071
                  |             Cell ID: 7033737
  -------------------------
  GPS NMEA traces | $GPGGA,,,,,,0,,,,,,,,*66
                  | $GPRMC,,V,,,,,,,,,,N*53
                  | $GPGSA,A,1,,,,,,,,,,,,,,,*1E
                  | $GPGSV,4,1,16,24,,,,29,,,,05,,,,18,,,*7A
                  | $GPGSV,4,2,16,22,,,,14,,,,11,,,,17,,,*7B
                  | $GPGSV,4,3,16,03,,,,12,,,,30,,,,13,,,*78
                  | $GPGSV,4,4,16,23,,,,15,,,,27,,,,07,,,*79
                  | $GPVTG,,T,,M,,N,,K,N*2C

اگر پیش از شروع موتور GPS قابلیت A-GPS فعال شود، و در صورتی که اتصال داده در مودم در دسترس باشد، سرورهای پیکربندی‌شده SUPL می‌توانند برای تثبیت سریع‌تر موقعیت اولیه استفاده شوند.

توجه داشته باشید که موتور GPS تنها با فعال شدن قابلیت A-GPS شروع به کار نخواهد کرد. برای راه‌اندازی موتور GPS، فعال بودن صریح یکی از خروجی‌ها (RAW یا NMEA) الزامی است.

$ mmcli -m 0 --location-status
  --------------------------------
  Location |      capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb
           |           enabled: 3gpp-lac-ci
           |           signals: no
  -----------------------------
  GPS      |      refresh rate: 30 seconds
           | a-gps supl server: supl.google.com:7276
$ sudo mmcli -m 0 --location-enable-agps-msa
successfully setup location gathering
$ sudo mmcli -m 0 --location-enable-gps-nmea
successfully setup location gathering
$ sudo mmcli -m 0 --location-enable-gps-raw
successfully setup location gathering

اگر دستگاه مودم اتصال فعال به شبکه نداشته باشد (مانند عدم پوشش شبکه تلفن همراه) اما سیستم به روش‌های دیگری به اینترنت دسترسی داشته باشد (مانند WiFi)، کاربر می‌تواند داده‌های کمکی موقعیت مکانی را دانلود کرده و به ماژول تزریق کند.

به عنوان مثال، اگر دستگاه از داده‌های کمکی XTRA پشتیبانی کند، کاربر می‌تواند آن را از یکی از سرورهای فهرست‌شده توسط ModemManager دانلود کرده و سپس به صورت دستی تزریق نماید. داده‌های کمکی XTRA معمولاً تا چندین روز معتبر هستند.

$ mmcli -m 0 --location-status
  --------------------------------
  Location |         capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb
           |              enabled: 3gpp-lac-ci
           |              signals: no
  --------------------------------
  GPS      |         refresh rate: 30 seconds
           |    a-gps supl server: supl.google.com:7276
           | supported assistance: xtra
           |   assistance servers: https://xtrapath3.izatcloud.net/xtra3grcej.bin
           |                       https://xtrapath1.izatcloud.net/xtra3grcej.bin
           |                       https://xtrapath2.izatcloud.net/xtra3grcej.bin
$ wget -q https://xtrapath3.izatcloud.net/xtra3grcej.bin
$ sudo mmcli -m 0 --location-inject-assistance-data=./xtra3grcej.bin
successfully injected assistance data
$ sudo mmcli -m 0 --location-enable-gps-nmea
successfully setup location gathering
$ sudo mmcli -m 0 --location-enable-gps-raw
successfully setup location gathering

فهرست کانال‌ها را می‌توان به صورت فهرستی جداشده با کاما از کانال‌ها یا بازه‌های کانال تنظیم کرد:

$ sudo mmcli -m 0 \
             --cell-broadcast-set-channels=5370,5371,5373-5000
successfully set channels in the modem

نوشتن اسکریپت‌های پوسته که از mmcli برای انجام عملیات با مودم استفاده می‌کنند با استفاده از گزینه --output-keyvalue بسیار آسان است. برای مثال، می‌توانید تمام اطلاعات اصلی وضعیت مودم را با یک فراخوانی جمع‌آوری کرده و سپس آن را برای خواندن فیلدهای خاص پردازش نمایید:

$ STATUS=$(mmcli -m 0 --output-keyvalue)
$ echo "${STATUS}" | grep "modem.generic.state " | awk -F ": " '{ print $2 }'
failed
$ echo "${STATUS}" | grep "modem.generic.state-failed-reason " | awk -F ": " '{ print $2 }'
sim-missing

نوشته‌شده توسط Martyn Russell <martyn@lanedo.com> و Aleksander Morgado <aleksander@aleksander.es>

ModemManager(8), NetworkManager(8)

AT (http://en.wikipedia.org/wiki/AT_commands).

3GPP (http://en.wikipedia.org/wiki/3GPP).

MCCMNC (http://en.wikipedia.org/wiki/Mobile_Network_Code).

USSD (http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data).

CDMA (http://en.wikipedia.org/wiki/Code_division_multiple_access).

OTA (http://en.wikipedia.org/wiki/Over-the-air_programming).

GPS (http://en.wikipedia.org/wiki/Global_Positioning_System)

NMEA (http://en.wikipedia.org/wiki/NMEA_0183)

October 2012 GNU