Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu belirtim, bilgisayarda veya aksesuarlarda bulunan bileşenler için üretici yazılımını güncelleştirmek için genel bir HID protokolünü açıklar. Belirtim, bir bileşenin indirme sırasında cihaz işlemini kesintiye uğratmadan üretici yazılımını kabul etmesini sağlar. Spesifikasyon, üretici yazılımını kabul eden bileşenin, ayrı üretici yazılımı görüntüleri gerektiren alt bileşenlere sahip olabileceği yapılandırmaları destekler. Teknik şartname, bileşen sorumlusunun üretici yazılımını kabul edip etmeyeceğine karar vermesine olanak tanır. Aynı zamanda bir optimizasyon işlevi de görür çünkü üretici yazılımı görüntüsü yalnızca bileşen kabul edebildiğinde veya kabul etmeye hazır olduğunda gönderilir.
Not
CFU, Windows 10, sürüm 2004 (Windows 10 Mayıs 2020 Güncelleştirmesi) ve sonraki sürümlerde kullanılabilir.
İçerik
- 1 Giriş
- 2 Desteklenen Donanım Mimarisi
- 3 Protokol Önkoşulları
-
4 CFU Protokolüne Genel Bakış
-
4.1 Üretici Yazılımı Güncelleştirme Programlama Komut Dizisi
- 4.1.1 Durumu: Ana Bilgisayar Tarafından Başlatılan Bildirim
- 4.1.2 Durumu: OFFER_INFO_START_OFFER_LIST Bildirim
- 4.1.3 Durum: FIRMWARE_UPDATE_OFFER Komutunu gönderin
- 4.1.4 Durum: Üretici Yazılımını Gönder
- 4.1.5 Karar Durumu: başka teklifler var mı?
- 4.1.6 Durumu: OFFER_INFO_END_OFFER_LIST Bildirim
- 4.1.7 Karar Durumu: Teklifleri Yeniden Göster listesi
- 4.1.8 Durumu: Cihaz Meşguldür
-
4.1 Üretici Yazılımı Güncelleştirme Programlama Komut Dizisi
- 5 CFU Protokolü Paket Biçimi
- 6 Ek 1: Örnek Üretici Yazılımı Güncelleştirme Programlama Komut Dizisi
Tablolar
Tablo 5.1-1 GET_FIRMWARE_VERSION Yanıt Düzeni
Tablo 5.1-2 GET_FIRMWARE_VERSION Yanıtı - Üst Bilgi Düzeni
Tablo 5.1-3 GET_FIRMWARE_VERSION Yanıtı - Başlık Bitleri
Tablo 5.1-4 GET_FIRMWARE_VERSION Yanıtı - Bileşen Sürümü ve Özellikler Düzeni
Tablo 5.1-5 GET_FIRMWARE_VERSION Yanıtı - Bileşen Sürümü ve Özellikleri Bitler
Tablo 5.2-1 FIRMWARE_UPDATE_OFFER Komut Düzeni
Tablo 5.2-2 FIRMWARE_UPDATE_OFFER Komutu - Bileşen Bilgisi Düzeni
Tablo 5.2-3 FIRMWARE_UPDATE_OFFER Komutu - Bileşen Bilgileri Bitleri
Tablo 5.2-4 FIRMWARE_UPDATE_OFFER Komutu - Donanım Yazılımı Sürüm Düzeni
Tablo 5.2-5 FIRMWARE_UPDATE_OFFER Komutu - Üretici Yazılım Sürümü Bitleri
Tablo 5.2-6 FIRMWARE_UPDATE_OFFER Komutu - Satıcıya Özgü Düzen
Tablo 5.2-7 FIRMWARE_UPDATE_OFFER komutu - Çeşitli ve Protokol sürümü
Tablo 5.2-8 FIRMWARE_UPDATE_OFFER Yanıt Belirteci Düzeni
Tablo 5.2-9 FIRMWARE_UPDATE_OFFER Yanıtı - Simge Düzeni
Tablo 5.2-10 FIRMWARE_UPDATE_OFFER Yanıtı - Belirteç Bitleri
Tablo 5.2-11 FIRMWARE_UPDATE_OFFER Yanıt - Reddetme Sebebi Düzeni
Tablo 5.2-12 FIRMWARE_UPDATE_OFFER Yanıtı - Reddetme Nedeni Bitleri
Tablo 5.2-13 FIRMWARE_UPDATE_OFFER Yanıt RR Kodu Değerleri
Tablo 5.2-14 FIRMWARE_UPDATE_OFFER Yanıt Durumu Düzeni
Tablo 5.2-15 FIRMWARE_UPDATE_OFFER Yanıtı - Durum Bitleri
Tablo 5.2-16 FIRMWARE_UPDATE_OFFER Yanıt Durumu Değerleri
Tablo 5.3-1 FIRMWARE_UPDATE_OFFER - Bilgi Komut Düzeni
Tablo 5.3-2 FIRMWARE_UPDATE_OFFER - Bilgi Komutu - Bileşen Düzeni
Tablo 5.3-3 FIRMWARE_UPDATE_OFFER - Bilgi Komutu - Bileşen Bitleri
Tablo 5.3-4 FIRMWARE_UPDATE_OFFER - Bilgilendirme Komutu - Bilgi Kodu Değerleri
Tablo 5.3-5 FIRMWARE_UPDATE_OFFER - Bilgi Yanıt Düzeni
Tablo 5.3-6 FIRMWARE_UPDATE_OFFER- Bilgi Paketi Yanıt Belirteci Düzeni
Tablo 5.3-7 FIRMWARE_UPDATE_OFFER - Bilgi Yanıtı - Belirteç Bitleri
Tablo 5.3-8 FIRMWARE_UPDATE_OFFER - Bilgi Yanıtı - RR Kod Düzeni
Tablo 5.3-9 FIRMWARE_UPDATE_OFFER- Teklif Bilgileri Yanıtı - RR Kod Bitleri
Tablo 5.3-10 FIRMWARE_UPDATE_OFFER- Bilgi Yanıtı - RR Kod Değerleri
Tablo 5.3-11 FIRMWARE_UPDATE_OFFER - Teklif Bilgisi Yanıt Durumu Düzeni
Tablo 5.3-12 FIRMWARE_UPDATE_OFFER - Teklif Bilgileri - Yanıt Durum Bitleri
Tablo 5.4-1 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Düzeni
Tablo 5.4-2 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Paketi - Komut - Bileşen Düzeni
Tablo 5.4-3 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut - Bileşen Bitleri
Tablo 5.4-4 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut - Komut Kodu Değerleri
Tablo 5.4-5 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Paketi Yanıt Düzeni
Tablo 5.4-6 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi Yanıtı - Belirteç Düzeni
Tablo 5.4-7 FIRMWARE_UPDATE_OFFER - Teklif Komutu Yanıtı - Belirteç Bitleri
Tablo 5.4-8 FIRMWARE_UPDATE_OFFER - Teklif Bilgi Paketi Yanıtı RR Düzeni
Tablo 5.4-9 FIRMWARE_UPDATE_OFFER - Teklif Komutu Yanıtı - RR Kodu
Tablo 5.4-10 FIRMWARE_UPDATE_OFFER - Teklif Komut Paketi - RR Kod Değerleri
Tablo 5.4-11 FIRMWARE_UPDATE_OFFER - Teklif Komut Paketi Yanıt Durumu Düzeni
Tablo 5.4-12 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi Yanıt RR Kodu
Tablo 5.5-1 FIRMWARE_UPDATE_CONTENT Komut Düzeni
Tablo 5.5-2 FIRMWARE_UPDATE_CONTENT Komut Üst Bilgisi Düzeni
Tablo 5.5-3 FIRMWARE_UPDATE_CONTENT Başlık Bitleri
Tablo 5.5-4 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi - Bayrak Değerleri
Tablo 5.5-5 FIRMWARE_UPDATE_CONTENT Komut Veri Düzeni
Tablo 5.5-6 FIRMWARE_UPDATE_CONTENT Komut Veri Bitleri
Tablo 5.5-7 FIRMWARE_UPDATE_CONTENT Komut Yanıtı Düzeni
Tablo 5.5-8 FIRMWARE_UPDATE_CONTENT Yanıtı - Sıra Numarası
Tablo 5.5-9 FIRMWARE_UPDATE_CONTENT - Komut - Yanıt Bitleri
Tablo 5.5-10 FIRMWARE_UPDATE_CONTENT Yanıt Durumu Düzeni
Tablo 5.5-11 FIRMWARE_UPDATE_OFFER - Yanıt - Durum Bitleri
Tablo 5.5-12 FIRMWARE_UPDATE_OFFER- Yanıt - Durum Kodu Değerleri
1 Giriş
Günümüzün bilgisayarları ve aksesuarları karmaşık işlemler gerçekleştiren dahili bileşenlere sahiptir. Kaliteli bir ürün sağlamak için, geliştirmenin sonraki aşamalarında veya müşterilere gönderildikten sonra bu cihazların davranışlarını sık sık güncelleştirme ihtiyacı vardır. Güncelleştirme, tanımlanan işlevsel veya güvenlik sorunlarını veya yeni özellikler ekleme gereksinimini düzeltebilir. Karmaşık mantığın büyük bir kısmı, cihazda çalıştırılan üretici yazılımındadır ve bu da güncelleştirilebilir.
Bu belirtim, bir bilgisayar veya aksesuarlarında bulunan bileşenlerin donanım yazılımını güncellemek için genel bir HID protokolünü açıklar. HID uygulaması belirtim kapsamının dışındadır.
Protokolün özelliklerinden bazıları şunlardır:
Protokol, yaygın olan HID'yi temel alır ve USB ve I2C gibi çeşitli veriyolları üzerinden Windows yerleşik desteği vardır. Bu nedenle, tüm bileşenler için üretici yazılımını güncelleştirmek için aynı yazılım (sürücü) çözümünden yararlanabilirsiniz.
Not
Belirtim paket tabanlı olduğundan, bunu HID olmayan senaryolara uyarlamak kolaydır.
Belirtim, bir bileşenin indirme sırasında cihaz işlemini kesintiye uğratmadan üretici yazılımını kabul etmesine olanak tanır. Diğer görevleri sürdürebilmek için üretici yazılımı güncelleştirme işleminin tamamlanmasını beklemeleri gerekmeyen kullanıcılar için daha iyi bir deneyim sağlar. Yeni aygıt yazılımı, kullanıcı üzerinde en az etkiyi yaratacak şekilde tek bir atomik işlemle çalıştırılabilir.
Spesifikasyon, üretici yazılımını kabul eden bileşenin, ayrı üretici yazılımı görüntüleri gerektiren alt bileşenlere sahip olabileceği yapılandırmaları destekler.
Not
Bir bileşenin üretici yazılımını alt bileşene teslim etme işlemi bu belirtim kapsamı dışındadır.
Belirtim, teklifi kavramını destekler ve üretici yazılımının kabul edilip edilmeyeceğine karar vermek için sorumlu bileşene bağlıdır. Yeni üretici yazılımını kabul etme kararı önemsiz değildir. Üretici yazılımı türü ve/veya sürümü ile yeni üretici yazılımının uygulandığı temel donanım türü/sürümü arasında bağımlılıklar olabilir. Bileşen yalnızca kabule hazır olduğunda üretici yazılımı görüntüsünü alır, bu nedenle teklif bir iyileştirme mekanizması olarak işlev görür.
1.1 Sözlük
| Terim | Açıklama |
|---|---|
| Bileşen Kimliği | Birden çok bileşeni olan bir cihazda, bileşen kimliği her bileşeni benzersiz olarak tanımlar. |
| CRC | Döngüsel Yedeklilik Denetimi Bir veri bloğunun özetini veya parmak izini oluşturmak için kullanılan şifreleme olmayan karma algoritması. CRC, CRC hesaplandığından beri veri bloğunun değişmediğinden emin olmak için denetim olarak kullanılır. CRC hatalı değildir, ancak verilerin doğru alındığına dair güven sağlar. |
| Aygıt | Bileşenler koleksiyonu (bir birincil bileşen ve sıfır veya daha fazla alt bileşen). Cihaz, işletim sistemi tarafından tek bir birim olarak görülebilir. Konak, genellikle birincil bileşen olan cihazla etkileşim kurar. Bir bilgisayarda birden çok cihaz olabilir. Bu belirtim ile ilgili olarak, 2 farklı cihazla iletişim tamamen bağımsızdır. |
| Sürücü | Windows Driver Foundation (WDF) çerçevesi kullanılarak yazılan bir sürücü. |
| Donanım Yazılımı | Fiziksel donanımda çalışan kod. Üretici yazılımı güncelleştirilebilir ve genellikle donanımla ilişkili programlanabilir bellekte bulunur. |
| Donanım | Bilgisayarda fiziksel bir silikon parçası. |
| Birincil Bileşen | Bilgisayardaki bir donanım parçası ve ona ait üretici yazılımı. Bu belirtim bağlamında bileşen, üretici yazılımı güncelleştirmesini gerektiren ve kabul eden varlıktır. |
| Parça | Bir bileşen için üretici yazılımı görüntüsü daha küçük segmentlere bölünebilir. Her bir segment küçük bir üretici yazılımı görüntüsüdür. |
| Segment Kimliği | Bir bileşenin üretici yazılımı daha küçük segmentlere ayrılmışsa, segment kimliği segment için benzersiz tanımlayıcıdır. |
| İmza | Üretici yazılımı görüntüsünün yetkisiz yollarla değiştirilip değiştirilmediğini belirlemek için kriptografik bir yöntem. İmzalar isteğe bağlıdır ancak önerilir ve bu belirtim kapsamının dışındadır. |
| Alt bileşen | Donanım mimarisine bağlı olarak, tüm bileşenler sistem tarafından görülebilen bir bileşenin aşağı akışına bağlı olabileceğinden işletim sistemi tarafından görülmeyebilir. Bu bileşenler, bu belirtimdeki alt bileşenler olarak adlandırılır. |
| TLC | HID Üst Düzey Koleksiyonu. |
| Jeton | Ana bilgisayar oturumu tanımlayıcısı. Konak bir belirteç oluşturup komutlar halinde gönderir ve cihaz bunu yanıtta döndürür. Belirteçler, belirli işlemleri seri hale getirmek veya oturumun kaybedildiğini ve başka bir oturumun başlatıldığını belirlemek için kullanılabilir. |
1.2 Kapsam
1.2.1 Amaçlar
Her veri yolu türü için yeni bir protokol kullanmaktan kaçınmak için veri yolu agnostik bir çözüm gereklidir. HID her yerde bulunur ve bu gereksinimi giderir.
Bir bileşenin birincil bileşen olarak görev yaptığı ve diğerlerinin birincil bileşene bağlı alt bileşenler olduğu çok bileşenli bir cihaz için üretici yazılımı güncelleştirmesini destekleme olanağı. Her bileşen, aralarında önemli bağımlılık ilişkileri bulunan kendi üretici yazılımını gerektirir.
Üretici yazılımı görüntüsünü bileşene indirmek için yaygın bir sürücü modeli. Ardından bileşen, alt bileşenlere iletmek için alt bileşene özgü algoritmalara sahiptir. Alt bileşenler ayrıca üretici yazılımı üzerinde geçerlilik denetimleri gerçekleştirebilir ve sonuçları birincil bileşene geri geçirebilir.
Cihaz işlemi sırasında üretici yazılımı güncellemesini destekleme özelliği.
Üretim cihazlarında üretici yazılımını yetkili araçlar aracılığıyla güncelleştirme/geri alma ve pazardaki cihazları Windows Update aracılığıyla güncelleştirme olanağı.
Geliştirmekte olan yazılımı/pazardaki yazılımı destekleme esnekliği.
Bir bileşenin üretici yazılımı görüntüsünü kabul etmesini kolaylaştırmak için büyük bir üretici yazılımı görüntüsünü daha küçük segmentlere ayırma özelliği.
1.2.2 Hedef Olmayanlar
Üretici yazılımı görüntüsünün iç biçimini tanımlayın: Ana bilgisayar için üretici yazılımı görüntüsü bir adres ve yük girdileri kümesidir.
Kabul edilen üretici yazılımını imzalama/şifreleme/doğrulama: Bu belirtim, üretici yazılımı görüntülerinin nasıl imzalanıp şifrelendiğini açıklamaz. Beklenen geçerli donanım yazılımının bileşen üzerinde yürütülen yazılım olması ve indirilen donanım yazılımını doğrulaması gerekir.
Bileşenin alt bileşenlerle nasıl etkileşime geçtiğini gösteren bir mekanizma tanımlayın: Konak, cihazla genellikle birincil bileşen olarak tek bir birim olarak etkileşim kurar. Bileşenin alt bileşen üretici yazılımıyla ilgili iletişim için köprü görevi görmesi gerekir.
2 Desteklenen Donanım Mimarisi
Esnek donanım tasarımını desteklemek için protokol, her bileşenin kendi üretici yazılımı görüntüsünü gerektirdiği çok bileşenli bir cihazı destekler. Tasarımda, bir bileşen birincil bileşendir ve bağımlı alt bileşenler bu birincil bileşene bağlanır. Her bileşen benzersiz olarak bir bileşen kimliğiyle tanımlanır.
Çok bileşenli cihaz, işletim sistemi tarafından tek bir birim olarak görülebilir. Ana bilgisayar, genellikle birincil bileşen olan ve bu CFU protokolünü kullanan cihazla etkileşim kurar. Bileşen ile alt bileşenleri arasındaki iletişim bu belirtim kapsamının dışındadır.
Bir bilgisayarda birçok farklı cihaz olabilir (bir cihazda bir veya daha fazla bileşen olabilir). Bu protokol bağlamında, her cihazla iletişim bağımsızdır. Her cihazın ana bilgisayar ile karşılık gelen bir örneği vardır.
3 Protokol Önkoşulları
Bu bölümde, bu protokolden yararlanmak için uygulanması gereken önkoşullar ve en iyi yöntemler listelenmiştir:
Atomik görüntü kullanımı
Bir bileşen için üretici yazılımı görüntüsü, üretici yazılımı görüntüsünün tamamı başarıyla indirilene kadar kullanılmaz. Üretici yazılımının birden çok segmente bölünmesi durumunda, son kesim gönderenden alınana kadar görüntü kullanılmamalıdır. Bütünlük denetimleri son görüntüde gerçekleştirilmelidir. Üretici yazılımı görüntüsünü teslim etmek için kullanılan aktarımda, aktarım hatalarında tekrar indirmeyi önlemek için hata düzeltme ve yeniden deneme mekanizmaları bulunması önerilir.
Üretici yazılımı güncelleştirmesi cihaz işlemini kesintiye uğratmamalıdır
Üretici yazılımı görüntüsünü kabul eden cihazın güncelleştirme sırasında çalışabilmesi gerekir. Cihazın gelen üretici yazılımını depolamak ve doğrulamak için ek belleğe sahip olması gerekir, ancak geçerli üretici yazılımının üzerine yazılmaz.
Kimlik doğrulaması ve bütünlük
Uygulayıcı, özgün bir üretici yazılımı görüntüsü oluşturan faktörlere karar verir. Bileşenin mevcut üretici yazılımının, gelen üretici yazılımı görüntüsünün CRC'sini en azından doğrulaması önerilir. Geçerli üretici yazılımı dijital imza veya diğer hata algılama algoritmalarını da kullanmalıdır. Doğrulama başarısız olursa üretici yazılımı güncelleştirmeyi reddeder. Arıza Kurtarma
Üretici yazılımı görüntüsü indirilir ve başarısız olursa cihaz yeni üretici yazılımını çağırmamalı ve mevcut üretici yazılımıyla çalışmaya devam etmelidir. Sunucu güncellemeyi yeniden deneyebilir. Yeniden deneme sıklığı uygulamaya özgüdür.
Gizli -lik
Opsiyonel. Bir yazılım bölümü şifrelenebilir. Şifreleme ve şifre çözme teknikleri bu belirtim kapsamının dışındadır. Bu belirtim, bellenim yükünü şifrelenmiş olup olmadığına bakılmaksızın bir veri akışı olarak ele alır.
Geri alma koruması
Geri alma politikaları birincil bileşen tarafından uygulanır ve uygulamaya özeldir. Bileşendeki geçerli yazılım, gelen yazılım dosyalarını sürüm numarasının güncel olması gerektiği veya sürüm türünden hata ayıklamaya geçiş yapılamaması gibi, dahili ilkelere göre doğrular. Protokol, geri alma ilkelerini ihlal etse bile bir güncelleştirmenin kabul edildiğine dair mesajlaşmaya izin verir.
4 CFU Protokolüne Genel Bakış
CFU protokolü, yeni üretici yazılımı görüntülerini ana bilgisayardan üretici yazılımının hedeflendiği cihaza göndermek için gereken bir dizi komut ve yanıttır.
Genel bakışla, protokol cihaza gönderilecek tüm üretici yazılımı görüntülerini tekrarlayarak tarar. Her bir üretici yazılımı görüntüsü için ana bilgisayar dosyayı cihaza göndermek üzere sunar. Yalnızca cihaz teklifi kabul ederse, konak dosyayı gönderir.
Cihaz güncelleştirme sırasının bağımlılıkları olduğu durumları desteklemek için, cihaz ilk geçişte belirli teklifleri kabul etmeyebilir, bu nedenle protokol konağın tüm bağımlılıklar çözümlenene kadar tüm üretici yazılımı tekliflerini cihaza yeniden göndermesine izin verir.
4.1 Üretici Yazılımı Güncelleştirme Programlama Komut Dizisi
Üretici yazılımı görüntüsünü güncelleştirmek için CFU komut dizisi aşağıdadır.
4.1.1 Durumu: Ana Bilgisayar Tarafından Başlatılan Bildirim
Konak kendisini başlatıp cihaza göndermesi gereken bir dizi teklif belirledikten sonra, konak, konağın başlatıldığını bileşene göstermek için bir OFFER_INFO_START_ENTIRE_TRANSACTION komutu gönderir. Bu komutun amacı, geçerli cihaz üretici yazılımına konağın yeni bir örneğinin kullanılabilir olduğunu bildirmektir. Ana bilgisayarın önceki bir örneği beklenmedik şekilde sonlandırıldığında bu bildirim yararlıdır. Cihazın bu komutu başarıyla tamamlaması gerekir.
4.1.2 Durumu: OFFER_INFO_START_OFFER_LIST Bildirimi
Bu durumda konak, geçerli cihaz üretici yazılımına teklif göndermeye hazır olduğunu belirtmek için OFFER_INFO_START_OFFER_LIST komutunu gönderir. Cihazın birincil bileşeni bu komutu başarıyla tamamlamalıdır.
Konak tüm teklifleri cihaza birden çok kez gönderebileceğinden bu komut kullanışlıdır.
4.1.3 Durum: FIRMWARE_UPDATE_OFFER komutunu gönder
Ana bilgisayar, birincil bileşene (veya alt bileşenine) bir teklif göndererek bileşenin üretici yazılımını kabul etmek/reddetmek isteyip istemeyeceğini denetler. Teklif, donanım yazılımı görüntüsüyle ilgili tüm gerekli meta verileri içerir, böylece bileşendeki geçerli donanım yazılımı, teklifi kabul etmeye, bekletmeye, atlamaya veya reddetmeye karar verebilir.
Teklif birincil bileşen veya alt bileşen için olabilir. Bileşen teklifi kabul edebiliyorsa, ürün yazılımını almaya hazırlanır. Bu, gelen üretici yazılımı görüntüsünü almak için bir bellek bankası hazırlamayı içerebilir. Bileşen teklifi kabul etmeyebilir, örneğin, bileşen zaten konağın göndermek istediği daha yeni (veya aynı) bir firmware sürümüne sahip olabilir. Daha fazla nedenden dolayı Ek 1: Örnek Üretici Yazılımı Güncelleştirmesi Programlama Komut Dizisi bölümünde açıklanan örneklere bakın.
Bir teklif kabul edilmiş olsa bile, birincil bileşen, alınan imajın bütünlük hatası ve/veya geri alma denetimlerinde başarısız olması durumunda, indirmenin ardından üretici yazılımı imajını reddedebilir. Bileşen, her donanım yazılımı görüntüsü özelliğini, teklifteki herhangi bir bilgiden bağımsız olarak kontrol etmelidir.
Ana bilgisayar, göndermeyi planladığı üretici yazılımı görüntüsü hakkında birincil bileşeni bilgilendirmek amacıyla FIRMWARE_UPDATE_OFFER komutunu verir.
Bileşen teklifi kabul ederse, FIRMWARE_UPDATE_OFFER_ACCEPT durumuyla teklifi kabul eder.
Cihazın donanım yazılımı meşgulse ve ana bileşen şu anda bu veya bir sonraki teklifi kabul edemiyorsa, FIRMWARE_UPDATE_OFFER_BUSY durumuyla meşgul bir yanıt gönderir.
Geçerli üretici yazılımı teklifle ilgileniyorsa ancak teklifi kabul edemiyorsa (örneğin, alt bileşen için eksik bir güncelleme bağımlılığı nedeniyle), bu üretici yazılımla ilgilendiğini ancak kabul edemediğini belirten bir FIRMWARE_UPDATE_OFFER_SKIP yanıtı verir. Ardından ana bilgisayar bir sonraki teklife devam eder ve bu üretici yazılımını daha sonra tekrar sunmalıdır.
Geçerli üretici yazılımı teklifle ilgilenmiyorsa (örneğin, eski bir sürümdür), uygun reddetme nedenini sağlayan FIRMWARE_UPDATE_OFFER_REJECT durumuyla yanıt verir. Bu durum, ev sahibinin bu teklifi gelecekte yeniden gönderemeyeceğini göstermez. Ana bilgisayar, genellikle her teklifi başlattığında veya teklif listesini cihaza yeniden gönderdiğinde, her teklifi yollar (bkz. Durum: OFFER_INFO_START_OFFER_LIST Bildirimi).
4.1.4 Durumu: Üretici Yazılımı Gönder
Bu durumda, ana bilgisayar üretici yazılımı görüntüsünü bileşenin daha önce teklifi kabul ettiği birincil bileşene göndermeye başlar.
Üretici yazılımı görüntüsünün içeriği büyük olasılıkla tek bir komutun yük sınırlarını aşacağından, konak üretici yazılımı görüntülerini paketlere böler. Ana bilgisayar, her paketi ayrı bir FIRMWARE_UPDATE CONTENT komutuyla sırayla gönderir. Birincil bileşenin her komut için bir yanıt paketi oluşturması gerekir.
Her FIRMWARE_UPDATE CONTENT komutu, kısmi üretici yazılımı yükü içeren bir ofset adresini açıklar. Bileşen, kısmi üretici yazılımı yükünün depolanması gereken adresi belirlemek için uzaklığı kullanır. Cihaz içeriği uygun bir konuma yazar ve bir yanıt göndererek komutu kabul eder.
Konağın gönderdiği ilk paket için, cihaza bunun üretici yazılımı görüntüsünün ilk paketi olduğunu belirten FIRMWARE_UPDATE_FLAG_FIRST_BLOCK bayrağını ayarlar. Cihaz üretici yazılımını almaya hazır değilse, şu anda bunu yapabilir.
Son paket için, ana bilgisayar FIRMWARE_UPDATE_FLAG_LAST_BLOCK bayrağını ayarlayarak gönderir.
Cihazdaki geçerli üretici yazılımı bu komutta yer alan kısmi üretici yazılımı yükünü yazdıktan sonra, yanıt göndermeden önce gelen üretici yazılımı görüntüsünde doğrulama ve kimlik doğrulama denetimleri gerçekleştirmesi gerekir. Bu en düşük düzeyde şunları içerir:
Üretici yazılımı görüntüsünün tamamının bütünlüğünü doğrulamak için crc denetimi.
CRC denetimi başarılı olursa, gelen görüntünün imzasının isteğe bağlı olarak doğrulanması.
İsteğe bağlı imza denetiminden sonra, yeni üretici yazılımı sürümünün mevcut üretici yazılımı sürümüyle aynı veya ondan daha yeni olduğunu doğrulamak için bir sürüm denetimi yapılır.
Gelen üretici yazılımı görüntüsünün daha küçük segmentlere bölünmesi durumunda, bunun üretici yazılımı görüntüsünün son segmenti olup olmadığını belirlemek ve ardından doğrulama sürecine dahil etmek mevcut üretici yazılımına bağlıdır.
Yukarıdaki denetimler geçerse, geçerli üretici yazılımı cihazı bir sonraki sıfırlamada yeni görüntüye geçecek şekilde ayarlayabilir ve ana bilgisayara başarılı olduğunu bildirir. Genellikle bileşen kendi kendine sıfırlama başlatmaz. Bu, bileşenin etkileşimde bulunduğu yazılım, üretici yazılımı, donanım varlıklarındaki kesintileri önlemektir. Ancak bu bir gereksinim değildir ve uygulamaya bağlı olarak farklılık gösterebilir.
Doğrulama adımları başarısız olursa üretici yazılımının bir sonraki sıfırlamada değiştirme ayarlamaması ve konağa bir hata yanıtı belirtmesi gerekir.
4.1.5 Karar Durumu: Daha fazla teklif var mı?
Bu durumda konak, cihaza gönderilecek daha fazla teklif olup olmadığını belirler.
4.1.6 Durumu: OFFER_INFO_END_OFFER_LIST Bildirimi
Ana bilgisayar tüm teklifleri mevcut cihaz üretici yazılımındaki birincil bileşene gönderdiğinde bu duruma ulaşılır. Sunucu, tüm teklifleri bileşene gönderdiğini belirtmek için OFFER_INFO_END_OFFER_LIST komutunu gönderir.
Cihazın bu komutu başarıyla tamamlaması gerekir.
4.1.7 Karar Durumu: Teklifi Tekrar Oynatma Listesi
Ana bilgisayar, tüm teklifleri yeniden gönderip göndermemesi gerektiğini belirler. Bu durum, birincil bileşen daha önce bazı teklifleri atlayıp bazı teklifleri kabul ettiyse ortaya çıkabilir. Ev sahibinin teklif listesini tekrar tekrarlaması gerekir.
Teklif listesini yeniden yürütme kararına neden olabilecek başka uygulamaya özgü mantık da olabilir.
4.1.8 Durumu: Cihaz Meşgul
Bu durum, bir cihazın teklife meşgul bir yanıt döndürdüğünü gösterir.
Ana bilgisayar, cihaz serbest olana kadar cihazın kabul ile yanıt vermediği bir OFFER_NOTIFY_ON_READY komutu gönderir.
5 CFU Protokolü Paket Biçimi
CFU protokolü, komut ve yanıt kümesi olarak uygulanır. Protokol doğası gereği sıralı. Konağın bir bileşene gönderdiği her komut için bileşenin yanıt vermesi beklenir (bu belirtimde açıkça aksi belirtilmedikçe). Ana bilgisayar, gönderdiği önceki komut için geçerli bir yanıt alınana kadar sonraki komutu göndermez.
Bileşen bir süre içinde yanıt vermezse veya geçersiz bir yanıt gönderirse, konak işlemi baştan başlatabilir. Bu protokol belirli bir zaman aşımı değerini tanımlamaz.
Bileşendeki geçerli üretici yazılımının sürüm bilgilerini almak, teklifi göndermek ve üretici yazılımı görüntüsünü göndermek için komutlar vardır.
Ancak konağın sorgulanan sürüm bilgileriyle ilgili birincil bileşenden alınan yanıta bağlı olarak bir teklifi saklaması gerekmez. Bilgiler kayıt tutma veya başka amaçlarla erişilebilir hale getirilir.
5.1 FİRMWARE_SÜRÜMÜNÜ_AL
Birincil bileşenin (ve alt bileşenlerinin) geçerli üretici yazılımı sürümlerini alır. Komutun bağımsız değişkeni bulunmuyor.
5.1.1 Komut
Bu komut, ana bilgisayar tarafından birincil bileşendeki (ve alt bileşenlerindeki) geçerli üretici yazılımlarının sürümlerini sorgulamak için gönderilir. Sunucu, üretici yazılımının başarıyla güncellenip güncellenmediğini teyit etmek için bunu kullanabilir. Bu komutu aldıktan sonra birincil bileşen kendisi ve tüm alt bileşenler için üretici yazılımı sürümüyle yanıt verir.
5.1.2 Yanıtı
Bileşen, birincil bileşenin ve alt bileşenlerin üretici yazılımı sürümüyle yanıt verir. Yanıt boyutu 60 bayttır ve en fazla yedi bileşen (bir birincil ve altı alt bileşen) için sürüm bilgilerine izin verir.
Tablo 5.1-1 GET_FIRMWARE_VERSION Yanıt Düzeni
GET_FIRMWARE_VERSION Yanıt Düzeni 
5.1.2.1 Başlık
Tablo 5.1-2 GET_FIRMWARE_VERSION yanıtı - Üst Bilgi Düzeni
Yanıtın üst bilgisi aşağıdaki bilgileri sağlar.
Tablo 5.1-3 GET_FIRMWARE_VERSION Yanıtı - Başlık Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Bileşen Sayısı | 8 | Bu Bileşen için bu mekanizma aracılığıyla yönetilen indirilebilir bileşenlerin sayısı. Bileşen Sayısı, en büyük tablo boyutunu belirler. Şu anda, yanıtın izin verilen 60 bayt içine sığmasını sağlamak için en fazla 7 bileşen desteklenir. |
| 8 | Yanıtla | 16 | Ayrılmış alanlar. Gönderenin bunları 0 olarak ayarlaması gerekir. Alıcı bu değeri yoksaymalıdır. |
| 24 | Protokol Sürümü | 4 | Üretici yazılımı güncelleme revizyon bitleri, şu anda aktarımda kullanılmakta olan FW Güncelleme Protokolü revizyonunu temsil eder. Burada tanımlanan arabirim için FW Güncelleştirme Düzeltmesi 0010b olmalıdır. |
| 28 | Yanıtla | 3 | Ayrılmış alanlar. Gönderenin bunları 0 olarak ayarlaması gerekir. Alıcı bu değeri yoksaymalıdır. |
| 31 | E | 1 | Uzantı bayrağı, ek bileşenlerin bildirilmesini sağlamak için gelecekteki bir protokol kancasıdır. |
5.1.2.2 Bileşen Sürümü ve Özellikleri
Her bileşen için, en fazla 7 bileşenin özelliklerini açıklamak için iki DWORD kullanılır. Üst bilgideki bileşen sayısı 7'den küçükse, yanıtın sonunda kullanılmayan DWORDS değeri 0 olarak ayarlanmalıdır.
Tablo 5.1-4 GET_FIRMWARE_VERSION Yanıtı - Bileşen Sürümü ve Özellikler Düzeni
Her bileşene özgü bilgi iki DWORD'de aşağıdaki gibi açıklanmıştır:
Tablo 5.1-5 GET_FIRMWARE_VERSION Yanıtı - Bileşen Sürümü ve Özellik Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Üretici Yazılımı Sürümü | 32 | Bu bileşen için geçerli üretici yazılımının sürümünü döndürür. Bu teknik özellik, üretici yazılımı sürümü için belirli bir biçimi zorunlu kılmaz. Yönergeler için Üretici Yazılımı Sürümü bölümüne bakın. |
| 32 | Banka | 2 | Opsiyonel. Mimariye bağlı olarak, bileşen donanımında üretici yazılımının depolanabileceği birden çok banka olabilir. Uygulamaya bağlı olarak, gönderen üretici yazılımının mevcut olduğu bankayı belirtebilir. Bu alan Koşullu Zorunludur; destek isteğe bağlıdır, ancak başka bir amaçla kullanılmamalıdır. |
| 34 | Rezerve | 2 | Ayrılmış alanlar. Gönderenin bunları 0 olarak ayarlaması gerekir. Alıcı bu değeri yoksaymalıdır. |
| 36 | Tedarikçiye Özgü | 4 | Satıcıya özgü olan ve uygulamaya özel bir şekilde kullanılabilecek alan. Satıcı aşağıdaki gibi bilgileri kodlamak için bu bitleri kullanabilir: - Üretici yazılımının türü: Yayın öncesi/kendi kendine barındırma/üretim, hata ayıklama/perakende - Geliştirme aşaması Aynı güncelleme protokollerini kullanan diğer ürünler için bileşenlerin üretici yazılımı almasını önlemek amacıyla Ürün Kimliği kullanılır. |
| 40 | Bileşen Kimliği | 8 | Bileşen için benzersiz bir tanımlayıcı. |
| 48 | Tedarikçiye Özgü | 16 | Satıcıya özgü olan ve uygulamaya özel bir şekilde kullanılabilecek alan. |
5.1.3 HID ile Eşleme
Bu, Rapor Kimliği'ne ek olarak 60 bayt yanıt boyutuna sahip HID Özellik Alma isteği olarak uygulanır. Özellik raporu uzunluğu, tüm GET_FIRMWARE_VERSION yanıtını barındırıyor. Konaktan Özellik Al isteğiyle ilişkilendirilmiş veri yok.
5.2 FIRMWARE_GÜNCELLEME_TEKLİFİ
Birincil bileşenin bir üretici yazılımını kabul edip etmediğini belirler.
5.2.1 Komutu
Ana bilgisayar, bir üretici yazılımını kabul edip etmediğini belirlemek için bu komutu bileşene gönderir. Host, üretici yazılımını gönderebilmeden önce bir teklif göndermeli ve bileşenin bu teklifi kabul etmesi gerekir.
FIRMWARE_UPDATE_OFFER Komut paketi aşağıdaki gibi tanımlanır.
Tablo 5.2-1 FIRMWARE_UPDATE_OFFER Komut Düzeni
5.2.1.1 Bileşen Bilgileri
Tablo 5.2-2 FIRMWARE_UPDATE_OFFER Komutu - Bileşen Bilgileri Düzeni
Bileşen Bilgileri baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.2-3 FIRMWARE_UPDATE_OFFER Komutu - Bileşen Bilgileri Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Segment Numarası | 8 | Bu alan, bir bileşenin üretici yazılımının daha küçük segmentlere ayrılmış olması durumunda kullanılır. Kullanılırsa, bu değer sonraki yük paketinde yer alan kesimi gösterir. Örneğin, bileşen için üretici yazılımı görüntüsü çok büyükse ve birincil bileşen bir kerede görüntünün yalnızca daha küçük bölümlerini alabiliyorsa, bu alan bu teklifin görüntünün tamamının ,segmenti için olduğunu belirtmek için kullanılabilir. Görüntününve |
| 8 | Rezerve | 6 | Ayrılmış alanlar. Gönderenin bunları 0 olarak ayarlaması gerekir. Alıcı bu değeri yoksaymalıdır. |
| 14 | Ben | 1 | Hemen Sıfırlamayı Zorla (I) - Bu bit değeri, üretici yazılımı indirme işlemi tamamlandıktan ve hemen çağırıldığı doğrulandıktan sonra bileşenin kendisini hemen sıfırlayacağına işaret etmek için kullanılır. - Bu bayrak geliştirme aşamasına yöneliktir. |
| 15 | V | 1 | Sürümü Yoksaymak için Zorla (V) - Bu işaret, yayın öncesi veya hata ayıklama imajı için tasarlanmıştır. Üretici yazılımı sürümüne bağlı olarak bileşenin üretici yazılımını reddetmemesi gerektiğini belirtir. - Bu bayrak geliştirme aşamasına yöneliktir. Önceki bir üretici yazılımı sürümüne kasıtlı olarak dönmek için kullanılabilir. - Bu bayrak üretim yazılımı tarafından yoksayılmalıdır. |
| 16 | Bileşen Kimliği | 8 | Bu bayt, çok bileşenli senaryolar için kullanılır. Bu alan, teklifin hedeflendiği alt bileşeni tanımlamak için kullanılabilir. Kullanılmadıysa değer 0 olmalıdır. Bileşen kimliklerinin olası değerleri aşağıdaki gibidir: 1 - 0xDF: Geçerli 0xE0 - 0xFD: Rezerve. Kullanma. 0xFF: Teklif, özel bir teklif bilgi paketidir. Ayrıntılar için bkz. FIRMWARE_UPDATE_OFFER Bilgileri. 0xFE: Teklif, özel bir teklif komut paketidir. Ayrıntılar için FIRMWARE_UPDATE_OFFER Genişletilmiş bölümüne bakın. |
| 24 | Jeton | 8 | Ana bilgisayar, teklif paketine bileşen için benzersiz bir belirteç ekler. Bu belirteç, teklif yanıtında bileşen tarafından döndürülmelidir. Bu, bileşenin farklı konak veya konak türlerini ayırt etmesi gerektiğinde yararlıdır. Kullanılacak tam değerler uygulamaya özgü değerlerdir. Örneğin, bir değer bir sürücü için, diğeri uygulama için kullanılabilir. Bu, geçerli cihaz üretici yazılımının CFU komutlarının olası birden çok gönderenini hesaba katmasını sağlar. Olası bir uygulama, ilk CFU komutunu kabul etmek ve ilk CFU işlemleri tamamlanana kadar farklı belirteçlere sahip diğer tüm komutları reddetmek olabilir. |
5.2.1.2 Üretici Yazılımı Sürümü
Bu dört bayt, üretici yazılımının 32 bit sürümünü temsil eder. Üretici yazılımı sürümünün biçimi bu belirtim tarafından zorunlu değildir. Aşağıdakiler önerilir.
Tablo 5.2-4 FIRMWARE_UPDATE_OFFER Komutu - Ürün Yazılımı Sürüm Düzeni
Üretici yazılımı sürümünün biçimi bu belirtim tarafından zorunlu değildir, ancak aşağıdakiler önerilen bir yönergedir.
Tablo 5.2-5 FIRMWARE_UPDATE_OFFER Komutu - Üretici Yazılımı Sürüm Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Varyant | 8 | Bu alan, yayın öncesi üretici yazılımı ile üretim üretici yazılımı arasında ayrım yapmak için açıklanabilir. Üretici yazılımını imzalamak için kullanılan imza türünü gösterebilir. |
| 8 | Küçük Sürüm | 16 | Bu alan değeri, üretici yazılımının her derlemesi için güncelleştirilmelidir. Bu alan değeri, üretici yazılımının her derlemesi için güncelleştirilmelidir. |
| 24 | Ana Sürüm | 8 | Bu alan, üretici yazılımı görüntüsünün ana sürümüdür. Yeni bir ürün serisi, üretici yazılımında önemli yeni güncellemeler gibi durumlarda bu alan güncelleştirilmelidir. |
5.2.1.3 Satıcıya Özgü
Bu dört bayt, teklifteki satıcı uygulamasına özgü özel bilgileri kodlamak için kullanılabilir.
5.2.1.4 Muhtelif ve Protokol sürümü
Bu dört bayt, teklifteki satıcı uygulamasına özgü özel bilgileri kodlamak için kullanılabilir.
Tablo 5.2-6 FIRMWARE_UPDATE_OFFER Komutu - Satıcıya Özgü Düzen
Satıcıya Özgü bayt bitleri bu tabloda açıklanmıştır.
Tablo 5.2-7 FIRMWARE_UPDATE_OFFER Komutu - Diğer ve Protokol Sürümü
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Protokol Sürümü | 4 | Bu alan, konağın/teklifin CFU protokolünün 2. sürümüne karşılık geldiğini belirten 0010b olarak ayarlanmalıdır. |
| 4 | Rezerve | 4 | Rezerve Kullanma. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Tedarikçiye Özgü | 16 | Bu alan, teklifteki satıcı uygulamasına özgü özel bilgileri kodlamak için kullanılabilir. |
5.2.2 Yanıtı
FIRMWARE_UPDATE_OFFER Yanıt paketi aşağıdaki gibi tanımlanır.
Tablo 5.2-8 FIRMWARE_UPDATE_OFFER Yanıt Belirteci Düzeni
5.2.2.1 Jeton
Tablo 5.2-9 FIRMWARE_UPDATE_OFFER Yanıtı - Belirteç Düzeni
Belirteç baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.2-10 FIRMWARE_UPDATE_OFFER Yanıtı - Belirteç Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Rezerve | 8 | Rezerve Kullanma. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Rezerve | 8 | Rezerve Kullanma. |
| 24 | Jeton | 8 | Ana bilgisayarı tanımlamak için belirteç. |
5.2.2.2 Ayrılmış (B7 - B4)
Rezerve Kullanma.
5.2.2.3 Reddetme Nedeni (RR)
Tablo 5.2-11 FIRMWARE_UPDATE_OFFER Cevabı - Reddetme Nedeni Düzeni
Tablo 5.2-12 FIRMWARE_UPDATE_OFFER Yanıtı - Reddetme Nedeni Bitleri
Reddetme Nedeni baytının bitleri bu tabloda açıklanmıştır.
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | RR Kodu | 8 | Teklifi reddetmek için bileşen tarafından sağlanan nedeni gösteren Reddetme Nedeni Kodu. Bu değer Durum alanına bağlıdır. Durum-RR Kodu eşlemesi için bkz. Tablo 5.2-13. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
Tablo 5.2-13 FIRMWARE_UPDATE_OFFER Yanıt RR Kodu Değerleri
RR Kodu bayt için olası değerler bu tabloda açıklanmıştır.
| RR Kodu | Ad | Açıklama |
|---|---|---|
| 0x00 | FIRMWARE_TEKLİFİ_RED_ET_ESKİ_FW | Sunulan üretici yazılımının sürümü geçerli üretici yazılımıyla daha eski veya aynı olduğundan teklif reddedildi. |
| 0x01 | FIRMWARE_OFFER_REJECT_INV_COMPONENT | Sunulan üretici yazılımı ürünün platformu için geçerli olmadığından teklif reddedildi. Bunun nedeni, desteklenmeyen bir bileşen kimliği veya sunulan görüntünün sistem donanımıyla uyumlu olmaması olabilir. |
| 0x02 | FIRMWARE_GÜNCELLEME_TEKLİFİ DEĞİŞİM_BEKLEMEDE | Bileşen üretici yazılımı güncelleştirildi fakat yeni üretici yazılımına geçiş bekleniyor. Yazılım güncellemesi işlemi, değiştirme işlemi tamamlanana kadar, genellikle sıfırlama yoluyla, gerçekleşemez. |
| 0x03 - 0x08 | (Ayrılmış) | Rezerve Kullanma. |
| 0x09 - 0xDF | (Ayrılmış) | Rezerve Kullanma. |
| 0xE0 - 0xFF | (Satıcıya Özgü) | Bu değerler protokol tasarımcıları tarafından kullanılır ve anlamı satıcıya özgüdür. |
5.2.2.4 Durumu
Tablo 5.2-14 FIRMWARE_UPDATE_OFFER Yanıt Durumu Düzeni
Yanıt Durumu Düzeni FIRMWARE_UPDATE_OFFER 
Durum baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.2-15 FIRMWARE_UPDATE_OFFER Yanıtı - Durum Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Durum | 8 | Bu değer, bileşenin teklifi kabul etme, bekletme, atlama veya reddetme kararını gösterir. Bileşen, RR Kodu alanındaki değerin nedenini sağlar. Durum-RR Kodu eşlemesi için bkz. Tablo 5.2-16. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
Durum bayt için olası değerler bu tabloda açıklanmıştır.
Tablo 5.2-16 FIRMWARE_UPDATE_OFFER Yanıt Durumu Değerleri
| Durum | Ad | Açıklama |
|---|---|---|
| 0x00 | FIRMWARE_GÜNCELLEME_TEKLİFİ_ATLA | Bileşen teklifi atlama kararı aldı. Ev sahibinin daha sonra tekrar teklif etmesi gerekir. |
| 0x01 | FIRMWARE GÜNCELLEME TEKLİFİNİ KABUL ET | Bileşen teklifi kabul etmeye karar verdi. |
| 0x02 | Donanım Yazılımı Güncelleme Teklifini Reddet | Bileşen teklifi reddetmeye karar verdi. |
| 0x03 | FIRMWARE_GÜNCELLEME_TEKLİF_MEŞGUL | Cihaz meşgul, ve ana bilgisayar cihaz hazır olana kadar beklemelidir. |
| 0x04 | FIRMWARE_GÜNCELLEME_TEKLİF_KOMUTU | Bileşen Bilgileri baytlarındaki Bileşen Kimliği (bkz. 5.1.2.1.1 Bileşen Bilgileri) 0xFE olarak ayarlandığında kullanılır. Komut Kodu OFFER_NOTIFY_ON_READY isteği olarak ayarlandığında aksesuarın ek teklifleri kabul etmeye hazır olduğunu gösterir. |
| 0xFF | FIRMWARE_GÜNCELLEME_KOMUTU_DESTEKLENMİYOR | Teklif isteği tanınmıyor. |
5.2.3 HID Protokolüne Eşleme
Mesaj, üretici yazılım güncellemesi için ayrılmış HID Yardımcı Rapor Kimliği kullanılarak HID Çıktı Raporu mekanizmasıyla bileşene iletilir. Ekte açıklanan kullanılacak HID Yardımcı Programı TLC'sini seçin.
5.3 FIRMWARE_UPDATE_OFFER - Bilgi
Bileşen Bilgileri baytlarındaki Bileşen Kimliği (bkz. Bileşen Bilgileri) 0xFF olarak ayarlandıysa, 15 baytlık bitler ana bilgisayardan bileşene yalnızca Teklif Bilgileri'ni göstermek için yeniden tanımlanır. Bu mekanizma, genişletilebilirlik ve Konağın cihaza Teklif Listesini Başlat, Teklif Listesini Sonlandır, İşlemin Tamamını Başlat gibi belirli bilgileri sağlaması için bir yol sağlar. Teklif Bilgileri paketleri her zaman bileşen tarafından hemen Kabul Edilir.
5.3.1 Komutu
FIRMWARE_UPDATE_OFFER -Information Komut paketi aşağıdaki gibi tanımlanır:
Tablo 5.3-1 FIRMWARE_UPDATE_OFFER - Bilgi Komut Düzeni
5.3.1.1 Bileşeni
Tablo 5.3-2 FIRMWARE_UPDATE_OFFER - Bilgi Komutu - Bileşen Düzeni
Bileşen baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.3-3 FIRMWARE_UPDATE_OFFER - Bilgi Komutu - Bileşen Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Bilgi Kodu | 8 | Bu değer, bilgi türünü gösterir. Bu değer bit maskesi değildir ve Tablo 5.3-4'te açıklanan olası değerlerden yalnızca biri olabilir. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Bileşen Kimliği | 8 | 0xFF olarak ayarlayın. |
| 24 | Jeton | Ana bilgisayar, teklif paketine bileşen için benzersiz bir belirteç ekler. Bu belirteç, teklif yanıtında bileşen tarafından döndürülmelidir. |
Tablo 5.3-4 FIRMWARE_UPDATE_OFFER - Bilgi Komutu - Bilgi Kodu Değerleri
| Durum | Ad | Açıklama |
|---|---|---|
| 0x00 | TEKLİF_BİLGİSİ_BAŞLANGIÇ_TÜM_İŞLEM | Sunucunun yeni olduğunu veya yeniden yüklendiğini ve tüm teklif işlemenin (yeniden) başladığını gösterir. |
| 0x01 | OFFER_INFO_START_OFFER_LIST | Aksesuarın, sistemdeki bir alt bileşenin başka bir alt bileşenden önce güncellenmesini sağlamak için indirme kuralları olması durumunda, ana bilgisayardan Teklif listesinin başlangıcını gösterir. |
| 0x02 | Teklif Bilgisi - Teklif Listesi Sonu | Ev sahibinden gelen Teklif listesinin sonunu gösterir. |
5.3.1.2 Ayrılmış B7 - B4
Rezerve Kullanma.
5.3.1.3 Ayrılmış B11 - B8
Rezerve Kullanma.
5.3.1.4 Ayrılmış B15 - B12
Rezerve Kullanma.
5.3.2 Yanıtı
FIRMWARE_UPDATE_OFFER - Teklif Bilgileri Yanıt paketi yanıtı aşağıdaki gibi tanımlanır.
Tablo 5.3-5 FIRMWARE_UPDATE_OFFER - Bilgi Yanıt Düzeni
5.3.2.1 Jeton
Tablo 5.3-6 FIRMWARE_UPDATE_OFFER- Bilgi Paketi Yanıt Belirteci Düzeni
Belirteç baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.3-7 FIRMWARE_UPDATE_OFFER - Bilgi Yanıtı - Belirteç Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Rezerve | 8 | Rezerve Kullanma. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Rezerve | 8 | Rezerve Kullanma. |
| 24 | Jeton | 8 | Ana bilgisayarı tanımlamak için belirteç |
5.3.2.2 Ayrılmış B7 - B4
Rezerve Kullanma.
5.3.2.3 Reddetme Nedeni (RR)
Tablo 5.3-8 FIRMWARE_UPDATE_OFFER - Bilgilendirme Yanıtı - RR Kod Düzeni
Reddetme Nedeni baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.3-9 FIRMWARE_GÜNCELLEME_TEKLİFİ- Teklif Bilgileri Yanıtı - RR Kod Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | RR Kodu | 8 | Teklifi reddetmek için bileşen tarafından sağlanan nedeni gösteren Reddetme Nedeni Kodu. Olası değerler Tablo 5.3-10'da açıklanmıştır. Bu değer Durum alanına bağlıdır. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
RR Kodu bayt için olası değerler bu tabloda açıklanmıştır.
Tablo 5.3-10 FIRMWARE_UPDATE_OFFER- Bilgi Cevabı - RR Kod Değerleri
| RR Kodu | Ad | Açıklama |
|---|---|---|
| 0x00 | FIRMWARE_TEKLİFİ_RED_ET_ESKİ_FW | Sunulan üretici yazılımının sürümü geçerli üretici yazılımıyla daha eski veya aynı olduğundan teklif reddedildi. |
| 0x01 | FIRMWARE_OFFER_REJECT_INV_COMPONENT | Sunulan üretici yazılımı ürünün platformu için geçerli olmadığından teklif reddedildi. Bunun nedeni, desteklenmeyen bir bileşen kimliği veya sunulan görüntünün sistem donanımıyla uyumlu olmaması olabilir. |
| 0x02 | FIRMWARE_GÜNCELLEME_TEKLİFİ DEĞİŞİM_BEKLEMEDE | Bileşen üretici yazılımı güncelleştirildi fakat yeni üretici yazılımına geçiş bekleniyor. Yazılım güncellemesi işlemi, değiştirme işlemi tamamlanana kadar, genellikle sıfırlama yoluyla, gerçekleşemez. |
| 0x03 - 0x08 | (Ayrılmış) | Rezerve Kullanma. |
| 0x09 - 0xDF | (Ayrılmış) | Rezerve Kullanma. |
| 0xE0 — 0xFF | (Satıcıya Özgü) | Bu değerler protokol tasarımcıları tarafından kullanılır ve anlamı satıcıya özgüdür. |
5.3.2.4 Durumu
5.3-11 No'lu Tablo FIRMWARE_UPDATE_OFFER - Teklif Bilgisi Yanıt Durumu Düzeni
Durum baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.3-12 FIRMWARE_UPDATE_OFFER - Teklif Bilgileri - Yanıt Durumu Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Durum | 8 | Bu alan FIRMWARE_UPDATE_OFFER_ACCEPT olarak ayarlanmalıdır. Bu, bileşenin teklifi kabul etmeye karar vermiş olduğunu gösterir. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
5.4 FIRMWARE_UPDATE_OFFER - Genişletilmiş
Bileşen Bilgileri baytlarındaki Bileşen Kimliği 0xFE olarak ayarlanırsa, ana bilgisayardan cihaz üretici yazılımına Teklif Komutu'na işaret etmek için bitler (15 bayt) yeniden tanımlanır. Bu mekanizma, genişletilebilirlik ve konağın cihaza belirli bilgiler sağlaması için bir yol sağlar. Teklif Komutu paketleri, bileşen Kabul Edildi yanıt vermeye hazır olduğunda döndürülür.
5.4.1 Komutu
Bileşen Bilgileri baytlarındaki Bileşen Kimliği 0xFE olarak ayarlanırsa, dört DWORD aşağıdaki gibi yeniden tanımlanır:
Tablo 5.4-1 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Düzeni
5.4.1.1 Bileşeni
Tablo 5.4-2 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Paketi - Komut - Bileşen Düzeni
Bileşen baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.4-3 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut - Bileşen Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Komut Kodu | 8 | Bu değer komutun türünü gösterir. Bu değer bit maskesi değildir ve Tablo 5.4-4'te açıklanan olası değerlerden yalnızca biri olabilir. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Bileşen Kimliği | 8 | 0xFE olarak ayarlayın. |
| 24 | Jeton | Ana bilgisayar, teklif paketine bileşen için benzersiz bir belirteç ekler. Bu belirteç, teklif yanıtında bileşen tarafından döndürülmelidir. |
Tablo 5.4-4 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut - Komut Kodu Değerleri
| Durum | Ad | Açıklama |
|---|---|---|
| 0x01 | TEKLİF_HAZIR_OLDUĞUNDA_BİLDİR | Teklif daha önce bileşen tarafından reddedildiyse konak tarafından gönderilir. |
| 0x02 - 0xFF | Rezerve | Rezerve |
5.4.1.2 Ayrılmış B7 - B4
Rezerve Kullanma.
5.4.1.3 Ayrılmış B11 - B8
Rezerve Kullanma.
5.4.1.4 Ayrılmış B15 - B12
Rezerve Kullanma.
5.4.2 Yanıtı
Cihazdan FIRMWARE_UPDATE_OFFER - Teklif Komutunun yanıtı hemen alınamayabilir. Yanıt aşağıdaki gibi tanımlanır.
Tablo 5.4-5 FIRMWARE_UPDATE_OFFER - Genişletilmiş Komut Paketi Yanıt Düzeni
5.4.2.1 Jeton
Tablo 5.4-6 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi Yanıtı - Belirteç Düzeni
Belirteç baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.4-7 FIRMWARE_UPDATE_OFFER - Teklif Komutu Yanıtı - Belirteç Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Rezerve | 8 | Rezerve Kullanma. |
| 8 | Rezerve | 8 | Rezerve Kullanma. |
| 16 | Rezerve | 8 | Rezerve Kullanma. |
| 24 | Jeton | 8 | Ana bilgisayarı tanımlamak için belirteç. |
5.4.2.2 Ayrılmış B7 - B4
Rezerve Kullanma.
5.4.2.3 Reddetme Nedeni
Tablo 5.4-8 FIRMWARE_UPDATE_OFFER - Teklif Bilgileri Paket Yanıtı RR Düzeni
Reddetme Nedeni baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.4-9 FIRMWARE_UPDATE_OFFER- Teklif Komut Cevabı - RR Kodu
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | RR Kodu | 8 | Bu değer Durum alanına bağlıdır. Olası RR Kodu değerleri için bkz. Tablo 5.4-10. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
RR Kodu bayt için olası değerler bu tabloda açıklanmıştır.
Tablo 5.4-10 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi - RR Kod Değerleri
| RR Kodu | Ad | Açıklama |
|---|---|---|
| 0x00 | FIRMWARE_TEKLİFİ_RED_ET_ESKİ_FW | Sunulan üretici yazılımının sürümü geçerli üretici yazılımıyla daha eski veya aynı olduğundan teklif reddedildi. |
| 0x01 | FIRMWARE_OFFER_REJECT_INV_COMPONENT | Sunulan üretici yazılımı ürünün platformu için geçerli olmadığından teklif reddedildi. Bunun nedeni, desteklenmeyen bir bileşen kimliği veya sunulan görüntünün sistem donanımıyla uyumlu olmaması olabilir. |
| 0x02 | FIRMWARE_GÜNCELLEME_TEKLİFİ DEĞİŞİM_BEKLEMEDE | Bileşen üretici yazılımı güncelleştirildi fakat yeni üretici yazılımına geçiş bekleniyor. Yazılım güncellemesi işlemi, değiştirme işlemi tamamlanana kadar, genellikle sıfırlama yoluyla, gerçekleşemez. |
| 0x03 - 0x08 | (Ayrılmış) | Rezerve Kullanma. |
| 0x09 - 0xDF | (Ayrılmış) | Rezerve Kullanma. |
| 0xE0 — 0xFF | (Satıcıya Özgü) | Bu değerler protokol tasarımcıları tarafından kullanılır ve anlamı satıcıya özgüdür. |
5.4.2.4 Durumu
Tablo 5.4-11 FIRMWARE_UPDATE_OFFER - Teklif Komut Paketi Yanıt Durumu Düzeni
Durum baytının bitleri bu tabloda açıklanmıştır.
Tablo 5.4-12 FIRMWARE_UPDATE_OFFER - Teklif Komut Paketi Yanıtı RR Kodu
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Durum | 8 | Bu alan FIRMWARE_UPDATE_OFFER_ACCEPT olarak ayarlanmalıdır. Bu, bileşenin teklifi kabul etmeye karar vermiş olduğunu gösterir. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
5,5 FIRMWARE_UPDATE_CONTENT
Ana bilgisayar, üretici yazılımı içeriğini (üretici yazılımı görüntüsü) sağlamak için bu komutu cihaz üretici yazılımına gönderir. Görüntü dosyasının tamamının tek bir komuta sığmamış olması beklenir. Konağın görüntüyü daha küçük bloklara ayırması gerekir ve her komut aynı anda görüntünün bir bloğunu gönderir.
Her komutta ana bilgisayar, üretici yazılımının ilk bloğu, son bloğu vb. olup olmadığına dair ek bilgileri belirtir. Cihaz üretici yazılımının birincil bileşeni, gelen üretici yazılımı görüntüsünün her bloğunu kabul eder, bunu belleğinde depolar ve her komuta ayrı ayrı yanıt vermesi gerekir.
Birincil bileşen son bloğu aldığında, bileşen üretici yazılımı görüntüsünün tamamını doğrular (CRC denetimi, imza doğrulaması). Bu denetimlerin sonuçlarına bağlı olarak, son blok için uygun bir yanıt (başarısızlık veya başarı) döndürür.
5.5.1 Komut
Tablo 5.5-1 FIRMWARE_UPDATE_CONTENT Komut Düzeni
5.5.1.1 Başlık (B7 - B0)
Tablo 5.5-2 FIRMWARE_UPDATE_CONTENT Komut Üst Bilgisi Düzeni
FIRMWARE_UPDATE_CONTENT Komut Üst Bilgisi Düzeni. 
FIRMWARE_UPDATE_CONTENT Başlığının bölümleri bu tabloda açıklanmıştır.
Tablo 5.5-3 FIRMWARE_UPDATE_CONTENT Üst Bilgi Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Bayrak | 8 | Bu alan, komut hakkında ek bilgi sağlar. Bu değer, veri aktarımları için kullanılacak bayrak maskesidir. Olası değerler Tablo 5.5-4'te açıklanmıştır. |
| 8 | Veri Uzunluğu | 8 | Yazılacak bayt sayısını gösteren geçerli Veri alanının uzunluğu. Bu komutun boyutu göz önüne alındığında, uzunluk için izin verilen en yüksek değer 52 bayttır. |
| 16 | Sıra Numarası | 16 | Bu değer konak tarafından oluşturulur ve verilen her içerik paketi için benzersizdir. Bileşenin bu isteğe yanıt olarak sıra numarasını döndürmesi gerekir. |
| 32 | Üretici Yazılımı Adresi | 32 | Little Endian (LSB First) Verinin yazılacağı adres. Adres 0 tabanlıdır. Üretici yazılımı, görüntüyü belleğe yerleştirirken gereken adresi belirlemek için bunu uzaklık olarak kullanır. |
Bayraklar bayt için olası değerler bu tabloda açıklanmıştır.
Tablo 5.5-4 FIRMWARE_UPDATE_OFFER- Teklif Komut Paketi - Bayrak Değerleri
| Bayrak | Ad | Açıklama |
|---|---|---|
| 0x80 | FIRMWARE GÜNCELLEME BAYRAĞI İLK BLOK | Bu işaret, bunun üretici yazılımı görüntüsünün ilk bloğu olduğunu gösterir. |
| 0x40 | FIRMWARE_UPDATE_FLAG_LAST_BLOCK (Ünite Güncelleme Bayrağı Son Blok) | Bu bayrak, bunun üretici yazılımı görüntüsünün son bloğu olduğunu ve görüntünün doğrulanması için hazır olduğunu gösterir. Bileşendeki mevcut ürün yazılımının, bu bloğu kalıcı belleğe yazdıktan sonra indirilen ürün yazılımı imajının tamamında doğrulama gerçekleştirmesi önemlidir. |
5.5.1.2 Verileri
Tablo 5.5-5 FIRMWARE_UPDATE_CONTENT Komut Veri Düzeni
FIRMWARE_UPDATE_CONTENT Verilerinin bitleri bu tabloda açıklanmıştır.
Tablo 5.5-6 FIRMWARE_UPDATE_CONTENT Komut VeriSi Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 64 | Veri | En fazla 52. | Yazılacak olan bayt dizisi. Ana bilgisayar genellikle ürün mimarisine göre 4 baytlık bloklar gönderir. Sonunda kullanılmayan tüm baytlar 0 ile doldurulmalıdır. |
5.5.2 Yanıtı
Tablo 5.5-7 FIRMWARE_UPDATE_CONTENT Komut Yanıtı Düzeni
FIRMWARE_UPDATE_CONTENT Komut Yanıtı Düzeni 
5.5.2.1 Sıra Numarası
Tablo 5.5-8 FIRMWARE_UPDATE_CONTENT Yanıtı - Sıra Numarası
FIRMWARE_UPDATE_CONTENT Yanıtının (3-0) bitleri bu tabloda açıklanmıştır.
Tablo 5.5-9 FIRMWARE_UPDATE_CONTENT - Komut - Yanıt Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Sıra Numarası | 16 | Bu alan, istekteki sunucu tarafından gönderilen sıra numarasıdır. |
| 16 | Rezerve | 16 | Rezerve Kullanma. |
5.5.2.2 Durumu
Tablo 5.5-10 FIRMWARE_UPDATE_CONTENT Yanıt Durumu Düzeni
FIRMWARE_UPDATE_CONTENT Yanıtının (7-4) bitleri bu tabloda açıklanmıştır.
Tablo 5.5-11 FIRMWARE_UPDATE_OFFER - Yanıt - Durum Bitleri
| Bit Uzaklığı | Alan | Boyut | Açıklama |
|---|---|---|---|
| 0 | Durum | 8 | Bu değer, cihaz bileşeni tarafından döndürülen durum kodunu gösterir. Bu bit düzeyinde değildir ve Tablo 5.5-12'de açıklanan değerlerden biri olabilir. |
| 8 | Rezerve | 24 | Rezerve Kullanma. |
Durum bayt için olası değerler bu tabloda açıklanmıştır.
Tablo 5.5-12 FIRMWARE_UPDATE_OFFER- Yanıt - Durum Kodu Değerleri
| Bayrak | Ad | Açıklama |
|---|---|---|
| 0x00 | FİRMWARE GÜNCELLEMESİ BAŞARILI | İstek başarıyla tamamlandı. |
| 0x01 | FİRMWARE_GÜNCELLEME_HATASI_HAZIRLAMA | Bileşen, üretici yazılımının içeriğini almaya hazır değildi. Kullanılırsa, bu kod genellikle ilk bloğun yanıtında kullanılır. Örneğin, flash'ta silme hatası. |
| 0x02 | FIRMWARE_GÜNCELLEME_HATASI_YAZMA | İstek baytları yazamadı. |
| 0x03 | ÜRÜN YAZILIMI GÜNCELLEME HATASI TAMAMLANDI | İstek, FIRMWARE_UPDATE_FLAG_LAST_BLOCK yanıtı doğrultusunda değişim işlemini ayarlayamadı. |
| 0x04 | FİRMWARE_GÜNCELLEME_HATASI_DOĞRULA | DWORD doğrulaması, FIRMWARE_UPDATE_FLAG_VERIFY yanıt olarak başarısız oldu. |
| 0x05 | FIRMWARE_GÜNCELLEME_HATASI_CRC | Üretici yazılımı görüntüsünün CRC'si, FIRMWARE_UPDATE_FLAG_LAST_BLOCK yanıtında başarısız oldu. |
| 0x06 | FIRMWARE GÜNCELLEME HATASI İMZASI | Üretici yazılımı imzası doğrulaması, FIRMWARE_UPDATE_FLAG_LAST_BLOCK yanıtında başarısız oldu. |
| 0x07 | FIRMWARE GÜNCELLEME HATASI - SÜRÜM | FIRMWARE_UPDATE_FLAG_LAST_BLOCK'a yanıt olarak, ürün yazılımı sürümü doğrulaması başarısız oldu. |
| 0x08 | FIRMWARE_UPDATE_SWAP_PENDING (Firmware güncellemesi değişimi beklemede) | Üretici yazılımı zaten güncelleştirildi ve değiştirme işlemi bekleniyor. Aksesuar sıfırlanana kadar başka Üretici Yazılımı Güncelleştirme komutları kabul edilemez. |
| 0x09 | DONANIM_YAZILIM_GUNCELLEME_HATASI_GECERSIZ_ADRES | Üretici yazılımı, ileti veri içeriğinde geçersiz bir hedef adres algılamıştır. |
| 0x0A | ÜRÜN YAZILIMI_GÜNCELLEME_HATASI_TEKLİF_YOK | FIRMWARE_UPDATE_OFFER Komutu, önce geçerli ve kabul edilen bir üretici yazılımı güncelleştirme teklifi alınmadan alındı. |
| 0x0B | FIRMWARE_GÜNCELLEME_HATASI_GEÇERSİZ | FIRMWARE_UPDATE_OFFER Komutu için geçersiz bir geçerli Veri Uzunluğu gibi genel bir hata. |
5.5.2.3 Ayrılmış B8 - B11
Rezerve Kullanma.
5.5.2.4 Ayrılmış B12 - B15
Rezerve Kullanma.
6 Ek 1: Örnek Üretici Yazılımı Güncelleştirme Programlama Komut Dizisi
6.1 Örnek 1
Aşağıdaki cihaz üretici yazılımını göz önünde bulundurun:
Birincil Bileşen - Bileşen Kimliği 1 - Geçerli firmware sürümü 7.0.1
Alt Bileşen - Bileşen Kimliği 2 - Geçerli firmware sürümü 12.4.54
Alt Bileşen - Bileşen Kimliği 3 - Geçerli üretici yazılımı sürümü 4.4.2
Alt Bileşen - Bileşen Kimliği 4 - Geçerli donanım yazılımı sürümü 23.32.9
Ana bilgisayar şu üç üretici yazılımı görüntüsüne sahiptir:
Bileşen Kimliği 1 - Üretici yazılımı sürümü 7.1.3
Bileşen Kimliği 2 - Üretici yazılımı sürüm 12.4.54
Bileşen Kimliği 3 - Firmware sürümü 4.5.0
Sıra şu şekilde olacaktır:
Sunucu teklifleri: Bileşen Kimliği 1 - Üretici yazılımı sürümü 7.1.3
Birincil bileşen teklifi kabul eder
Sunucu üretici yazılımı görüntüsünü gönderir
Üretici yazılımını kabul eden ve doğrulayan birincil bileşen
Sunucu teklifleri: Bileşen Kimliği 2 - Üretici yazılımı sürümü 12.4.54
Birincil bileşen teklifi reddeder
Konak teklifleri: Bileşen Kimliği 3 - Üretici yazılımı sürümü 4.5.0
Birincil bileşen teklifi kabul eder
Sunucu üretici yazılımı görüntüsünü gönderir
Üretici yazılımını kabul eden ve doğrulayan birincil bileşen
Tüm teklifler reddedilmediği için, ev sahibi tüm teklifleri yeniden gösteriyor.
Sunucu teklifleri: Bileşen Kimliği 1 - Üretici yazılımı sürümü 7.1.3
Bileşen reddediyor
Sunucu teklifleri: Bileşen Kimliği 2 - Üretici yazılımı sürümü 12.4.54
Bileşen reddediyor
Konak teklifleri: Bileşen Kimliği 3 - Üretici yazılımı sürümü 4.5.0
Bileşen reddediyor
6.2 Örnek 2
Aşağıdaki cihaz üretici yazılımını göz önünde bulundurun:
Birincil Bileşen - Bileşen Kimliği 1 - Geçerli firmware sürümü 7.0.1
Alt Bileşen - Bileşen Kimliği 2 - Geçerli firmware sürümü 12.4.54
Alt Bileşen - Bileşen Kimliği 3 - Geçerli üretici yazılımı sürümü 7.4.2
Alt Bileşen - Bileşen Kimliği 4 - Geçerli donanım yazılımı sürümü 23.32.9
Ana bilgisayar şu üç üretici yazılımı görüntüsüne sahiptir:
Bileşen Kimliği 1 - Üretici yazılımı sürümü 8.0.0
Bileşen Kimliği 2 - Üretici yazılımı sürüm 12.4.54
Bileşen Kimliği 3 - Üretici yazılımı sürümü 9.0.0
Buna ek olarak, uygulama alt bileşenlerin üretici yazılımı sürümünün birincil bileşende çalışan üretici yazılımı sürümünden küçük olmamasını gerektirir. Ev sahibi bu gereksinimin farkında değildir ve bu kuralın sağlanması için birincil bileşen up-to'dır.
Sıra şu şekilde olacaktır:
Sunucu teklifleri: Bileşen Kimliği 1 - Üretici yazılımı sürümü 8.0.0
Birincil bileşen reddeder (bileşen kimliği 3 henüz güncelleştirilmediğinden)
Sunucu teklifleri: Bileşen Kimliği 2 - Üretici yazılımı sürümü 12.4.54
Birincil bileşen reddeder
Sunucu seçenekleri: Bileşen Kimliği 3 - Üretici yazılımı sürümü 9.0.0
Birincil bileşen teklifi kabul eder
Sunucu üretici yazılımı görüntüsünü gönderir
Üretici yazılımını kabul eden ve doğrulayan birincil bileşen
Tüm teklifler reddedilmediği için, sunucu tüm teklifleri tekrar gösteriyor.
Sunucu teklifleri: Bileşen Kimliği 1 - Üretici yazılımı sürümü 8.0.0
Birincil bileşen teklifi kabul eder
Sunucu üretici yazılımı görüntüsünü gönderir
Üretici yazılımını kabul eden ve doğrulayan birincil bileşen
Sunucu teklifleri: Bileşen Kimliği 2 - Üretici yazılımı sürümü 12.4.54
Birincil bileşen reddeder
Sunucu seçenekleri: Bileşen Kimliği 3 - Üretici yazılımı sürümü 9.0.0
Birincil bileşen reddeder