تحديث البرامج الثابتة للأجهزة الملحقة من خلال fwupd

الإصدار: 2.4.3
تاريخ آخر تعديل: 23-07-2025

نظرة عامة

الغرض من هذا الدليل هو شرح كيفية ضبط تحديثات البرامج الثابتة fwupd المتوافقة مع واجهة مستخدم ChromeOS.

مخطط fwupd الانسيابي

الخلفية

fwupd هو برنامج خفي مفتوح المصدر ينفّذ تحديثات البرامج الثابتة للأجهزة الطرفية وغيرها من البرامج الثابتة للنظام على الأنظمة المستندة إلى Linux. وfwupd هي الآلية التي يحدّث من خلالها ChromeOS البرامج الثابتة للأجهزة الطرفية.

تتألف حمولات تحديث fwupd من ملفات .cab يتم تخزينها في خدمة Linux Vendor Firmware Service (LVFS). في Linux، يمكن إتاحة تحديثات fwupd على نطاق واسع بعد تحميلها إلى LVFS. ومع ذلك، لكي تصبح التحديثات متاحة في ChromeOS، سيتحقّق فريق ChromeOS بشكل منفصل من التحديثات الجديدة ويضيفها إلى القائمة المسموح بها لضمان تقديم أفضل تجربة للمستخدمين.

عملية fwupd

ينطبق ما يلي فقط على الأجهزة الطرفية المعتمَدة والمتوافقة مع أجهزة Chromebook (WWCB) والتي تم إرسال عيّنات منها إلى شركة Allion.

إذا كان الإصدار الحالي من fwupd في ChromeOS لا يتوافق مع الجهاز الطرفي، اتّبِع التعليمات الواردة في حالة الاستخدام 1 وحالة الاستخدام 2. إذا كان الإصدار الحالي من fwupd في ChromeOS يتوافق مع الجهاز الطرفي، انتقِل إلى حالة الاستخدام 2.

حالة الاستخدام 1: لا يتوافق الإصدار الحالي من fwupd على ChromeOS مع الجهاز الطرفي

لا يتوافق الإصدار الحالي من fwupd في ChromeOS مع الجهاز الطرفي.

الصورة

  1. على المصنّعين الأصليين للأجهزة ومصنّعي التصميم الأصليين العمل مباشرةً مع مورّدي شرائح المعالجة لإرسال تغييرات المكوّنات الإضافية إلى قاعدة رموز fwupd.

    1. يُرجى الرجوع إلى دليل دمج fwupd (الخطوة الثانية - استخدام fwupd).
    2. تغييرات المكوّن الإضافي: مثال 1، مثال 2
    3. مطابقة VIDs:PIDs في الملف .quirk: مثال 3
      • كبديل لتغييرات ملفات الأخطاء، إذا كان الجهاز الطرفي USB متوافقًا مع المكوّن الإضافي الحالي، يمكنك اتّباع مواصفات DS20.
    4. يجب أن يدمج المشرفون على fwupd التغييرات الناتجة في المكوّن الإضافي والأخطاء.
    5. انتظِر إصدارًا رسميًا من fwupd (أي ‫1.8.4)، سجِّل رقم الإصدار.
  2. يتم نقل إصدارات fwupd إلى ChromeOS بانتظام، وستتّبع الجدول الزمني لإصدارات Chromium.

  3. إذا أرسلت تغييرات على المكوّنات الإضافية أو إصلاحات للأخطاء أو تغييرات على ملفات Quirk بعد تاريخ انتهاء فترة تجميد الميزات في إصدار Chromium قادم، ولكن كانت التغييرات ذات أولوية عالية لإصدار ChromeOS التالي، سيحدث ما يلي:

    1. انتقِل إلى أداة تتبُّع المشاكل لدى الشركاء.
    2. سجِّل الدخول باستخدام حسابك على Google Partner Domain.
    3. انقر على الزر إنشاء مشكلة من القائمة الجانبية اليمنى لإنشاء خطأ في المكوّن (ChromeOS > External > WWCB > PERIPHERAL OEM > fwupd). سيؤدي ذلك إلى تنبيه فريق ChromeOS لترقية إصدار fwupd في ChromeOS.

      قدِّم المعلومات التالية في الخطأ:

      1. عنوان الخطأ:

        [PRODUCT NAME - fwupd]: New Plugin NAME OF THE PLUGIN requires fwupd X.Y.Z version uprev
        
      2. وصف الخطأ:

        1. رقم إصدار fwupd الذي يتضمّن تغييرات في المكوّن الإضافي:
          • ما هي الميزات التي يضيفها؟
          • ما هي الأخطاء التي تم إصلاحها؟
          • ما هي الأجهزة المتوافقة معها؟
        2. ماركة الجهاز/طرازه
        3. VID وPID
        4. المعرّف الفريد العام (GUID)
      3. مثال على لقطة شاشة:

        لقطة شاشة لخطأ في fwupd uprev

  4. سيتم تصنيف الخطأ، وسيدمج مهندسو Google الإصدار الانتقائي من fwupd في ChromeOS.

  5. سيتم الترويج للإصدار الذي تمت ترقيته من fwupd إلى قناة Canary بعد الموافقة على قائمة التغييرات.

    • اترك تعليقًا على الخطأ لمعرفة إصدار البنية من ChromeOS الذي يتضمّن الإصدار الأحدث من fwupd. يمكنك أيضًا استخدام أداة CL Finder للبحث عن إصدار البنية في وحدة تحكّم شركاء ChromeOS (CPCon) (يتطلّب ذلك حسابًا على نطاق شركاء Google Corp، يُرجى التواصل مع مدراء حسابات الشركاء للحصول على إذن الوصول إلى CPCon).

حالة الاستخدام 2: يتوافق الإصدار الحالي من fwupd على ChromeOS مع الجهاز الملحق

يتوافق الإصدار الحالي من fwupd في ChromeOS مع الجهاز الطرفي ويتوفّر برنامج ثابت جديد.

الصورة

  1. أنشئ ملف .cab.

    يتم تحميل جميع البرامج الثابتة كأرشيف مضغوط. بالإضافة إلى ملفات البرامج الثابتة الثنائية، يتوقّع LVFS أن يحتوي الأرشيف على ملف واحد على الأقل من نوع .metainfo.xml يصف الجهاز المستهدف والبرامج الثابتة. يمكنك إنشاء أرشيفات ملفات مضغوطة باستخدام gcab (مكتبة لإنشاء ملفات مضغوطة) على نظام التشغيل Linux.

  2. حمِّل تحديث البرامج الثابتة الذي تم اختباره والنهائي (ملف .cab) إلى LVFS.

    1. تأكَّد من توفّر التحديث على جهاز التحكّم عن بُعد الثابت.

      إذا كان متوفّرًا على جهاز تحكّم عن بُعد خاص أو محظور أو تجريبي، لن تتم إضافته إلى نسخة ChromeOS المطابقة.

    2. التحديثات التي تم وضع علامة عليها كتم التحقّق من صحتها في LVFS من خلال تقرير موقّع

      تأكَّد من إضافة اختبارات الجهاز.

    3. إذا كانت هذه هي المرة الأولى التي يتم فيها تحميل البرنامج الثابت، تأكَّد من توفُّر برنامجين ثابتين على الأقل، وهما البرنامج الثابت الأساسي (لاختبار الرجوع إلى إصدار أقدم) والبرنامج الثابت الجديد (لاختبار الترقية)، وذلك في مستودع LVFS الثابت البعيد.

  3. يجب اختبار ترقية البرامج الثابتة على ChromeOS من خلال تقرير موقّع.

    1. حمِّل الشهادات إلى LVFS لربط الجهاز قيد الاختبار بحسابك.

      1. سجِّل الدخول إلى LVFS باستخدام حسابك.
      2. انقر على رمز "الشخص" في أعلى يسار الصفحة، أو انقر على https://fwupd.org/lvfs/profile{:.external}.
      3. انقر على إعدادات الملف الشخصي.
      4. ابحث عن شهادة العميل على جهاز Chromebook.

        • ملاحظة: يجب أن يكون جهاز Chromebook في "وضع المطوّر".
        • افتح نافذة مطوّر ChromeOS بالضغط على ctrl+alt+t
        • النوع:

          shell
        • الانتقال إلى /var/lib/fwupd/pki:

          cd /var/lib/fwupd/pki
        • انسخ client.pem إلى مجلد على جهاز Chromebook، مثلاً: Downloads.

          cp client.pm /home/chronos/user/MyFiles/Downloads/
    2. انقر على الزر تحميل الشهادة في قسم شهادات العميل على موقع LVFS الإلكتروني وحمِّل الشهادة.

      1. كرِّر هذه الخطوات على كل جهاز Chromebook تستخدمه للاختبار (يمكنك تحميل شهادات متعددة لأجهزة كمبيوتر مختلفة).
    3. اختبار الترقية وتحميل التقارير الموقّعة من خلال أداة DUT

      1. لاختبار التقارير وتحميلها، شغِّل الأوامر التالية وأثبِت ملكية حسابك عند مطالبتك بذلك.

        fwupdmgr refresh
        fwupdmgr update
        fwupdmgr report-history --sign
      2. ملاحظة: إذا حمّلت التقارير بدون العلامة --sign، يمكنك استخدام fwupdmgr report-history --sign --force لإعادة تحميل التقرير نفسه إلى LVFS.

        fwupdmgr report-history --sign --force
        • يمكنك تمرير --verbose للاطّلاع على ردّ الخادم.

          fwupdmgr report-history --force --verbose
      3. انقر على نعم في مربّع حوار التأكيد.

        • من المفترض أن يؤدي ذلك إلى تحميل التقرير الموقّع إلى حسابك.
        • للتأكيد، انتقِل إلى https://fwupd.org/lvfs/dashboard وانقر على التقارير الموقّعة ضمن القسم الصفحة الرئيسية في أعلى يسار الصفحة.
    4. التأكّد من أنّ إصدار البرامج الثابتة على LVFS يتضمّن تقاريرًا موقَّعة

      • ابحث عن الجهاز الملحق على LVFS.
      • إذا تم تحميل التقرير الموقّع بعد ترقية إصدار البرنامج الثابت على الجهاز الطرفي بنجاح باستخدام جهاز Chromebook، سيعرض القسم تم الاختبار بواسطة إصدار ChromeOS وإصدار fwupd والكيان. الاطّلاع على مثال
      • تأكَّد من أنّ إصدار البوابة يعرض علامة صح خضراء بجانب "متاح لمستخدمي ChromeOS".
    5. بدءًا من الإصدار 126 من ChromeOS، لن تتوفّر تحديثات البرامج الثابتة إلا لمستخدمي ChromeOS إذا كانت البرامج الثابتة تتضمّن تقارير موقَّعة (تم اختبارها باستخدام ChromeOS) على LVFS.

      • بعد مرور 24 ساعة، يمكن للمستخدمين توصيل الجهاز الملحق بجهاز Chromebook وتحديث البرامج الثابتة من خلال واجهة مستخدم ChromeOS. انتقِل إلى الإعدادات > لمحة عن نظام التشغيل ChromeOS > تحديثات البرامج الثابتة.
      • ملاحظة: ستتوفّر تحديثات البرامج الثابتة إذا كانت جميع التغييرات المطلوبة في المكوّنات الإضافية متاحة على ChromeOS لإصدار معيّن.

يمكنك الاطّلاع على مزيد من التفاصيل حول التقارير الموقّعة على LVFS.

الأسئلة الشائعة

سؤال: ما هو جهاز Chromebook المتوافق مع fwupd؟

جميع أجهزة ChromeOS التي تعمل بالإصدار 101 أو الإصدارات الأحدث

س: كيف يمكنني معرفة إصدار fwupd المدمج في ChromeOS؟

  1. افتح chrome://system من خلال المتصفّح (الإصدار 109 أو الإصدارات الأحدث).
    1. الانتقال إلى fwupd_version
  2. أو من خلال "وضع المطوّر" أو وحدة تحكّم الجذر،
    1. اكتب fwupdmgr --version
    2. البحث عن runtime org.freedesktop.fwupd

س: ما المدة التي تستغرقها عملية التحديث إلى إصدار أحدث من fwupd؟

يتّبع fwupd uprev الجدول الزمني لإصدارات Chromium، لذا احرص على إرسال طلب fwupd uprev قبل تاريخ انتهاء فترة تجميد ميزات الفرع.

س: أين يمكنني الحصول على مزيد من المعلومات عن الجدول الزمني لإصدارات ChromeOS؟

في الجدول الزمني لإصدارات Chromium

س: كيف يمكنني التبديل إلى وضع "مطوّر البرامج" على جهاز Chromebook؟

  1. أوقِف جهاز Chromebook.
  2. اضغط مع الاستمرار على Esc+تحديث واضغط على زر التشغيل.
    • ملاحظة: في بعض أجهزة Chromebook، يكون المفتاحان Esc+ (مفتاح السهم المتّجه لليسار) ثم اضغط على زر التشغيل.
  3. يتم تشغيل الجهاز ويجب أن تظهر شاشة أو وضع "الاسترداد".
  4. بعد ذلك، اضغط على ctrl+d، ثم على Enter للموافقة.
    • ملاحظة: إذا ضغطت على أي مفاتيح قبل ctrl+d، لن ينتقل الجهاز إلى وضع "مطوّر البرامج".
  5. ستتم إعادة تشغيل الجهاز وسيصدر صوت تنبيه وستظهر الرسالة "يتم نقل نظامك إلى وضع مطوّر البرامج".
  6. بعد حوالي 30 ثانية، ستظهر الرسالة "يتم إعداد النظام لوضع المطوّرين".
  7. في النهاية (قد يستغرق ذلك من 10 دقائق إلى أكثر من ساعة حسب حجم القرص)، ستتم إعادة تشغيل الجهاز وستظهر شاشة الترحيب العادية.
  8. لفتح "موجه الأوامر"، اضغط على ctrl+alt+ (مفتاح السهم المتّجه لليسار).
    • ملاحظة: في بعض أجهزة Chromebook، يكون المفتاح هو Ctrl+Alt+Refresh.
    • للرجوع إلى عرض المتصفّح، اضغط على Ctrl+Alt+ (مفتاح السهم المتّجه لليسار).
  9. يمكنك الاطّلاع على مزيد من التفاصيل في [وضع المطوّر]

س: كيف يمكن التبديل إلى الوضع العادي على جهاز Chromebook (أي إيقاف "وضع مطوّر البرامج"؟

أعِد تشغيل جهازك واضغط على مفتاح المسافة في شاشة البرامج الثابتة.

يمكنك العثور على مزيد من التفاصيل في [وضع المطوّر].

س: هل يتيح ChromeOS الرجوع إلى إصدار أقدم من خلال fwupd؟

لا، إذا حدث خطأ في إصدار الإنتاج من fwupd أو البرامج الثابتة، عليك حذف التقرير الموقّع من خلال https://fwupd.org/lvfs/dashboard. من المهم إجراء اختبار عند إرسال تغييرات على المكوّن الإضافي و/أو توفُّر برنامج ثابت جديد. يجب التأكّد من توفّر إصدار أساسي من البرامج الثابتة دائمًا على جهاز تحكّم عن بُعد ثابت في LVFS.

س: كيف يمكن معرفة إصدارات ChromeOS التي ستتوافق مع تحديثات fwupd؟

يمكنك ترك تعليق على الخطأ تسأل فيه عن إصدار التصميم الذي تم دمج التغييرات فيه، وسيتمكّن مهندسو Google من تقديم هذه المعلومات لك. يمكنك أيضًا استخدام CL Finder للبحث عن إصدار البنية في وحدة تحكّم شركاء ChromeOS (CPCon) (يتطلّب ذلك حسابًا على نطاق شركاء Google Corp، لذا يُرجى التواصل مع مدراء حسابات الشركاء للحصول على إذن الوصول إلى CPCon). يمكن الرجوع إلى إصدار البنية على ChromeOS Partner Frontend (CPFE) لمعرفة المرحلة التي يتوافق معها.

س: كيف يمكنني إنشاء حساب على LVFS؟

يُرجى الرجوع إلى مستندات الحصول على حساب في LVFS.

س: كيف يمكنني تحميل ملفات cab إلى LVFS؟

راجِع مستندات تحميل البرامج الثابتة في LVFS.

س: كيف يمكن التأكّد من أنّ البرنامج الثابت مخصّص لجهاز ملحق معيّن؟

يمكن إجراء ذلك من خلال ملف الإعداد المعروف الأفضل. راجِع أفضل إعداد معروف في fwupd لمزيد من المعلومات.

س: كيف يمكنني اختبار تحديث fwupd قبل تحميله إلى LVFS؟

بعد إرسال تغييرات المكوّن الإضافي ودمج الإصدار الانتقائي من fwupd في صورة اختبار ChromeOS، يمكنك الوصول إلى صورة الاختبار من خلال ChromeOS Partner Frontend (CPFE) (يتطلّب ذلك حسابًا على نطاق شريك Google Corp.، لذا يُرجى التواصل مع مدراء حسابات الشركاء (TAM) للحصول على إذن الوصول إلى CPFE).

يُرجى الرجوع إلى مستندات LVFS اختبار البرامج الثابتة على ChromeOS. يمكنك أيضًا إجراء اختبارات fwupd باستخدام Moblab.

س: كيف سيتم إشعار المستخدم بتوفُّر تحديث للبرامج الثابتة للجهاز الملحق؟

سيتلقّى المستخدم إشعارًا بأنّه يتوفّر تحديث استنادًا إلى مستوى الأولوية الذي تم تعيينه للتحديث في LVFS. يكون السلوك على النحو التالي:

حاجة ماسة طريقة عمل الإشعارات
منخفض لن يتم إعلام المستخدم، وسيكون عليه البحث عن التحديثات يدويًا.
متوسط
عالية
مشاكل ملحّة سيظهر الإشعار في كل مرة يتم فيها تشغيل الجهاز إلى أن يكتمل التحديث.

س: هل يتم تثبيت تحديثات fwupd تلقائيًا؟

لا، فجميع تحديثات fwupd يبدأها المستخدم، ولن تحدث أثناء عملية التشغيل أو تلقائيًا.

س: ما هي ميزة مواصفات DS20؟

في الوقت الحالي، يتم التحقّق من الأجهزة الطرفية التي تعمل عبر USB فقط. وإذا كنت تستخدم البروتوكول نفسه الذي استخدمته على أجهزتك الأخرى، سيعمل الجهاز مع واصف DS20.

يمكن للمورّدين وضع بيانات ملفات الأخطاء في وصف USB بدلاً من وضعها في مشروع fwupd. بهذه الطريقة، يتم إدخال جهاز USB، ويقرأ fwupd بيانات الوصف، ويطابق المكوّن الإضافي، ويعدّد الجهاز بدون الحاجة إلى أن يرسل المورّد رمز تصحيح إلى fwupd والانتظار إلى أن يتم تحديث fwupd.

س: هل DS20 خيار بديل لتغييرات ملفات Quirk فقط؟

نعم، في معظم الأحيان، تحتاج الأجهزة المستقبلية إلى إضافة VID وPIDs إلى إضافة حالية، بدلاً من إجراء تغييرات فعلية على الرمز. إذا كانت هناك حاجة إلى تغييرات في الرمز، على المورّد إرسال تغييرات المكوّن الإضافي إلى fwupd.

الملاحق

  1. دليل مطوّري البرامج
  2. فريق دعم المطوّرين
  3. مقدّمة عن Git وGerrit للمساهمين في CrOS
  4. إجراء تغييرات على رمز المصدر
  5. عملية المراجعة/الموافقة في Gerrit
  6. دليل دمج fwupd

سِجل النُسخ السابقة

التاريخ الإصدار ملاحظات
2025-07-23 2.4.3 تعديل سير عمل حالة الاستخدام 1
2024-10-18 2.4.2 تعديل صور وخطوات سير عمل fwupd لتحميل شهادة العميل
2024-07-23 2.4.1 تعديلات على التنسيق
2024-06-26 2.4 تعديل سير عمل fwupd uprev (حالة الاستخدام 1) (تم نشره مع الإصدار 2.4.1)
2024-06-17 2.3 تعديل سير عمل "التقرير الموقّع" (تم نشره مع الإصدار 2.4.1)
2024-02-01 2.2 إعادة النشر على منصة جديدة مع إجراء تعديلات طفيفة على الصياغة
2023-10-12 2.1 تمت إضافة صور في الحالة 1 والحالة 2، وتمت استضافة "دليل دمج fwupd" في الموقع الإلكتروني الخاص بالشريك
2022-08-14 2.0 تاريخ نشر الموقع الإلكتروني الأوّلي للشريك