Update Firmware Periferal melalui fwupd

Versi: 2.4.3
Terakhir diperbarui: 23-07-2025

Ringkasan

Tujuan panduan ini adalah untuk menjelaskan cara mengonfigurasi update firmware fwupd yang didukung oleh UI ChromeOS.

Diagram alur fwupd

Latar belakang

fwupd adalah daemon open source yang melakukan update firmware periferal dan sistem lainnya di sistem berbasis Linux. fwupd adalah mekanisme yang digunakan ChromeOS untuk mengupdate firmware periferal.

Payload update fwupd terdiri dari file .cab yang disimpan di Linux Vendor Firmware Service (LVFS). Di Linux, update fwupd dapat tersedia secara luas setelah diupload ke LVFS. Namun, agar update tersedia di ChromeOS, tim ChromeOS akan memverifikasi dan memasukkan update baru ke daftar yang diizinkan secara terpisah untuk memastikan pengalaman pengguna yang optimal.

Proses fwupd

Berikut ini hanya berlaku untuk periferal bersertifikasi WWCB yang sampelnya telah dikirim ke Allion.

Jika fwupd versi saat ini di ChromeOS belum mendukung periferal, ikuti petunjuk yang diberikan dalam kasus penggunaan 1 dan kasus penggunaan 2. Jika fwupd versi saat ini di ChromeOS sudah mendukung periferal, lanjutkan ke kasus penggunaan 2.

Kasus Penggunaan 1: fwupd versi ChromeOS saat ini tidak mendukung periferal

Versi fwupd saat ini di ChromeOS belum mendukung periferal.

gambar

  1. ODM dan OEM dapat langsung bekerja sama dengan vendor chipset untuk mengirimkan perubahan plugin ke codebase fwupd.

    1. Lihat fwupd Integration Handbook (Langkah kedua - menggunakan fwupd).
    2. Perubahan plugin: contoh 1, contoh 2
    3. Mencocokkan VIDs:PIDs dalam file .quirk: contoh 3
      • Sebagai alternatif untuk perubahan file quirk, jika periferal USB didukung oleh plugin yang ada, Anda dapat mengikuti spesifikasi DS20.
    4. Menggabungkan perubahan plugin dan keanehan yang dihasilkan oleh pengelola fwupd.
    5. Tunggu rilis resmi fwupd (yaitu, 1.8.4), catat versinya.
  2. Rilis fwupd dicerminkan ke ChromeOS secara rutin dan akan mengikuti jadwal rilis Chromium.

  3. Jika Anda mengirimkan perubahan plugin, perbaikan bug, atau perubahan file keanehan setelah tanggal batas penghentian fitur rilis Chromium mendatang, tetapi perubahan tersebut merupakan prioritas tinggi untuk rilis ChromeOS berikutnya, maka:

    1. Buka Partner Issue Tracker.
    2. Login dengan Akun Domain Partner Google Anda.
    3. Klik tombol Buat Masalah dari menu sisi kiri untuk membuat bug di komponen Anda (ChromeOS > External > WWCB > PERIPHERAL OEM > fwupd). Tindakan ini akan memberi tahu tim ChromeOS untuk mengupgrade versi fwupd di ChromeOS.

      Berikan informasi berikut dalam bug:

      1. Judul bug:

        [PRODUCT NAME - fwupd]: New Plugin NAME OF THE PLUGIN requires fwupd X.Y.Z version uprev
        
      2. Deskripsi bug:

        1. Nomor versi fwupd yang terdiri dari perubahan plugin:
          • Fitur apa yang ditambahkan?
          • Bug apa yang diperbaiki?
          • Hardware apa yang didukung?
        2. Merek/Model Perangkat
        3. VID, PID
        4. GUID (ID unik global)
      3. Contoh screenshot:

        screenshot bug peningkatan versi fwupd

  4. Bug akan di-triage, dan fwupd versi selektif akan dimasukkan ke ChromeOS oleh Engineer Google.

  5. Versi fwupd yang di-uprev akan dipromosikan ke saluran canary setelah daftar perubahannya disetujui.

    • Berikan komentar pada bug untuk mengetahui versi build ChromeOS mana yang terdiri dari versi fwupd yang di-uprev. Anda juga dapat menggunakan CL Finder untuk menelusuri versi build di Konsol partner ChromeOS (CPCon) (memerlukan akun domain partner Google Corp, hubungi TAM untuk mendapatkan akses ke CPCon).

Kasus Penggunaan 2: fwupd versi saat ini di ChromeOS mendukung periferal

Versi fwupd saat ini di ChromeOS sudah mendukung periferal dan firmware baru tersedia.

gambar

  1. Buat file .cab.

    Semua firmware diupload sebagai arsip kabinet. Selain biner firmware, LVFS mengharapkan arsip berisi setidaknya satu file .metainfo.xml yang mendeskripsikan perangkat target dan firmware. Anda dapat membuat arsip kabinet menggunakan gcab (library untuk membuat file kabinet) di Linux.

  2. Upload update firmware yang telah diuji dan final (file .cab) ke LVFS.

    1. Pastikan update tersedia di remote stabil.

      Jika tersedia di jarak jauh pribadi, embargo, atau pengujian, file tersebut tidak akan ditambahkan ke mirror ChromeOS.

    2. Update ditandai sebagai divalidasi di LVFS melalui laporan yang ditandatangani.

      Pastikan pengujian perangkat ditambahkan.

      • Contoh file json, yang didukung oleh framework pengujian untuk pengujian perangkat
    3. Jika ini adalah upload firmware pertama, pastikan setidaknya 2 firmware, firmware dasar (untuk menguji downgrade) dan firmware baru (untuk menguji upgrade), tersedia di remote stabil LVFS.

  3. Upgrade firmware harus diuji di ChromeOS melalui laporan yang ditandatangani.

    1. Upload sertifikat ke LVFS untuk menautkan DUT dengan akun Anda.

      1. Login ke LVFS dengan akun Anda.
      2. Klik ikon “Orang” di kanan atas, atau klik https://fwupd.org/lvfs/profile{:.external}.
      3. Klik Setelan profil.
      4. Temukan Sertifikat klien di Chromebook Anda.

        • Catatan: Chromebook harus dalam mode Developer
        • Luncurkan shell developer ChromeOS dengan menekan ctrl+alt+t
        • Jenis:

          shell
        • Buka /var/lib/fwupd/pki:

          cd /var/lib/fwupd/pki
        • Salin client.pem ke folder di Chromebook Anda, contoh: Downloads.

          cp client.pm /home/chronos/user/MyFiles/Downloads/
    2. Klik tombol Upload Sertifikat di bagian Sertifikat Klien di situs LVFS dan upload sertifikat.

      1. Ulangi langkah-langkah ini di setiap Chromebook yang Anda gunakan untuk pengujian (Anda dapat mengupload beberapa sertifikat untuk komputer yang berbeda).
    3. Uji upgrade dan upload laporan bertanda tangan melalui DUT.

      1. Untuk menguji dan mengupload laporan, jalankan perintah berikut dan lakukan autentikasi saat diminta.

        fwupdmgr refresh
        fwupdmgr update
        fwupdmgr report-history --sign
      2. Catatan: Jika Anda telah mengupload laporan tanpa tanda --sign, Anda dapat menggunakan fwupdmgr report-history --sign --force untuk mengupload ulang laporan yang sama ke LVFS.

        fwupdmgr report-history --sign --force
        • Anda dapat meneruskan --verbose untuk melihat respons server.

          fwupdmgr report-history --force --verbose
      3. Klik Ya di dialog konfirmasi.

        • Tindakan ini akan mengupload laporan yang ditandatangani ke akun Anda.
        • Untuk mengonfirmasi, buka https://fwupd.org/lvfs/dashboard dan klik Signed Reports di bagian Home di kiri atas.
    4. Memverifikasi bahwa versi firmware di LVFS memiliki laporan yang ditandatangani

      • Telusuri periferal di LVFS.
      • Jika laporan bertanda tangan yang diupload dilakukan setelah berhasil mengupgrade versi firmware di periferal menggunakan Chromebook, bagian Diuji Oleh akan menampilkan versi ChromeOS, versi fwupd, dan entitas. Lihat contoh.
      • Pastikan Pembatasan Rilis menampilkan tanda centang hijau “Tersedia untuk pengguna ChromeOS”.
    5. Mulai M126, update firmware hanya akan tersedia bagi pengguna ChromeOS jika firmware memiliki laporan bertanda tangan (diuji dengan ChromeOS) di LVFS.

      • Setelah 24 jam, pengguna dapat menghubungkan periferal ke Chromebook dan mengupgrade firmware melalui UI ChromeOS. Buka Setelan > Tentang ChromeOS > Update firmware.
      • Catatan: Update firmware akan tersedia jika semua perubahan plugin yang diperlukan tersedia di ChromeOS untuk tonggak pencapaian tertentu.

Detail selengkapnya tentang laporan bertanda tangan dapat ditemukan di LVFS.

FAQ

T: Chromebook mana yang mendukung fwupd?

Semua perangkat ChromeOS di M101 atau yang lebih baru.

T: Bagaimana cara mengetahui versi fwupd yang terintegrasi dengan ChromeOS?

  1. Buka chrome://system melalui browser (M109 atau yang lebih baru).
    1. Buka fwupd_version
  2. Atau melalui mode Developer, konsol root,
    1. Ketik fwupdmgr --version
    2. Cari runtime org.freedesktop.fwupd

T: Berapa lama proses fwupd uprev berlangsung?

Peningkatan versi fwupd mengikuti jadwal rilis Chromium, pastikan permintaan peningkatan versi fwupd dikirimkan sebelum tanggal penghentian fitur cabang.

T: Di mana saya dapat memperoleh informasi selengkapnya tentang jadwal rilis ChromeOS?

Di Jadwal rilis Chromium.

T: Bagaimana cara mengalihkan Chromebook ke Mode developer?

  1. Matikan Chromebook.
  2. Tahan esc+Refresh, lalu tekan tombol Daya.
    • Catatan: Di beberapa Chromebook, tekan esc+ (tombol panah kanan) lalu tekan tombol Daya.
  3. Perangkat akan aktif dan Anda akan melihat layar / mode Pemulihan.
  4. Kemudian, tekan ctrl+d, diikuti dengan Enter untuk menerima.
    • Catatan: Jika Anda menekan tombol apa pun sebelum ctrl+d, perangkat tidak akan bertransisi ke mode developer.
  5. Perangkat akan dimulai ulang, berbunyi bip, dan Anda akan melihat 'Sistem Anda sedang bertransisi ke mode Developer'.
  6. Setelah sekitar 30 detik, Anda akan melihat 'Menyiapkan sistem untuk mode Developer'.
  7. Pada akhirnya (dapat berlangsung 10 menit hingga lebih dari 1 jam, bergantung pada ukuran disk), perangkat akan dimulai ulang ke layar selamat datang biasa.
  8. Buka Command Prompt dengan menekan ctrl+alt+ (tombol panah kanan).
    • Catatan: Di beberapa Chromebook, tombolnya adalah ctrl+alt+muat ulang.
    • Untuk kembali ke tampilan browser, tekan ctrl+alt+ (tombol panah kiri).
  9. Detail selengkapnya dapat ditemukan di [Mode Developer]

T: Bagaimana cara mengalihkan Chromebook ke mode Normal (yaitu, menonaktifkan mode Developer)?

Mulai ulang perangkat Anda dan tekan tombol Spacebar di layar firmware.

Detail selengkapnya dapat ditemukan di [Mode Developer].

T: Apakah ChromeOS mendukung downgrade melalui fwupd?

Tidak. Jika versi Produksi fwupd atau firmware rusak, Anda harus menghapus laporan yang ditandatangani melalui https://fwupd.org/lvfs/dashboard. Penting untuk melakukan pengujian setiap kali Anda mengirimkan perubahan plugin dan/atau memiliki firmware baru yang tersedia. Pastikan versi dasar firmware selalu tersedia di remote LVFS yang stabil.

T: Bagaimana cara mengetahui versi ChromeOS mana yang akan mendukung update fwupd tertentu?

Anda dapat memberikan komentar pada bug yang menanyakan versi build mana yang menggabungkan perubahan tersebut dan Engineer Google akan dapat memberikan informasi tersebut kepada Anda. Anda juga dapat menggunakan CL Finder untuk menelusuri versi build di konsol partner ChromeOS (CPCon) (memerlukan akun domain partner Google Corp—hubungi TAM untuk mendapatkan akses ke CPCon). Orang dapat melihat versi build di Frontend Partner ChromeOS (CPFE) untuk melihat tonggak pencapaian yang sesuai.

T: Bagaimana cara membuat akun LVFS?

Lihat dokumentasi LVFS Mendapatkan Akun.

T: Bagaimana cara mengupload file cab ke LVFS?

Lihat dokumentasi LVFS Mengupload Firmware.

T: Bagaimana cara memastikan firmware ditujukan untuk periferal tertentu?

Hal ini dapat dilakukan melalui file konfigurasi yang paling dikenal. Lihat Konfigurasi Terbaik yang Diketahui fwupd untuk mengetahui informasi selengkapnya.

T: Bagaimana cara menguji update fwupd sebelum mengupload ke LVFS?

Setelah perubahan plugin dikirimkan dan fwupd versi selektif dimasukkan ke dalam image pengujian ChromeOS, Anda dapat mengakses image pengujian melalui ChromeOS Partner Frontend (CPFE) (memerlukan akun domain partner perusahaan Google—hubungi TAM untuk mendapatkan akses ke CPFE).

Lihat dokumentasi LVFS Pengujian firmware di ChromeOS. Atau, Anda juga dapat menjalankan pengujian fwupd dengan Moblab.

T: Bagaimana cara pengguna diberi tahu bahwa update firmware tersedia untuk periferal mereka?

Pengguna akan menerima notifikasi bahwa update tersedia berdasarkan urgensi update yang ditetapkan di LVFS. Perilakunya adalah sebagai berikut:

Urgensi Perilaku Notifikasi
Rendah Pengguna tidak akan diberi tahu, harus memeriksa update secara manual.
Sedang
Tinggi
Kritis Notifikasi akan ditampilkan setiap kali perangkat di-boot hingga update selesai.

T: Apakah update fwupd terjadi secara otomatis?

Tidak. Semua update fwupd dimulai oleh pengguna, dan tidak akan terjadi selama booting atau secara otomatis.

T: Apa keuntungan Spesifikasi DS20?

Saat ini hanya diverifikasi untuk periferal USB. Jika Anda menggunakan protokol yang sama seperti yang Anda lakukan di hardware lain, periferal akan berfungsi dengan deskriptor DS20.

Vendor dapat memasukkan data file keanehan ke dalam deskriptor USB, bukan ke dalam project fwupd. Dengan begitu, perangkat USB dimasukkan, fwupd membaca data deskriptor, mencocokkan plugin, mengenumerasi perangkat tanpa harus meminta vendor mengirimkan patch ke fwupd dan menunggu fwupd di-upgrade.

T: Apakah DS20 merupakan opsi alternatif untuk hanya mengubah file aneh?

Ya; sebagian besar hardware mendatang hanya memerlukan VID&PID yang ditambahkan ke plugin yang ada, bukan perubahan kode yang sebenarnya. Jika perubahan kode diperlukan, vendor harus mengirimkan perubahan plugin ke fwupd.

Lampiran

  1. Panduan Developer
  2. Dukungan Developer
  3. Pengantar Git & Gerrit untuk kontributor CrOS
  4. Membuat perubahan pada kode sumber
  5. Proses peninjauan/persetujuan Gerrit
  6. Buku Panduan Integrasi fwupd

Histori Revisi

Tanggal Versi Catatan
2025-07-23 2.4.3 Memperbarui alur kerja Kasus penggunaan 1
2024-10-18 2.4.2 Memperbarui gambar dan langkah-langkah alur kerja fwupd untuk mengupload sertifikat klien
2024-07-23 2.4.1 Memperbarui pemformatan.
2024-06-26 2,4 Memperbarui alur kerja peningkatan versi fwupd (kasus penggunaan 1).(dipublikasikan bersama dengan 2.4.1)
2024-06-17 2.3 Memperbarui alur kerja Laporan bertanda tangan. (dipublikasikan bersama dengan 2.4.1)
2024-02-01 2.2 Publikasi ulang di platform baru; pembaruan kecil pada kata-kata.
2023-10-12 2.1 Menambahkan Gambar dalam Kasus 1 dan Kasus 2, Panduan Integrasi fwupd yang dihosting di Situs Partner
2022-08-14 2.0 Publikasi situs partner awal