Bir cihaz koşusunun beklenen cevabı vermemesi, koşunun başarısız olduğu anlamına gelmez. R1 aradığı kimliği bulamadı ama zincirde eksik bir ön koşulu ve kendi kodumuzdaki bir kusuru ortaya çıkardı; ikisi de ancak gerçek donanımda görülebilirdi.
R12026-09-06
Sorulan: Çipin iç veri yoluna ulaşabiliyor muyuz? Beklenen cevap CHIPID=0x4345.
Cevap: Cevap gelmedi — ve gelmemesinin sebebi zincirdeki gerçek bir eksiği ortaya çıkardı. Bu bir RED değil, teşhis.
Wi-Fi çipi hiç beslenmemiş
CMD0 ve CMD5 tamamlandı ama cevap tamamen sıfırdı: OCR=0, FUNCS=0, READY=0. Denetleyici sağlıklıydı. Teşhisi PSTATE=0x000f0000 verdi — CARD_INSERTED=1 ve CARD_STATE_STABLE=1, ama DAT[3:0] ve CMD hatlarının hepsi düşük. Beslenmeyen bir çipin imzası. Sebep DTB'de yazıyordu ve atlanmıştı: sdio2'nin vmmc-supply'ı wl_on_reg, o da GPIO hat 28 (WL_ON), aktif-yüksek, 150 ms başlangıç gecikmesiyle. Wi-Fi yuvasının beslemesi bir GPIO regülatörü; hattı sürmeden CMD5 sormak kapalı bir cihaza soru sormaktır.
GPIO canlılık kapısı yanlış kayda bakıyordu
Bluetooth tarafında BT_ON sürülemedi ve suç bizimdi. gpio_write_allowed() IODIR=0xffffffff okuyup pencereyi ölü saydı. Yanlıştı: IODIR bir YÖN kaydıdır ve hepsi bir olması 'hepsi giriş' demektir — bir GPIO bankasının tamamen normal açılış durumu. Pencerenin canlı olduğunun kanıtı aynı satırda duruyordu: DATA=0x00500002, karışık bir desen ve S1 sensör koşusunda birebir aynı değer. İki bağımsız koşuda aynı çıkan karışık bir değer canlılık kanıtıdır. Karar artık yalnızca DATA'ya bakıyor.
Doğru çalışanlar
- SDHCI denetleyicisi sağlıklı okundu: VER=0x1002, makul CAPS, ölü pencere yok.
- Backplane basamağı hazır olmayan karta CMD3 göndermek yerine ATLADI ve nedenini yazdı: SKIPPED=1 REASON=CMD5_NOT_READY. Fail-closed çalıştı.
- BT UART penceresi canlı: DEAD_WINDOW=0, LSR=0x60.
- Ekran ve arayüz etkilenmedi: SCREEN0 ve TOUCHREADY geldi.
- Firmware kartta durdu ve okunmadı — CMD53 hâlâ yok.
imaj a655bddc50219b303274121bb0b81a80888eeffb5557a6fea6f67096709e47cb
kanıt evidence/rpi5/radio/attempt-r1-backplane-gate-uart-capture/
R22026-09-06
Sorulan: R1'in bulduğu eksik giderildi. WL_ON sürülünce çip cevap veriyor mu?
Cevap: Düzeltmeler çalıştı ve ölçülebilir bir fiziksel etki üretti — ama iki radyo da hâlâ sessiz. Bu koşu sebebi ölçülebilir tek bir soruya indirgedi.
Güç geldi, veri hatları hareket etti, cevap yine yok
WIFIPWR ASSERTED=1 ve tam olarak bizim bitimiz uygulandı; BT_ON'a dokunulmadı. PSTATE 0x000f0000'dan 0x006f0000'a çıktı — DAT[3:0] 0000 iken 0110 oldu, yani WL_ON gerçekten bir şeyi besledi. BT tarafında UART programlandı (bölen 52) ve HCI Reset'in dört baytı da gönderildi (TX=4, LSR=0x60). Buna rağmen Wi-Fi CMD5'e OCR=0 döndü ve Bluetooth 500 ms boyunca tek bayt göndermedi.
Ölçülebilir hâle gelen hipotez: pin mux hiç uygulanmıyor
DTB, sdio2_30_pins için gpio30–35'in 'sd2', uarta_24_pins için gpio24–27'nin 'uart0' fonksiyonunda olmasını istiyor. ON hatlarının çalışması gpio28/29'un 'gpio' fonksiyonunda olduğunu kanıtlar, ama veri pinleri bilinmiyordu: pinctrl@7d504100 sayfası hiçbir profilde haritalı değildi, yani ne uygulanabiliyor ne okunabiliyordu. Bağlanmamış bir pede yazan sürücü, ölü bir karşı taraftan ayırt edilemez. Blok 0x30 bayt = 12 kelime; salt okuma bir envanter her pinin fonksiyonunu söyler ve bu koşudan sonra eklendi.
Kendi ölçümümüzdeki kusur: giriş hattı dalgalanması yazma sayıldı
BITS=3 çıktı, 2 bekleniyordu. Değişenlerden ikisi bizimdi (IODIR ve DATA'da bit 29 = BT_ON), üçüncüsü bit 31 = WIFI_SDIO_CMD — bir GİRİŞ hattı, okuma ile geri-okuma arasında kendiliğinden değişti. Ayrıca çip güçlenince bit 24–27 (BT UART pinleri) yükseldi. Tek bir bits_changed sayısı, giriş hatlarının doğal hareketini bizim yazmamızla aynı kefeye koyuyordu. Metrik ikiye ayrıldı: own_bit_applied ve foreign_data_bits / foreign_iodir_bits.
Doğru çalışanlar
- GPIO canlılık kapısının R1'de yapılan düzeltmesi doğrulandı: LIVE=0 iken LIVE=1 oldu.
- Her iki ON hattı da tam olarak bir bit sürüldü, komşu hatta dokunulmadan.
- Backplane basamağı yine atladı ve nedenini yazdı: REASON=CMD5_NOT_READY.
- Ekran ve arayüz etkilenmedi.
- Firmware kartta durdu ve okunmadı — CMD53 hâlâ yok.
imaj f3b97d5ee996277912c4311378b5f38bcd77fb8e60b40fb1fcd68b8bdf457c55
kanıt evidence/rpi5/radio/attempt-r2-wl-on-power-uart-capture/
R32026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: R2'nin hipotezi doğru mu — pedler çevre birimlerine bağlı mı?
Cevap: Doğrulandı. İki radyonun da sessiz kalmasının sebebi kesin olarak biliniyor: pedler bağlı değildi.
BT UART'ın dört pini de gpio fonksiyonundaydı, uart0 değil
gpio24–27 (BT_RTS/CTS/TXD/RXD) fsel=0 okuyor, yani gpio. DTB uart0 istiyor ve bunun için gereken fsel 3 ya da 4. Dört baytlık HCI Reset gerçekten gönderildi (TX=4, LSR=0x60 = verici boş) ama UARTA'nın çıkışı pedlere bağlı değildi. Gönderilen baytlar hiçbir yere gitmedi.
SDIO'nun saat ve komut hatları da bağlı değildi
gpio30 (WIFI_SDIO_CLK) ve gpio31 (WIFI_SDIO_CMD) fsel=0 okuyor. CLK ve CMD bağlanmadan SDIO veri yolu hiç çalışamaz; veri hatlarının durumu bunu değiştirmez. CMD5'in sıfır cevabı tamamen açıklandı.
fsel=0'ın gpio olduğu tahminle değil iki bağımsız kanıtla belirlendi
Ölçüm: gpio28 (WL_ON) ve gpio29 (BT_ON) 0 okuyor ve R2'de ikisi de fiziksel olarak çipleri besledi. Kaynak: pinctrl-bcm2712.c içinde fsel_set, funcs[i-1] == func için fsel = i atıyor ve i birden başlıyor, yani 0 func_gpio için ayrılmış. Yol boyunca bir çıkarım hatası yapıldı ve düzeltildi: envanter SDIO_UNIFORM=0 deyince alan yerleşimi varsayımının yanlış olduğu sanıldı; gerçek sürücü kaynağı yerleşimin baştan doğru olduğunu gösterdi. Yanlış olan 'grup tekdüze olmalı' çıkarımıydı — grup tekdüze değildi ve bu, hatanın kendisi değil bulgunun kendisiydi.
Açıklanamayan: gpio32 ve gpio33 aralık dışı okuyor
İkisi de 9 okuyor; BCM2712_FSEL_COUNT 9, yani geçerli aralık 0–8. gpio34/35 ise vc_spi3 çözülüyor. Bu üç değer açıklanamıyor ve uydurulmuyor. Sonucu değiştirmiyorlar: CLK ve CMD bağlanmadan veri hatlarının ne olduğu önemsiz.
Doğru çalışanlar
- Yeni GPIO metriği ilk kez ayrımı gösterdi: WIFIPWR FOREIGN_DATA=0x00000000 tertemiz; BTHCI FOREIGN_DATA=0x80000000 ve o bit 31 = WIFI_SDIO_CMD, bir GİRİŞ hattı. R2'de bu 'üç bit değişti' diye okunuyordu.
- Envanter sıfır yazdı (WRITES=0) ve pencerenin canlı olduğunu bildirdi.
- Backplane basamağı yine atladı ve nedenini yazdı.
imaj 3bd06ec5fd7e58e9211e44e1e346440d7ca9ad94278a368e70e295a935cf3270
kanıt evidence/rpi5/radio/attempt-r3-pinmux-inventory-uart-capture/
R42026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Pedler çevre birimlerine bağlanabilir mi?
Cevap: Sekiz pin kabul edildi, iki pin donanım tarafından reddedildi — ve reddedilenler tam olarak SDIO'nun en kritik iki hattı.
8/10 tuttu; CLK ve CMD yazdırtmadı
gpio24–27 (BT UART) ve gpio32–35 (SDIO D0–D3) istenen değerleri aldı. gpio30 (WIFI_SDIO_CLK) ve gpio31 (WIFI_SDIO_CMD) 0 kaldı. Kelimeye tek bir 32-bit store yazıldı (0x44004443); alt 16 bit tuttu, üst 8 bit tutmadı. Aynı bloktaki komşu kelime yazmayı tamamen kabul etti. Sebebi bilinmiyor ve uydurulmuyor. CLK ve CMD bağlanmadan SDIO veri yolu çalışamaz.
Güvenlik kapıları temiz raporladı — ama yanlış yerleşimi göremediler
UNPLANNED=0x00000000 ve REF_INTACT=1 çıktı. İkisi de C0 kelime haritasına dayanıyordu ve bu kart D0. Aynı makbuz satırında W4=0x15555699->0x15553434 duruyor: kelime 4 gerçekten değişti ve hiçbir kapı bunu yakalamadı — D0'da orası boot SPI pad/pull kaydıdır (pin 1/2/3 = BOOT_CS_N / BOOT_MISO / BOOT_MOSI). Deponun kendi düzeltme defteri bunu R4'ten R13'e kadar her koşuda olmuş bir yan etki diye kaydediyor ve 'gözlenen bir arıza yok — ama bu bir şans, tasarım değil' diyor (evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md:54-60). Ders: bir kapı yalnızca beslendiği harita kadar doğrudur. R15'ten itibaren kelime 4 hiç yazılmıyor.
Veri yolu durumu değişti ama yetmedi
PSTATE 0x006f0000'dan 0x011f0000'a geçti: CMD hattı ilk kez yüksek. CMD5'in başarısızlık biçimi de değişti — 'tamamlandı ama sıfır cevap' yerine artık zaman aşımı. Veri yolu gerçekten farklı bir durumda. Bluetooth'un dört pini de artık uart0 fonksiyonunda ve dört bayt gönderiliyor, ama hâlâ cevap yok; sebebi bu koşudan çıkarılamıyor.
Siyah ekran bizim değildi
Bir önceki güç verme denemesinde ekran siyah kaldı ve pin mux yazmasından şüphelenildi. UART'ta bizim çekirdekten tek satır yoktu; gelen baytlar Raspberry Pi önyükleyicisine aitti ve altı kez 'Failed to open device: sdcard' diyordu. Kart okunamadığı için çekirdek hiç yüklenmemişti. Kart yeniden takılınca açılış normale döndü.
Doğru çalışanlar
- Yazma sonrası her pin tek tek geri okundu; 8'i doğrulandı, 2'si açıkça uyuşmazlık olarak raporlandı.
- Ekran ve arayüz etkilenmedi: SCREEN0 ve TOUCHREADY geldi.
- Firmware kartta durdu ve okunmadı — CMD53 hâlâ yok.
imaj 3a5ad8de93b3aaa871df99455a86289bcf472cad0cefa8e0d438c01fd75c89f6
kanıt evidence/rpi5/radio/attempt-r4-pinmux-write-uart-capture/
R5–R62026-09-06
Sorulan: Pin 30/31 reddi hangi sebepten, ve riskli tekrar deneme makbuzdan sonraya alınınca ne oluyor?
Cevap: İki koşu sıfır bayt verdi (R5 ve R6-tekrar), bir koşu (R6-oturma) tam makbuz setini verdi ve R7 retry sonucunu bağımsız olarak tekrarladı.
R6-oturma: 27 159 bayt, aynı 8/10
Kablolar yerine oturtulduktan sonra hat konuştu ve tam mux makbuzunu verdi: VERIFIED=8/10 MISMATCH=2, PINMUXRETRY RETRIED=2 OK=0, PINMUXLATE W3=0x00004443 AFTER_MS=150, W4=0x15555699->0x15553434. Bu değerlerin hepsi R7 retry koşusuyla birebir aynı — yani o sonuç iki kez ölçüldü, tek koşuya dayanmıyor.
R5 ve R6-tekrar: sıfır bayt, makbuz yok
Bu iki koşudan hiçbir ölçüm alınamadı ve hiçbir sonuç iddia edilmiyor. Yakalama kuruluydu; cihazdan tek satır gelmedi.
Sıfır baytlar iki kez yanlış yere yorumlandı
Önce kendi teşhis kodumuzun UART'ı susturduğu sanıldı; sonra kablo/adaptör suçlandı ve boşuna donanım söküldü. Gerçek sebeplerden biri ölçüm yöntemiydi: macOS'ta stty -f ile yapılan ayarlar cihaz kapanınca kaybolur, bu yüzden ayrı stty ve cat komutlarıyla yapılan her okuma portu varsayılan 9600 baud'da açıyordu. 'Gürültü' sanılan şey yanlış hızda çözülmüş gerçek veriydi. Sekiz farklı baud denemesinin hepsinde ~70 bayt çıkması da bunu gösteriyordu ve ters okundu. Doğrusu portu açık tutup (exec 3<>) ayarı o açıklık içinde uygulamaktır; yakalama betiğinin C motoru zaten böyle yapıyor. Diğer bir sebep fizikseldi: USB-C hub bir kez yerinden çıkmış çıktı.
Kalıcı bir tasarım dersi
R5'te riskli yazma, onu açıklayacak makbuzdan ÖNCE konmuştu. Bir şey ters gitseydi olan biteni anlatacak satır hiç basılamayacaktı. Sıra değiştirildi: önce ne bilindiğini söyle, sonra riskli şeyi dene, sonra sonucu söyle. Bir kaynak testi bu sıralamayı pinliyor.
Doğru çalışanlar
- Bu oturumun UART'ı kırılgan olduğu ölçüldü: R5=0, R6-tekrar=0, R6-oturma=27 159, R7=21 292, R7-staged=23 695, R8=22 016, R9=0 bayt.
- R6-oturma, mux sonucunun tek bir koşuya dayanmadığını gösterdi.
imaj kaydedilmedi — bu koşuların paketlerinde imaj kimliği yok
kanıt evidence/rpi5/radio/attempt-r5-*, attempt-r6-retry-after-receipt-*, attempt-r6-reseat-live-*
R72026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Toplu yazmadan sonra uyuşmayan pinler tek tek tekrar denenirse tutar mı, ve yazdığımız değer 150 ms sonra yerinde kalır mı?
Cevap: Hayır ve evet: tekrar deneme de tutmadı (RETRIED=2 OK=0), ve değer 150 ms sonra değişmedi — yani kimse üzerine yazmıyor, yazma baştan tutmuyor.
Toplu yazma da, tekrar deneme de tutmadı
PINMUXW VERIFIED=8/10 (toplu 32-bit store), PINMUXRETRY RETRIED=2 OK=0 (uyuşmayan iki pin tek tek yeniden yazıldı), PINMUXLATE W3=0x00004443 AFTER_MS=150 (değer yerinde kaldı). Bu koşu tek nibble'ı SIFIR kelimeden denemedi — o R7-staged ve R8'in işi.
Buradan 'salt okunur, VPU sahiplenmiş' sonucu çıkarmak yanlış olurdu
Aynı adreste, kelime hâlâ sıfırken bu iki nibble'ı tek tek yazıp tutturan bir bare-metal koşu bildiriliyor. Ayrıca Linux sürücüsünde kilit ya da şifre kaydı yok, yerleşim doğrulandı, ve DTB'deki non-removable 'firmware Wi-Fi'yi yönetir' demek değil. Bu yüzden VPU sahipliği bu sayfada iddia EDİLMEZ; ölçülmemiştir.
Wi-Fi çipi cevap verdi ama cevabı alınmadı
CMD5=1 OCR=0xfc000000 FUNCS=7 READY=1 geldi. Üç sebeple güvenilmez sayıldı: gerilim penceresi sıfır, FUNCS=7 mümkün olan maksimum, ve STATUS'te hata biti kurulu — hemen ardından CMD3 tamamen başarısız. 'Çip uyandı' değil, 'cevap kaydı çöp okundu' okunuşu tercih edildi.
Doğru çalışanlar
- Tekrar deneme UART'ı öldürmedi; önceki koşuda ondan şüphelenilmişti, yanlıştı.
- UNPLANNED=0x00000000 ve REF_INTACT=1 — güvenlik kapıları temiz.
imaj 7ee5cc98a0fb5227cbf785bd682585cf6a0ca7dde5a08c17d80528a1176c72b4
kanıt evidence/rpi5/radio/attempt-r7-retry-after-receipt-uart-capture/
R7-staged2026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Kelime tertemiz sıfırken önce yalnızca CLK+CMD yazılırsa tutar mı? (Sıra hipotezinin ilk biçimi.)
Cevap: Tutmadı. Sıra hipotezinin bu biçimi de bu kartta çalışmadı.
Aşama 1 sıfır kelimeden yazdı ve tutmadı
S1_WROTE=0x44000000 S1_READ=0x00000000 S1_HELD=0. Ardından aşama 2'de UART yazıldı ve tuttu (S2_UART=1), CLK/CMD yine gelmedi (S2_CLKCMD=0). Aynı koşuda komşu kelime 4 (SDIO D0–D3) da yazmayı aldı.
Sıra hipotezinin iki biçimi de elendi
Bu koşu CLK+CMD'yi BİRLİKTE, kelime sıfırken denedi. R8 ise pin 30'u TEK BAŞINA, yine sıfır kelimeden denedi. İkisi de tutmadı. Yazma yolu çalışıyor — UART nibble'ları ve kelime 4 alıyor — reddedilen üst bitler. (R13 düzeltmesi: sınır bit 24'te değil bit 16'da; kelimenin alt yarısı yazılıyor, üst yarısı yazılmıyor.)
Doğru çalışanlar
- VERIFIED=8/10 UNPLANNED=0x00000000 REF_INTACT=1 — güvenlik kapıları temiz.
- Yakalama 23 695 bayt, TOUCHREADY ile kapandı.
imaj kaydedilmedi — bu paketin boşluğu
kanıt evidence/rpi5/radio/attempt-r7-staged-mux-uart-capture/
R82026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Forum'un sırası — önce pin 30, sonra pin 31 — bu kartta tutar mı?
Cevap: Tutmadı. Sıra hipotezi bu kartta yeniden üretilemedi.
Kelime tertemiz sıfırken, tek nibble, yine tutmadı
W3_INIT=0x00000000 P30_WROTE=0x04000000 P30_READ=0x00000000 P30_HELD=0. Forum koşusunun başlangıç koşulu birebir kuruldu. Ardından pin 31 de tutmadı. Aynı koşuda UART nibble'ları (bit 15:0) ve komşu kelime 4 (SDIO D0–D3) yazmayı ALDI.
Erişim genişliği hipotezi de zayıfladı
Geriye kalan desen — alt yarı yazılıyor, üst yarı yazılmıyor — kaydın 16 bit olması gibi görünüyordu. Ama Linux sürücüsü bu bloğa yalnızca 32-bit erişiyor (writel/readl; dosyada tek bir writew/writeb yok) ve Pi OS'ta bu pinleri sd2'ye muxlayıp Wi-Fi'yi çalıştırıyor. Kayıt 16 bit olsaydı Linux'un yazması da başarısız olurdu.
Doğru çalışanlar
- VERIFIED=8/10 UNPLANNED=0x00000000 REF_INTACT=1 — güvenlik kapıları yine temiz.
- Ekran yaşadı: SCREEN0, TOUCHREADY, 60 Hz PRESENT.
- Çekirdeği aklayan koşu budur: 22 016 bayt, önyükleyici + tam makbuz seti.
imaj kaydedilmedi — koşuyu akıtan oturum imaj sha256'sını yazmadı
kanıt evidence/rpi5/radio/attempt-r8-pin30-then-pin31-uart-capture/
R92026-09-07
Sorulan: Erişim genişliği (8/16/32 bit) CLK/CMD mux yazmasını değiştirir mi?
Cevap: Bilinmiyor: cihazdan TEK BAYT gelmedi. Bu koşudan hiçbir ölçüm yoktur ve hiçbir sonuç iddia edilmez.
Sıfır bayt, makbuz yok
Yakalama kuruldu (capture_armed=YES) ama 0 bayt alındı, kapanış satırı hiç yazılmadı ve süreç dışarıdan sonlandırıldı. ASELSAN/PINMUXWIDTH makbuzu ALINMAMIŞTIR. Ekranın yaşaması SoC'un asılı kalmadığını söyler; sondanın yürüdüğünü söylemez.
Bu paketin kendi mühür kusuru kayıtlı
İlk mühür yanlıştı: EVIDENCE_SHA256SUMS, yakalama hâlâ koşarken ve uart10.raw boş/0600 iken alınmıştı. Bir paket kendi yakalaması sürerken mühürlenemez. Mühür sonlandırma sonrası yeniden alındı, ama paket yine de TAMAMLANMAMIŞ bir yakalamadır ve öyle okunmalıdır.
Sessizliğin sebebi bu koşuda belirlenmedi
O oturumun UART hattı kırılgandı: USB-C hub yerinden çıktı, adaptör birkaç kez yeniden numaralandı ve macOS'ta stty -f ayarları cihaz kapanınca kaybolduğu için port varsayılan 9600 baud'da açılıyordu. Kesin sebep bu koşu için belirlenmemiştir.
Doğru çalışanlar
- Paket kendi geçersizliğini açıkça yazıyor: 'bu koşudan hiçbir ölçüm yoktur'.
imaj kaydedilmedi — R9 paketinde imaj kimliği yazılmadı
kanıt evidence/rpi5/radio/attempt-r9-width-probe-uart-capture/
R102026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Erişim genişliği (8/16/32 bit) CLK/CMD yazmasını değiştirir mi?
Cevap: Hayır. Üç genişlik de tutmadı; erişim genişliği ölçülerek elendi.
8, 16 ve 32 bit — üçü de yazmadı
Pin 30 ve 31 aynı baytta yaşadığı için (0x10_7D50_410F) üç genişlik de tam olarak aynı iki nibble'ı hedefledi: 8 bit 0x44, 16 bit 0x4400, 32 bit 0x44000000. Hepsi W8_HELD=0 W16_HELD=0 W32_HELD=0. Ayrıca üç genişlikte okuma da yapıldı ve üçü uyuştu (R32=0, R16=0, R8=0) — kayıt haritası varsayımı doğru.
Zaten zayıflamış bir hipotezdi, artık ölçüldü
Linux sürücüsü bu bloğa yalnızca 32-bit erişiyor (writel/readl; dosyada tek bir writew/writeb yok) ve Pi OS'ta bu pinleri sd2'ye muxlayıp Wi-Fi'yi çalıştırıyor. Kayıt 16 bit olsaydı Linux'unki de başarısız olurdu. R10 bunu çıkarım olmaktan çıkarıp ölçüme dönüştürdü.
Doğru çalışanlar
- Her aşamadan sonra kelime sıfırlandı; REF_INTACT=1, ON hatlarının nibble'ları hiç bozulmadı.
- Ölçüm kelime tertemiz sıfırken yapıldı (ALLOWED=1) — R8 ile aynı başlangıç koşulu.
- Yeniden açılış doğrulandı: FRAMES sıfırdan başladı.
imaj 256104c4880f40bde9ab74f6ea6ebfbb988d2d7efa23f31979d9bc75af7487bd
kanıt evidence/rpi5/radio/attempt-r10-width-probe-uart-capture/
R112026-09-06
Sorulan: sdio2 DTB'de kapatılırsa pinler serbest kalır mı?
Cevap: GEÇERSİZ KOŞU. Overlay yüklendi ama uygulanmadı; hipotez sınanmadı. Bu bir sonuç değil, bir başarısızlık kaydıdır.
Dosya kartta olmak yetmiyor
config.txt'ye genel ad yazılmıştı (dtoverlay=disable-wifi) ve iki .dtbo da karttaydı, imzaları doğrulanmıştı. Yine de: overlay_map.dtb not found → firmware genel adı Pi 5 varyantına yönlendiremedi → temel dosyayı yükledi (387 bayt, bcm2835) → o dosya &mmc/&mmcnr hedeflediği ve Pi 5 DTB'sinde bu düğümler bulunmadığı için 'Failed to resolve overlay' verdi. sdio2 hiç kapanmadı.
Bu koşudaki P30_HELD=0 hiçbir şey kanıtlamaz
Deneyin bağımsız değişkeni uygulanmadığı için firmware hipotezi sınanmamıştır. Satırlar yalnızca R10'u tekrarlıyor.
Geçerlilik şartı yetersizmiş, düzeltildi
Şart 'overlay yüklendi mi' idi; dosya yüklenebilir ve yine de uygulanmayabilir. Yeni şart iki parçalı: UART'ta disable-wifi-pi5.dtbo bytes 267 görülmeli VE 'Failed to resolve overlay' görülmemeli. Bayt sayısı hangi dosyanın yüklendiğini tek başına söyler.
Doğru çalışanlar
- Olumlu kontrol yerinde: UART_OK=1, gpio24–27 yazmayı almaya devam etti.
- Çekirdek yeniden derlenmedi; flash hedefi sha'yı hem depoda hem kartta doğruladı.
imaj 256104c4880f40bde9ab74f6ea6ebfbb988d2d7efa23f31979d9bc75af7487bd
kanıt evidence/rpi5/radio/attempt-r11-disable-wifi-overlay-uart-capture/
R122026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: sdio2 gerçekten kapatıldığında pinler serbest kalır mı?
Cevap: Hayır. Overlay doğrulanmış biçimde yüklendi ve uygulandı; yazılabilirlik değişmedi.
Geçerlilik bu kez sağlandı
Read /overlays/disable-wifi-pi5.dtbo bytes 267, ardından Loaded overlay 'disable-wifi-pi5'. 'Failed to resolve overlay' sıfır kez geçiyor. Overlay'in yaptığı tek şey &sdio2 düğümüne status = disabled.
Sonuç değişmedi
Kelime tertemiz sıfırken (W3_INIT=0x00000000) tek nibble yazıldı ve tutmadı: P30_HELD=0 P31_CLK=0 P31_CMD=0. R8 ile birebir aynı. Olumlu kontrol yerinde: UART_OK=1.
Sonucun sınırı
Bu koşu şunu söyler: disable-wifi-pi5 / sdio2 status=disabled yazılabilirliği değiştirmedi. VPU sahipliğinin kanıtı DEĞİLDİR; bütün firmware hipotezinin çürütülmesi de DEĞİLDİR — denenen tek bir düğmedir. Firmware'in o pinleri başka bir yoldan tutuyor olması hâlâ mümkün ve hâlâ ölçülmemiştir.
Doğru çalışanlar
- WIFICMD5 aynı çöp cevabı verdi — beklenen: çekirdek DTB'ye bakmadan doğrudan SDIO MMIO'ya yazıyor, düğümün disabled olması onu durdurmaz.
- Altı bağımsız koşuda değişmeyen: bit 15:0 ve kelime 4 yazmayı ALIYOR, üst bitler almıyor. R13 sınırı ölçtü: bit 24'te değil, bit 16'da.
imaj 256104c4880f40bde9ab74f6ea6ebfbb988d2d7efa23f31979d9bc75af7487bd
kanıt evidence/rpi5/radio/attempt-r12-disable-wifi-pi5-overlay-uart-capture/
R132026-09-06
Düzeltme (R14 sonrası): R14 bu kartin silikonunun D0 oldugunu olctu. Bu kosu pin→kelime cevirisini C0 kuraliyla (pin / 8) yapti; D0'da her pin bir kelime asagida. Olculen sayilar — hangi adrese ne yazildi, ne geri okundu — gecerli. Onlara verilen PIN ADLARI degil. Ayrinti: evidence/rpi5/radio/CORRECTIONS-C0-TO-D0.md
Sorulan: Sınır tam olarak nerede — bit 24'te mi, yoksa daha aşağıda mı?
Cevap: Bit 16'da. Altı koşudur söylenen 'reddedilen tam olarak bit 31:24' ifadesi yanlıştı ve bu ölçüm onu düzeltti.
Bit 23:16 hiç test edilmemişti
Orası ON hatları (pin 28 WL_ON, pin 29 BT_ON) ve onlara her zaman 0 yazılmıştı — zaten 0'dılar. O yazma hiçbir şey kanıtlamayan bir no-op'tu, ama 'reddedilen tam olarak bit 31:24' iddiası ona dayanıyordu.
Pin 28 de yazmayı almadı
ON_WROTE=0x00010000 ON_READ=0x00000000 ON_HELD=0. fsel=1 (C0 tablosunda funcs[0]=mtsif) yazıldı, tutmadı. Geri alma temiz (ON_RESTORED=0x00000000), pin 29'a dokunulmadı, SAFE=1 — mux ve güç normal devam etti.
Ölçülen hücreleri açıklayan tek kural
ÖLÇÜLEN hücrelerde bir mux alanı kelimenin ALT 16 bitinde ise yazılıyor, ÜST 16 bitinde ise yazılmıyor — erişim genişliğinden bağımsız (R10: 8, 16 ve 32 bitlik store'ların üçü de üst yarıda başarısız). pin 24–27 kelime 3 alt yarı: yazıldı. pin 28, 30, 31 kelime 3 üst yarı: yazılmadı. pin 32–35 kelime 4 alt yarı: yazıldı. Yani pin 32–35 CLK/CMD'den 'daha şanslı' değil, sadece alt yarıdalar.
Kural 12 kelimelik bloğa YAYILMADI
Tablo yalnızca kelime 3 ve kelime 4'ün alt yarısı içindir. Ölçülmeyenler ölçülmemiş olarak duruyor: kelime 4'ün üst 16 biti (pin 36–39) hiç yazılmadı, pin 29 (bit 23:20) hiç yazılmadı, kelime 0/1/2/5–11 hiç yazılmadı. Pin 29 aynı üst yarıda olduğu için sonucu değiştirmesi beklenmez, ama beklenti ölçüm değildir. Bankanın gpio-line-names'i 36 hat sayıyor, yani pin 36–39 diye bir hat da yoktur.
Açık kalan gerilim
Linux bu bloğa yalnızca 32-bit writel ile erişiyor ve Pi OS'ta pin 30–35'i sd2'ye muxlayabiliyor. Yani üst yarı Linux altında yazılabiliyor olmalı. Bizim ortamımızda neyin farklı olduğu açık bir sorudur. Pin 29 da hâlâ test edilmemiştir; aynı üst yarıda olduğu için sonucu değiştirmesi beklenmez ama ölçülmemiştir.
Doğru çalışanlar
- Sonda bir mux adımı değildi: PIN_PLAN'e 28/29 girmedi, kaynak testi bunu pinliyor.
- Fail-closed: ON_RESTORED sıfır dışı çıksaydı mux yazması ve güç verme atlanacaktı.
- Karşılaştırma tabanı R10 — aynı yapılandırma, overlay temizlenmiş, tek değişken sonda.
imaj 3820ef8396f5f47e904cca8dd9a5c7289cfd524fd600fa0fb17f2aa1e0c1dc9d
kanıt evidence/rpi5/radio/attempt-r13-on-nibble-boundary-uart-capture/
R142026-09-06
Sorulan: Bu kartın silikonu C0 mu D0 mı? Yalnızca overlays/bcm2712d0.dtbo kartın üstüne konulacak, config.txt'ye tek satır eklenmeyecek.
Cevap: D0. Firmware dosyayı kendisi aradı ve yükledi. On üç koşudur yanlış pin tablosunu kullanıyormuşuz.
İpucu on üç koşudur açılış logunda duruyordu
Her açılışta 'overlays/bcm2712d0.dtbo not found' satırı geçiyordu ve gözden kaçmıştı. Firmware o dosyayı yalnızca silikon D0 ise arar; C0'da atlar. Dosya kartın üstüne konulunca 'Read /overlays/bcm2712d0.dtbo bytes 1363' ve ardından overlay'in yüklendiği satır geldi. config.txt'ye dtoverlay=bcm2712d0 YAZILMADI — zorlamak C0'da kelime 2'deki PWR_GPIO'ya DTB yapıştırırdı; ölçmek istediğimiz şey firmware'in kendi kararıydı.
D0'da her pin bir kelime aşağıda
pin 24–27 (BT UART) ve 28–31 (WL_ON / BT_ON / CLK / CMD) kelime 3'te değil kelime 2'de; pin 32–35 (SDIO D0–D3) kelime 4'te değil kelime 3'te. Yani 'BT UART'ı muxladık' dediğimiz yazma aslında WIFI_SDIO_D0..D3'ün mux'ıydı; 'CLK/CMD reddediliyor' dediğimiz hücreler ise var olmayan pin 38–39'du.
Kelime 4 mux kaydı bile değil
D0'da kelime 4 pad/pull kaydıdır. R4'ten R13'e kadar oraya yaptığımız yazmalar boot SPI pad ayarlarını (pin 1/2/3 = BOOT_CS_N / BOOT_MISO / BOOT_MOSI) değiştiriyordu. Gözlenen bir arıza olmadı — kart her seferinde açıldı — ama bu şanstı, tasarım değil.
On üç koşuluk 'kilit' bir kilit değildi
VPU sahipliği, erişim genişliği, sdio2'nin açık olması, kaydın 16 bit olması — hepsi tek tek elendi ve hiçbiri sebep değildi. Sebep bizim tablomuzdu. Bu sayfadaki R3–R13 kartlarının ölçümleri geçerli, pin adlandırmaları geçersiz; her birinin üstünde düzeltme notu var.
Doğru çalışanlar
- Tek değişken kuralı: çekirdek yeniden derlenmedi, config.txt değişmedi, karta yalnızca bir dosya eklendi.
- Geçerlilik koşulu önceden yazıldı: overlay'in yüklendiği UART'ta görülmezse koşu geçersiz sayılacaktı. Görüldü.
imaj 3820ef8396f5f47e904cca8dd9a5c7289cfd524fd600fa0fb17f2aa1e0c1dc9d
kanıt evidence/rpi5/radio/attempt-r14-d0-stepping-probe-uart-capture/
R152026-09-06
Sorulan: Pin planı D0 tablosuna taşındığında yazma tutuyor mu? Beklenti şuydu: bu, D0 tablosunun çalışacağını göstermez; doğru kayda yazdığımızı ölçer.
Cevap: Tuttu — VERIFIED=10/10. Ve beklentinin ötesine geçti: SDIO arka düzlemi cevap verdi, çip kendini BCM43455 olarak tanıttı. Wi-Fi hâlâ YOK.
On pinin onu da muxlandı
W2_CLK=0x01000000 CLK=1, W2_CMD=0x11000000 CMD=1, W2_UART=0x11004444 UART=1, W3_DAT=0x00001111 DAT=1, VERIFIED=10/10, UNPLANNED=0x00000000, REF_INTACT=1. On üç koşudur reddedilen üst yarı, doğru kelimeye yazıldığında kabul etti. Donanımda kısıt yoktu; yanlış kelimeye yazıyorduk.
Fail-closed kuralları tuttu
ON28=0 ON29=0 ON_INTACT=1 — WL_ON ve BT_ON nibble'ları hiç maskelenmedi. W4=0x15555699->0x15555699 W4_UNTOUCHED=1 — kelime 4 okundu, aynen geri okundu, yazılmadı; boot SPI pad ayarları bu koşuda korundu. PINMUXLATE 150 ms sonra üç kelimeyi de yerinde buldu.
OCR ilk kez anlamlı
R14'te OCR=0xfc000000 idi: FUNCS=7 (azami), MEM=1 (SDIO-only bir kartta olamaz), gerilim penceresi tamamen boş — çöp. R15'te OCR=0xb0ffff00: FUNCS=3, MEM=0, gerilim penceresi 0xffff00, yani 2,7–3,6 V. Sabit-1'e çekilmiş bir hat 0xffffffff verir, ölü bir hat 0x00000000; bu ikisi de değil.
Çip kendini tanıttı: BCM43455
CMD3 bir RCA verdi (0x0001), CMD7 kartı seçti, CCCR_REV=0x43 okundu, fonksiyon 1 açıldı ve ilk yoklamada hazır oldu (FN1_EN=1 FN1_READY=1 READY_POLLS=1), arka düzlem penceresi kuruldu ve geri okundu (WINDOW=1). CHIPID=0x15264345 → id=0x4345 = BCM43455, rev 6, pkg 2. Değer uydurulmadı: 16 CMD52 ile ChipCommon 0x1800_0000'dan okundu. Karttaki firmware dosyaları zaten bu parça için seçilmişti; çip artık kendisi de öyle olduğunu söylüyor.
Wi-Fi hâlâ yok — kapı açıldı, odaya girilmedi
CMD53=0, FIRMWARE=0, SCAN=0, SSID=0. Blok aktarımı yazılmadı, firmware indirilmedi, tarama yapılmadı, tek bir SSID okunmadı. Ağ listesi ekranı hâlâ ölçülmüş veri taşımıyor. Bu koşu Wi-Fi'nin çalıştığını göstermez; firmware indirmesinin ön koşulunun sağlandığını gösterir.
Bluetooth cevap vermedi
BT pinleri artık doğru kelimede (UART=1), BT_ON kaldırıldı (BT_ON_WAS=0 → BT_ON=1), dört baytlık HCI Reset gönderildi (TX=4 TXTO=0), ama yedi baytlık olay çerçevesi gelmedi: RXLEN=0 RXTO=1 EVENT=0 ANSWERED=0. Kalkış süresi mi, baud bölücü (DIV=52) mü — bu koşu ikisini ayırt etmiyor.
Bu koşuda bulunan kusur: envanter satırı hâlâ C0 etiketliyor
ASELSAN/PINMUX (salt-okunur envanter) pin→kelime çevirisini hâlâ pin/8 ile yapıyor. Yazma yolu D0'a taşındı, envanter taşınmadı. Aynı yakalamanın içinde SDIO=[Some(0), Some(0), Some(9), Some(9), Some(6), Some(5)] duruyor; son dört hücre kelime 4'ten okunuyor ve D0'da orası pad kaydı — o 9, 9, 6, 5 değerleri fonksiyon seçici değil, pad bitleri. Rakamlar doğru okundu, adları yanlış. Envanter taşınana kadar bu koşunun mux kanıtı yalnızca PINMUXW satırıdır.
Doğru çalışanlar
- Nibble 4/5 (WL_ON / BT_ON) hiç maskelenmedi; PIN_PLAN'e 28/29 girmedi.
- Kelime 4 yazılmadı, yalnızca okunup geri okundu — boot SPI pad yan etkisi durduruldu.
- Plan dışı hiçbir alan değişmedi: UNPLANNED=0x00000000, REF_INTACT=1.
- Çip kimliği uydurulmadı; CMD52 ile okundu ve karttaki firmware seçimiyle bağımsız olarak örtüştü.
imaj feca85dc53963589a5b5f1c2d3114e7c255510dc4099940d71a1b61e1bab6932
kanıt evidence/rpi5/radio/attempt-r15-d0-pinplan-uart-capture/
R162026-09-06
Sorulan: Kapı 1: CMD53 blok aktarımı doğru veri taşıyor mu? Sınırlar, zaman aşımı, hata dönüşleri, veri bütünlüğü — dördü de ayrı ayrı.
Cevap: GATE1=0. CMD53 gerçek veri taşıdı (64 bayt, hatasız, ölü desen değil) ama iki aktarım düştü ve bütünlük ölçülemedi. Ölçülememesinin sebebi benim makbuz kusurumdu.
Olumlu kontrol hata yolunun canlı olduğunu kanıtladı
Var olmayan fonksiyon 7'ye gönderilen CMD53'ü kart FUNCTION_NUMBER hatasıyla reddetti (NEG_R5=0x92). Kapının en önemli tek sonucu bu: bu adım olmadan aşağıdaki başarısızlıklar 'belki hatayı göremiyoruz' diye açıklanabilirdi. Göremiyor değiliz — hatalar gerçek.
Üç bekleyişi ayırmak işe yaradı
TO_CMD=000 TO_BUF=000 TO_XFER=100. Üç bekleyişten yalnızca biri, yalnızca bir aktarımda takıldı. Tek bir 'olmadı' bayrağı olsaydı bu, komutun hiç gitmemesiyle karıştırılırdı.
İki düşüş aynı tür değil
4 baytlık okuma: R5 temiz (0x10), SDHCI hata kaydı 0x0020 = DATA_CRC — veri hattı. Blok kipi: R5=0x90 = COM_CRC — komut hattı. R5 ile SDHCI hata kaydını ayrı alanlarda tutmak bunu görünür kıldı; tek bir 'hata' bayrağı ikisini aynı sanmamıza yol açardı.
Makbuz kusuru 1: REPEAT iki olguyu tek bite ezdi
Kod repeat.complete() && veri_eşit hesaplayıp tek bit basıyordu. 'Tekrar okuma başarısız oldu' ile 'veri farklı geldi' ayırt edilemiyordu. R2'de düzeltilen bits_changed kusurunun aynısı: iki ayrı olguyu tek sayaca sıkıştırmak.
Makbuz kusuru 2: bütünlük düşen okumaya bağlanmıştı
MATCH52 karşılaştırması başarısız olan 4 baytlık okumaya bağlıydı. Oysa 64 bayt ChipCommon ofset 0'dan geldi, yani ilk dört baytı chipid'dir ve CMD52 ile karşılaştırılabilirdi. Başaran tek aktarımın verisi hiç yazdırılmadı.
Doğru çalışanlar
- SMB=1 ve BLKSZ_SET=1: çoklu blok desteği ve blok boyu kartın kendisinden okundu, varsayılmadı.
- Sınır kontrolü veri yolunda değil, komut gönderilmeden önce; sıfır sayaç her iki kipte reddediliyor.
- Ön koşullar R15'i birebir tekrarladı: VERIFIED=10/10, CHIPID=0x4345, REACHABLE=1 — farklı imajla.
imaj 56563785750ab404f2a8316f39d5633d91786dae6afaa944492f040a803e26e7
kanıt evidence/rpi5/radio/attempt-r16-cmd53-gate1-uart-capture/
R172026-09-06
Sorulan: 4 baytlık okumanın düşme sebebi SIRA mıydı? Aynı okuma, bu kez 64 baytlıklardan sonra. (Bu deney boy ile BLKSIZE=4 hizalamasını AYIRMAZ.)
Cevap: Hayır. B4 ve B4A ikisi de düştü. Sıra elendi. Geriye kalan boy ve hizalama bu koşuda ayrılmadı ve ayrıldığı iddia edilmiyor.
Aynı istek, iki farklı arıza
İlk deneme: TO_XFER + DATA_CRC (0x0020), R5 temiz. Sonraki deneme: zaman aşımı yok, SDHCI hatası yok, R5=0x90 COM_CRC. Konumu değiştirmek başarısızlığı kaldırmadı ama TÜRÜNÜ değiştirdi. Ölçülen bir olgudur; açıklaması yoktur.
Makbuz kusurunu düzeltmek hemen karşılığını verdi
RP_OK=0 ama RP_MATCH=1. Tekrar okuması 64 baytın hepsini getirdi ve veri birinciyle birebir aynı çıktı — ama cevabı COM_CRC taşıdığı için aktarım tam sayılmadı. R16'nın tek bitlik REPEAT=0'ı bunu 'tutmadı' diye gösterir, verinin kusursuz geldiğini gizlerdi.
Blok kipi bu koşuda çalıştı — yani kararsız
BLK_OK=1 BLK_MATCH=1. R16'da aynı yol R5=0x90 ile düşmüştü. Kod aynı, kart aynı, blok boyu aynı. R16'nın tek koşusuna bakıp 'blok kipi çalışmıyor' demek yanlış olurdu.
Asıl bulgu: CMD53 kendiyle tutarlı, CMD52 ile değil
Aynı adres (fonksiyon 1, adres 0, pencere ChipCommon'da): CMD52 0x15264345 döndü, CMD53 0x00804253. Ve CMD53 tarafı gürültü değil, kararlı — RP_MATCH=1, BLK_MATCH=1, ölü desen değil. Üç bağımsız CMD53 aktarımı birbiriyle uyuşuyor; üçü de CMD52 ile uyuşmuyor. Kapının varlık sebebi tam olarak budur: bu doğrulama olmadan firmware indirmek 609 309 baytı sessizce yanlış içerikle yazmak olurdu.
Doğru çalışanlar
- Ayrım sınırı önceden yazıldı ve bir kaynak testi belgenin ayıramadığı sonucu iddia etmesini engelliyor.
- Çubuk indirilmedi: byte4 hâlâ kapının şartı; bir test 'byte4 şarttan çıkarılmış' durumunu yakalıyor.
imaj f3970f5e7a67368b467761ddc41a83140e1426ce5d530331cf96e3fd887d72d0
kanıt evidence/rpi5/radio/attempt-r17-cmd53-order-discriminator-uart-capture/
R182026-09-06
Sorulan: Pencere enumerate() ile transfer_probe() arasında kaymış mıydı? Pencereyi yeniden yaz, geri oku, taze CMD52 ile karşılaştır.
Cevap: Hayır. WIN_OK=1, taze CMD52 chipid'i görüyor, CMD53 hâlâ 0x00804253 görüyor. Kayma bu anlaşmazlığı açıklamıyor.
Pencere doğrulanmış ChipCommon iken bile uzlaşmazlık duruyor
Üç SBADDR baytı 0x18000000 olarak yazıldı ve geri okundu. Hemen ardından: taze CMD52 = 0x15264345, CMD53 64 baytın ilk dördü = 0x00804253. R16/R17'deki değerle birebir aynı.
Karşılaştırma tabanı taşındı
R17'ye kadar MATCH52'nin tabanı enumerate()'in chipid'iydi — başka bir zamanda, başka bir pencere durumunda okunmuş bir değer. R18 tabanı aynı fonksiyonun kendi taze okumasına taşıdı. enumerate değeri WIFIBP satırında durur, MATCH52'ye girmez.
Bu koşunun ölçmediği
Yeniden yazmadan ÖNCE pencerenin nerede durduğu ölçülmedi. Ölçülen şey: pencere doğrulanmış ChipCommon iken iki mekanizma aynı adresten farklı sayı döndürüyor.
Doğru çalışanlar
- Tek değişken: pencere yeniden yazımı. Diğer bütün ölçüler R17 ile aynı kaldı ve aynı sonucu verdi.
- Pencere alanları kapı şartına sızmıyor — tanısal ölçülerdir.
imaj 4a61d6477253b85f590c7d13e16f44ef8d6958493024d8711204c28450a7b8cf
kanıt evidence/rpi5/radio/attempt-r18-window-rewrite-uart-capture/
R192026-09-06
Sorulan: Sebep arka düzlemdeki 4 baytlık erişim bayrağı (0x8000) mı? Dört hücre aynı pencerede: CMD52 ve CMD53, adres 0x0000 ve 0x8000.
Cevap: Hayır. Bayrak veri yoluna çıktı (FLAGADDR=0x8000) ve CMD53'ün gördüğünü değiştirmedi. Aday elendi.
Yazarken bulunan ve deneyi geçersiz kılacak olan kusur
cmd52_read_u32 adresi WINDOW_MASK = 0x7fff ile maskeliyordu, yani bit 15'i siliyordu. Oraya 0x8000 geçirilseydi sessizce 0 olur ve makbuz 'bayrak hiçbir şeyi değiştirmedi' derdi — oysa bayrak hiç gönderilmemiş olurdu. R13'teki 'zaten sıfır olan alana sıfır yazmak' kusurunun aynısı. Maske artık yalnızca ofsete uygulanıyor, bayrak sonra ekleniyor.
2×2 beklenmedik bir asimetri gösterdi
CMD52: adres 0x0000'da 0x15264345, adres 0x8000'de 0x00000000 — gördüğü adrese BAĞLI. CMD53: her iki adreste de 0x00804253 — gördüğü adrese bağlı DEĞİL. Bayrak boş bir işlem değil; o adres CMD52 için gerçekten başka bir yer.
Geçerlilik şartı önceden yazıldı ve tuttu
FLAGADDR alanı 0x0000 bassaydı bayrak veri yoluna hiç çıkmamış olurdu ve koşu geçersiz sayılacaktı. 0x8000 bastı.
Doğru çalışanlar
- Elenenler listesi üç satır oldu: pencere kayması (R18), konum (R17), 4 baytlık erişim bayrağı (R19).
- Bayrak alanları tanısal; gate1_passed()'e sızmadığı testle doğrulanıyor.
imaj 1374429f31c12a0c7cace50967f2864e5d8c81a4282e0111a532061c7dc85480
kanıt evidence/rpi5/radio/attempt-r19-4byte-access-flag-uart-capture/
R202026-09-06
Sorulan: CMD53 argümanındaki adres alanını dikkate alıyor mu? R19 yalnızca iki nokta ölçmüştü ve iki nokta eğri çizmez.
Cevap: GEÇERSİZ KOŞU. Kendi önceden yazılmış şartına takıldı. Sonuç okunmadı ve okunmayacak.
Kusur 1: dördüncü okuma tamamlanmadı
OK3=0. Geçerlilik şartı dört CMD53 okumasının dördünü de istiyordu. Üçü tamamlandı. Şart önceden yazılmıştı ve tuttu.
Kusur 2: adresler ölçülmeden seçildi, ve geçerlilik bayrağı bunu yakalayamadı
CMD52 dört adresin üçünde sıfır okudu; yer gerçeği yalnızca 0x0000'da vardı. C52_ALL_SAME=0 bayrağı yine de geçti çünkü 'dördü de aynı mı' diye soruyordu ve biri farklıydı. Sorması gereken 'dördü de birbirinden farklı mı' idi. OK3=1 gelseydi tarama geçerli SAYILACAK ama yine de hiçbir şey ayıramayacaktı — bayrak yanlış soruyu soruyordu.
Kaydedilen gözlem — sonuç DEĞİL
C53 @ 0x0000 = 0x00804253, C53 @ 0x0004 = 0x20008042. İki değer aynı değil, yani 'CMD53 adresi hiç dikkate almıyor' hipotezi bu koşuda desteklenmedi. Bu bir sonuç değildir: koşu geçersizdir ve geçersiz bir koşudan çıkarım yapılmaz. İki değer arasındaki ilişkiye bakıp bir örüntü okumak da yapılmadı — bu zincir daha önce tam olarak böyle yanıldı.
Doğru çalışanlar
- Geçersizlik sessizce geçilmedi: koşu kendini geçersiz ilan etti ve paket geçersiz koşu olarak mühürlendi.
- Üç düzeltme R21'e taşındı: şart 'hepsi birbirinden farklı', adresler ölçülerek seçilir, adresler ince taneli.
imaj 9375916dc366ad2805e0faa5dc0293b6eb750be13209b8b2810d4faf720887bf
kanıt evidence/rpi5/radio/attempt-r20-address-sweep-uart-capture/
R212026-09-06
Sorulan: Adres alanı bayt granülerliğinde çalışıyor mu? R20'nin iki kusuru düzeltilmiş: geçerlilik şartı 'hepsi birbirinden farklı', adresler CMD52 ön taramasıyla ölçülerek doğrulanıyor.
Cevap: GEÇERSİZ KOŞU — ama ön tarama tuttu ve bir şey ölçtü. Bu sefer kusur adres seçimimde: CMD53'ün servis edemediği adresleri seçtim.
Ön tarama çalıştı — koşunun gerçek kazancı bu
PRESCAN=1 C52_DISTINCT=1. Dört CMD52 değeri ikişer ikişer farklı çıktı: 0x15264345, 0x09152643, 0x00091526, 0x68000915. Birleştirilmiş akış 45 43 26 15 09 00 68. CMD52 adres başına TAM BİR BAYT kayıyor — adres alanı CMD52 tarafında bayt granülerliğinde çalışıyor, ölçüldü. R20'nin 'yer gerçeği tahminle seçilmiş' kusuru kapandı.
Kusur: ön koşulu optimize ederken deneyin tamamlanabilirliği kırıldı
Adresleri (0x0001, 0x0002, 0x0003) CMD52 yer gerçeğini mükemmelleştirmek için seçtim — kayan pencereler zorunlu olarak farklı çıkar. CMD53'ün o adresleri servis edip edemeyeceğini hesaba katmadım. Etmedi: üçü de R5=0x90 COM_CRC ile düştü, NC=1. Geçerlilik şartı bu adreslerle HİÇBİR ZAMAN geçemezdi.
Üç başarısızlığın imzası aynı
R5=0x90 COM_CRC, ERR=0x0000, zaman aşımı yok. Komut tarafında hata, veri tarafında yok. Adres 0x0000 ise temiz tamamlandı (R5=0x10).
Hizalama bir işaret — ama kural DEĞİL
R20 ve R21 birlikte: 0x0000, 0x0004, 0x0100 tamamlandı; 0x0001, 0x0002, 0x0003 düştü. 'Hizalı çalışıyor, hizasız düşüyor' okuması bunlarla tutarlı — ama R20'de 0x1000 hizalıydı ve o da düştü. Beşinci satır kuralı çürütüyor. Burada bir kural yazılmıyor: iki geçersiz koşudan kural çıkarmak, bu zincirin C0 tablosuyla on üç koşu boyunca yaptığı şeydir.
Doğru çalışanlar
- Ön tarama CMD53 harcamadan önce yer gerçeğini ölçtü; ayırt edilemeseydi CMD53 hiç gönderilmeyecekti.
- Geçerlilik şartı yine önceden yazılıydı ve yine tuttu — sonuç okunmadı.
- R20'nin makbuz şeklini yeni şartın reddettiği testle doğrulanıyor.
imaj f019b2f711e0b035ab0d6f4c7f73c20de1cdd83360365cdb489be2ac673f1d4e
kanıt evidence/rpi5/radio/attempt-r21-byte-granularity-sweep-uart-capture/
R222026-09-06
Sorulan: Adres alanı 4 baytlık hizalı adreslerde çalışıyor mu? Tarama 0x0000·0x0004·0x0008·0x000c'ye taşındı — hem hizalı hem ölçülerek ayırt edilebilir.
Cevap: GEÇERSİZ (VALID=0) — ama hizalama hipotezini ÇÜRÜTTÜ. Aynı adres 0x0004 R20'de tamamlandı, R22'de düştü. Hizalama sebep değil.
Hizalama kuralı çürüdü
R21'den sonra 'hizalı çalışıyor, hizasız düşüyor' diye bir işaret kaydedilmişti ama kural yazılmamıştı. İyi ki: 0x0004 hizalıydı, R20'de tamamlandı, R22'de düştü. İki geçersiz koşudan kural çıkarmak, bu zincirin C0 tablosuyla on üç koşu boyunca yaptığı hataydı.
Asıl bulgu ön taramanın ortaya çıkardığı desen
R21 ve R22'de bütün CMD52'ler öne alınıp CMD53'ler arka arkaya koşunca iki bağımsız koşuda aynı desen çıktı: R5=0x10/0x90/0x90/0x90. İlk CMD53 temiz, ardından gelen her CMD53 COM_CRC bildiriyor. B64_HEAD hâlâ 0x00804253, CMD52 ile uzlaşmıyor.
Doğru çalışanlar
- Ön tarama tuttu: PRESCAN=1, C52_DISTINCT=1 — dört CMD52 değeri ikişer ikişer farklı.
- Kural yazılmadı: iki geçersiz koşudan sebep çıkarmak reddedildi.
imaj 03dcb7987d5a4f5e61d4b9fa81e4d73897983fa439b4231982faa306489ab2bd
kanıt evidence/rpi5/radio/attempt-r22-aligned-sweep-uart-capture/
R232026-09-06
Sorulan: Kesme onayı eksikliği sebep mi? Sürücü, cihazda PASS almış microSD yolunun deseni gibi her tüketilen kesmeyi (CMD_COMPLETE, BUFFER_READ_READY, TRANSFER_COMPLETE) geri yazsın.
Cevap: Hayır — aday ELENDİ. R5 deseni birebir aynı kaldı (0x10/0x90/0x90/0x90). Ama eklenen BUSY alanı asıl mekanizmayı gösterdi.
Kesme onayı sebep değildi
CMD_COMPLETE ve TRANSFER_COMPLETE artık onaylanıyor; R5 deseni değişmedi. Düzeltme yine de kalıyor — kanıtlanmış yolun deseni bu.
Komutlar meşgul veri yoluna gönderiliyordu
Yeni alan dokuz koşudur görünmeyeni gösterdi: BUSY=1111 (tarama), BUSY=011111 (kapı 1). Önceki okuma aktarımı denetleyiciye göre hâlâ sürerken komut gönderiliyor. PSTATE = DAT_INHIBIT + DAT_LINE_ACTIVE + READ_XFER_ACTIVE.
Meşgul olmak tek başına başarısızlığı açıklamıyor
Boş yolda başlayan tek aktarım (B4) düştü; meşgul yolda başlayan ikisi (B64, BLK) tamamlandı. Kural yazılmadı.
Doğru çalışanlar
- Her onay ilgili biti gördükten sonra yapılıyor — kör onay değil; kaynak sırası testle pinli.
- BUSY/PSTATE ölçüm alanları eklendi ve teşhis ölçüte karışmadı.
imaj db772c75b004c834cfe0e88708802485578e983150138c3f7e5b585611ab3f49
kanıt evidence/rpi5/radio/attempt-r23-interrupt-ack-fix-uart-capture/
R242026-09-06
Sorulan: Meşgul veri hattı sebep mi? Yol meşgulse SOFTWARE_RESET_DAT ile veri hattı yazılım sıfırlaması uygula, kanıtlanmış microSD yolunun deseni gibi geri okuyarak doğrula.
Cevap: GERİLEME. Sıfırlama mekanik olarak çalıştı (RST_OK=1111, STILL=0000) ve HER ŞEYİ bozdu. Üçüncü kendi kusurum da elendi — ama beklenen yönde değil.
Sıfırlama çalıştı ve her şeyi bozdu
R23'te tamamlanan iki aktarım (B64, BLK) düştü, DATA_CRC her aktarıma yayıldı (NC=0). Tek değişken sıfırlamaydı, taban bir önceki koşuydu.
Giriş anındaki meşgul hat bir arıza durumu değildi
Onu temizlemek başarısızlığı gidermedi, ÜRETTİ. Neden bozduğu ölçülmedi (faz kayması akla yatkın ama iddia edilmiyor); ölçülen tek şey sıfırlamanın zararlı olduğu.
Doğru çalışanlar
- Sıfırlama yalnızca meşgulken uygulandı ve geri okunarak doğrulandı — kör yazma değil.
- Sürücü tarafındaki adaylar tükendi: hizalama (R22), kesme onayı (R23), meşgul yol (R24).
imaj 48921d5e2f06ac0166c19568354195958e4f477c391888ad26c824e3b9cbf573
kanıt evidence/rpi5/radio/attempt-r24-data-line-reset-uart-capture/
R252026-09-06
Sorulan: R24'ün zararlı sıfırlaması geri alınınca R23 davranışı geri gelir mi? Ölçüm alanları kalır, sıfırlama çıkarılır.
Cevap: Evet — taban geri geldi. B64 ve BLK yine tamamlandı; sıfırlama alanları artık hep sıfır kalıyor, bu da geri almanın makbuzdaki izi.
Geri alma sessiz değil
Blok ölü kodla bırakılmadı, tamamen çıkarıldı ve neden geri alındığı kaynağa yazıldı. Bir test artık sıfırlamanın uygulanmadığını pinliyor — sessiz bir geri gelmeyi engelliyor.
Alanın yokluğu ile 'uygulanmadı' aynı şey değil
Sıfırlama alanları makbuzda kaldı ve hep sıfır. Makbuz, alanın hiç olmaması ile ölçülüp sıfır çıkması arasını ayırt edebilmeli.
Doğru çalışanlar
- Bir değişikliği ancak zararlı olduğu ölçüldükten sonra geri almak — bu zincirin yöntemi.
- Taban koşusu: yeni soru sormadan R23 davranışının geri geldiği doğrulandı.
imaj ce23234c9af68ad92b478ebbe13e73014b3c8fbe28d38ca9171030a75b61661e
kanıt evidence/rpi5/radio/attempt-r25-data-line-reset-revert-uart-capture/
R262026-09-06
Sorulan: COM_CRC zamansal mı? Komutlar arasına 2 ms donanım sayacı beklemesi konsun; ayrıca 64 baytlık tamponun ilk dört sözcüğü makbuza yazılsın.
Cevap: Hayır — zamansal değil. 2 ms beklemeye rağmen R5=0x10/0x90/0x90/0x90 deseni değişmedi. Ama tampon telemetrisi asıl gizemi büyüttü.
COM_CRC zamana bağlı değil
RP_R5=0x90 ve B4A_R5=0x90 aynen korundu. Kart CMD53 sonrası durumunu zamanla serbest bırakmıyor. Buna karşılık araya bir CMD52 girdiğinde sonraki CMD53 temiz 0x10 dönüyor — CMD52 durum makinesini senkronize ediyor.
Tamponun dört sözcüğü de aynı sabit
B64_W=0x00804253/0x00804253/0x00804253/0x00804253. Artan adres kipinde (increment=true) okunmasına rağmen dört sözcük de birebir aynı. CMD53 adresi artırmadan aynı 32-bit veriyi tekrarlıyor gibi. (R30 bunun 1-bit host kipinin kaydırdığı çöp olduğunu gösterecek.)
Doğru çalışanlar
- Hipotez #7 (zamansal) ölçülerek elendi.
- Tampon içeriği ilk kez makbuza girdi — R30'daki kırılmayı bu telemetri görünür kıldı.
imaj 9f55ef909e27a9c96f24ddd220d1d106e7d4f687bd940627f003bf0c9514b3e4
kanıt evidence/rpi5/radio/attempt-r26-settling-delay-uart-capture/
R272026-09-06
Sorulan: Arka düzlem saati eksik mi? Function 1 CHIPCLKCSR (0x1000E) üzerinden HT saati istensin ve telemetrisi ölçülsün.
Cevap: HT saati hiç gelmedi: CLK_R=0x50. Ve bu değer, Linux brcmfmac'in PLL programlanmadan HT istediğinde aldığı meşhur timeout değeriyle birebir aynı.
CLK_R=0x50 — bit 7 (HT_AVAIL) hiç yükselmedi
CLK_INIT=0x40 (ALP kristali devrede), CLK_W=0x10 (HT_AVAIL_REQ yazıldı), CLK_R=0x50 (0x40|0x10). PLL yapılandırılmadığı için donanım HT saatini üretemiyor ve durum makinesi 0x50'de asılı kalıyor.
Linux brcmfmac dizilimi gerekiyor
Çekirdek erken aşamada (buscoreprep) HT değil ALP zorlar: CHIPCLKCSR'a 0x28 (FORCE_HW_CLKREQ_OFF | ALP_AVAIL_REQ), ALP hazır olana kadar bekle, sonra 0x21 (FORCE_ALP) ile ALP'yi kilitle, 65 µs bekle. HT ancak firmware yüklendikten sonra açılır.
Doğru çalışanlar
- Tek değişken saat telemetrisiydi; ölçülen değer bağımsız bir kaynakla (Linux davranışı) örtüştü.
- Sonraki adım tahmin değil: kanıtlanmış ALP dizilimi.
imaj d1b6a7e716216199f54b84888eab4271c45b609d42283412720505093d3bf930
kanıt evidence/rpi5/radio/attempt-r27-backplane-clock-uart-capture/
R282026-09-06
Sorulan: brcmfmac buscoreprep dizilimi (FORCE_ALP + 65 µs + SDIOPULLUP=0) uygulanınca ne olur?
Cevap: ALP kilidi tuttu (CLK_R=0x61) ama SDIOPULLUP=0 veri yolunu çökertti. Kesin sonuç: dahili çekme dirençleri asla kapatılmamalı.
CLK_R=0x61 — ALP başarıyla kilitlendi
0x40 (ALP_AVAIL) | 0x20 (FORCE_HW_CLKREQ_OFF) | 0x01 (FORCE_ALP). Saat ALP kipine kilitlendi, donanım saat istekleri devre dışı.
SDIOPULLUP=0 sinyal bütünlüğünü yok etti
Dahili pull-up'lar kapatılınca R16-R27 boyunca kusursuz çalışan CMD52 çöktü: C52=0, SMB=0, komutlar Wait 1'de zaman aşımı (TO=100), R5=0x08. Pi 5 PCB'sinde SDIO hatlarında yeterli harici pull-up yok; dahili dirençler açık kalmalı.
Doğru çalışanlar
- Tek değişken buscoreprep dizilimiydi; iki bağımsız gerçek aynı koşuda ölçüldü (ALP kilidi + pull-up zorunluluğu).
- SDIOPULLUP=0 bir daha yazılmayacak — donanım kısıtı ölçüldü.
imaj 4b9e76102719f3249de37e5b13c82d315e9e3ad22458e65324919263b6d4917e
kanıt evidence/rpi5/radio/attempt-r28-force-alp-buscoreprep-uart-capture/
R292026-09-06
Sorulan: SDIOPULLUP=0 kaldırılıp FORCE_ALP korunursa veri yolu bütünlüğü ile ALP saati birlikte gelir mi?
Cevap: Evet — ikisi birlikte doğrulandı. Ama 0x00804253 hâlâ duruyor: ALP'de ve pull-up'lar açıkken bile CMD53 aynı sabiti veriyor. Soru artık CMD53 adres/aktarım kipinde.
Veri yolu ve ALP saati birlikte sağlam
C52=0x15264345 (chip ID birebir), SMB=1, BLKSZ_SET=1, WIN_OK=1, CLK_R=0x61. Sinyal bütünlüğü kusursuz, saat ALP'de kilitli.
0x00804253 sabiti sürüyor
CMD52 bayt bayt ChipCommon'ı görürken, CMD53 aynı adreste (0x0000 ve 0x8000) bu 32-bit sabiti tekrarlıyor. Sorun saat ya da güç değil; CMD53 aktarım yolunda. Bir sonraki koşu tam da orayı — host aktarım genişliğini — bulacak.
Doğru çalışanlar
- İki taban (R27 ve R28) ile karşılaştırıldı; tek değişken SDIOPULLUP çağrısının kaldırılmasıydı.
- Aday daraltıldı: saat ve güç elendi, CMD53 aktarım kipi kaldı.
imaj 49e86534a9598f527706eb0e731accdcc595666d1bf210d5a0768a2cd45a1a3d
kanıt evidence/rpi5/radio/attempt-r29-force-alp-pullup-kept-uart-capture/
R302026-09-06
Sorulan: Host denetleyicisi kart ile aynı veri yolu genişliğinde mi? Kart CCCR 0x07 ile 4-bit'e alınmıştı (BUS=0x42); host HOST_CONTROL_1 (0x28) 1-bit'te unutulmuş olabilir.
Cevap: KIRILMA. Host 4-bit'e alınınca (HCTL1=0x02) R16'dan beri süren uzlaşmazlık ÇÖZÜLDÜ: MATCH52=1, B4 temiz, CMD53 çip kimliğini okuyor. Ama GATE1 hâlâ 0.
Kök neden: host/kart veri yolu genişliği asimetrisi
Kart 4-bit'te veri ve CRC16'yı dört hattan gönderirken host yalnızca DAT0'ı 1-bit dinliyordu. 4 baytlık transferde kart 8 çevrimde bitirip host 32 çevrim beklediği için her seferinde DATA_CRC üretiliyordu; 64 baytlıkta tampona kaymış çöp doluyordu — işte 0x00804253.
İki bağımsız mekanizma ilk kez aynı sayıyı verdi
B4_OK=1 B4_ERR=0x0000 (R16'dan beri düşen 4 baytlık okuma ilk kez temiz), B64_HEAD=0x15264345, MATCH52=1. Tamponun ilk dört sözcüğü (B64_W) CMD52 taramasının 0/4/8/c değerleriyle birebir örtüştü. DATA_CRC sıfırlandı.
Kapı hâlâ açık: ardışık CMD53 durum makinesi
GATE1=0. Doğrudan art arda gelen repeat ve byte4_after hâlâ R5=0x90 (COM_CRC) alıyor; araya bir CMD52 girdiğinde sonraki CMD53 temiz dönüyor. Adres taraması da hâlâ garezli (VALID=0). Bu, R31'in settle_card ile hedeflediği kalan pürüz.
Doğru çalışanlar
- Tek değişken: SDHCI HOST_CONTROL_1 (0x28) bit 1 = 4-bit + HCTL1 telemetrisi.
- Firmware, tarama, SSID, yazma yolu hâlâ yok — kırılma veri bütünlüğünde, Wi-Fi'de değil.
- İç tutarlılık: 64 baytlık tamponun sözcükleri CMD52 sweep okumalarıyla birebir eşleşti.
imaj 5eb0d9b6ff9fc8e3109c71b2dff4ceaaefb203a02ff0284102a7739e7ec21771
kanıt evidence/rpi5/radio/attempt-r30-host-4bit-bus-uart-capture/
R312026-09-07
Sorulan: R30 host'u 4-bit'e aldı ama ardışık CMD53'ler hâlâ COM_CRC alıyordu. settle_card (CMD53'ler arasına Function 0 CCCR 0x00 CMD52 okuması) bu kaskadı temizler mi?
Cevap: Evet — KAPI 1 GEÇTİ. GATE1=1. Altı CMD53 aktarımının altısı da temiz; MATCH52=1. Bu Wi-Fi çalışıyor demek DEĞİL — firmware indirmenin ölçülü ön koşulu sağlandı.
Dört bağımsız yol aynı sayıda buluştu
MATCH52=1 (CMD53=CMD52), MATCHF=1 (bayraklı adres 0x8000), RP_MATCH=1 (tekrar okuma), BLK_MATCH=1 (blok kipi) — dördü de 0x15264345 = BCM43455. Her transfer ERR=0x0000, R5=0x10. Olumlu kontrol hâlâ reddediyor (NEG_R5=0x90), hata yolu canlı.
settle_card ardışık COM_CRC'yi temizledi
R30'da RP_OK=0 B4A_OK=0 (art arda gelen CMD53'ler R5=0x90 alıyordu). R31'de ikisi de temiz (R5=0x10) ve BUSY=000000 — artık hiçbir transfer meşgul veri yoluna girmiyor. R26'da denenen saf zaman beklemesi bunu yapamamıştı; gereken zaman değil, bir komut modu geçişiydi (CMD52).
Kalan pürüz çip değil, teşhis harness'i
WIFISWEEP hâlâ VALID=0 (BUSY=1111). Sebep biliniyor: address_sweep fonksiyonu settle_card çağırmıyor, bu yüzden R30'daki back-to-back durumu hâlâ yiyor. Kapı yolu settle_card kullanıyor ve geçiyor. Bu harness tutarsızlığı; Kapı 1'in kanıtı WIFICMD53 satırıdır, WIFISWEEP değil.
Doğru çalışanlar
- Kapı 1'in dört sorusu (sınır, zaman aşımı, hata, bütünlük) dördü de karşılandı.
- Wi-Fi hâlâ yok: FIRMWARE=0 SCAN=0 SSID=0, yazma yolu yok — kırılma okuma bütünlüğünde.
- Kök nedenden (R30 host 4-bit) buraya: veri genişliği + ardışık durum senkronizasyonu, ikisi de çözüldü.
imaj 7fd6e438ad1265d85c47837cc9485e115e2d5bb99052d4c35502830d071fae3b
kanıt evidence/rpi5/radio/attempt-r31-settle-card-uart-capture/
R322026-09-07
Sorulan: Kapı 2a: CMD53 YAZMA yolu, atıl CR4 RAM'ine (0x199000) bir gidiş-dönüşle doğrulanabilir mi? İlk gerçek yazma yolu — güvenlik eşiği.
Cevap: GEÇERSİZ. Yazma yolu hiç çalışmadı: pencere kurulamadı (WIN_OK=0), erken dönüldü. Yazma kusuru değil, harness sıralama kusuru.
write_probe sweep'in kirli durumunu miras aldı
Aynı yakalamada: gate1 (settle kullanır) temiz çıktı (BUSY=000000); sweep (settle kullanmaz) kartı COM_CRC kaskadında bıraktı (R5=…0x90, BUSY=1111); write_probe hemen ardından koştu ve ilk pencere CMD52'si kirli duruma çarptı → WIN_OK=0. Yazma, geri okuma, gidiş-dönüş hiç çalışmadı.
Güvenlik mimarisi yerinde
cmd53_write yalnızca write_probe'dan çağrılıyor, o da yalnızca ATIL CR4 RAM'ine (0x199000) yazıyor — ChipCommon'a değil; işlem sonunda chip id yeniden okunup referans doğrulanıyor. Üçü de testle pinli. CR4 reset'te olduğu için RAM atıl.
Doğru çalışanlar
- Güvenlik eşiği önce yazıldı: yazma yolu üç kat kısıtlı (yalnız RAM, gidiş-dönüş, referans bütünlüğü).
- Geçersizlik sessizce geçilmedi; R33'e taşınan düzeltme: write_probe girişinde robust senkronizasyon.
imaj 80eae414db8462d91776d0aa0b48439b2fa36355ac9e902f1c78ca06ef77c3f1
kanıt evidence/rpi5/radio/attempt-r32-cmd53-write-roundtrip-uart-capture/
R332026-09-07
Sorulan: R32'deki WIN_OK=0 miras kirli durumdan mı, yoksa 0x199000 penceresinin kendisinden mi? Girişe robust senkronizasyon koyup ayır.
Cevap: Ayrıştırıcı çalıştı: ENTRY_SYNC=1 (kirli durum elendi) ama WIN_OK=0 (sebep pencerenin kendisi). Kök neden: 32 KB hizalama.
Sebep pencere hizalaması
Backplane penceresi 32 KB hizalı (SBSDIO_SBWINDOW_MASK = 0xffff8000); kodumuz 256 bayt hizalıyordu. 0x199000 için SBADDRLOW=0x90 yazıyorduk, donanım [14:0] bitlerini yok sayıp 0x80 tutuyor, geri okuma tutmuyor → WIN_OK=0. 30+ koşu gizlendi çünkü her erişim ChipCommon'du (0x18000000, zaten 32 KB hizalı).
Ayrıştırıcı tasarımı doğrulandı
Temiz girişten sonra WIN_OK=1 gelseydi sebep kirli durum olacaktı; WIN_OK=0 geldi → pencere. R33 tam da bunu ayırdı.
Doğru çalışanlar
- Giriş senkronizasyonu (R31 dersinin genellenmesi) kirli durumu eledi.
- Kök neden referanstan doğrulandı: SBSDIO_SBWINDOW_MASK = 0xffff8000.
imaj 5a6d80e8edb812b2792e1a385277cdc4df8c0c68101ec992b8e62a9cec063d93
kanıt evidence/rpi5/radio/attempt-r33-write-entry-sync-uart-capture/
R342026-09-07
Sorulan: Pencere hizalaması 32 KB'ye düzeltilince (0xffff_ff00 → 0xffff_8000) RAM erişimi çalışır mı?
Cevap: Pencere düzeldi (WIN_OK=1) ama RAM erişimi hâlâ düşüyor. Sıradaki eksik: 4-bayt erişim bayrağı (referans ramrw her blokta koyar).
Hizalama düzeltmesi doğrulandı
WIN_OK=1 — pencere artık RAM'e (0x198000 tabanı) kuruluyor ve geri okunuyor. R33'ün ayırıcı tahmini doğrulandı, tek satırla çözüldü.
RAM erişimi 0x0060 ile düşüyor
ORIG_OK=0, WR_ERR=0x0060 (DATA_CRC + DATA_END_BIT). Fark kanıtlanmış gate1'den tek şey: pencere-içi ofset. gate1 ofset 0'da çalışıyor; write_probe ofset 0x1000'de düşüyor. Referans brcmf_sdiod_ramrw her blok aktarımında (ofset & 0x7fff) | SB_ACCESS_2_4B_FLAG (0x8000) kullanır; biz bayrağı atlıyorduk.
Doğru çalışanlar
- Tek değişken hizalamaydı; ChipCommon (zaten hizalı) etkilenmedi, testle pinli.
- REF_INTACT=0 bir bozulma değil: başarısız yazmanın kirli durumunun sonucu, kart bir sonraki açılışta temiz.
imaj 96c33ee31119971d728564219bd067366fec3ae1cba83e07bfef6d70da3964a0
kanıt evidence/rpi5/radio/attempt-r34-window-32kb-align-uart-capture/
R352026-09-07
Sorulan: 4-bayt erişim bayrağı (0x8000) eklenince RAM gidiş-dönüşü tutar mı?
Cevap: Hayır — değişmedi. O zamanki yorum: TCM erişimi çekirdek hazırlığı (CR4 HALT) gerektiriyor. (R38 bunu sonradan çürüttü.)
Bayrak da değil
sb_offset(…, true) ile 4-bayt bayrağı eklendi; RAM erişimi yine 0x0060 ile düştü. Aday elendi.
O anki (sonradan çürütülen) çıkarım: TCM çekirdek hazırlığı istiyor
Referans firmware'den önce CR4'ü HALT eder (brcmf_chip_cr4_set_passive → disable_arm). O yüzden 2a ile 2b ayrılamaz sanıldı ve erom+halt yoluna girildi. R38 sonradan CR4'ün zaten açılışta halt olduğunu ölçtü — bu premis yanlıştı, ama makul bir okumaydı.
Doğru çalışanlar
- Bayrak sabitleri referanstan (SB_OFT_ADDR_MASK=0x7fff, SB_ACCESS_2_4B_FLAG=0x8000).
- Yazma yolu mekaniği (hizalama, bayrak, okuma yolunun aynası) doğru; engel hedefte sanıldı.
imaj 64df431b82d4dae65f381a3e1e403c1f23c39db4da567220fbaa4ad530a7d388
kanıt evidence/rpi5/radio/attempt-r35-write-4byte-flag-uart-capture/
R362026-09-07
Sorulan: Kapı 2b-1: EROM'u yürüyüp çekirdekleri sayabilir, CR4 wrapbase'ini bulabilir miyiz? (HALT'ın yazacağı adres.)
Cevap: EROM işaretçisi 0 okundu, sayım yapılamadı. Ofset doğru (0xfc, upstream struct'tan); sorun okuma yolunun sırasıydı.
Ofset doğrulandı, sorun sıra
eromptr ofseti Linux chipcommon.h struct chipcregs'ten birebir (eromptr /* 0xfc */); SI_ENUM_BASE=0x18000000 kendi chipid okumamızla doğrulandı. erom_scan en sonda, write_probe'un wedged bıraktığı Function 1'i miras alarak koştu; giriş senkronizasyonu Function 0'ı kurtarıyor ama backplane Function 1 gerektiriyor.
Doğru çalışanlar
- Ayrıştırma SDIO'dan ayrıldı: descriptor mantığı sentetik EROM ile donanımsız test edilir.
- R37'ye taşınan düzeltme: erom_scan'i yıkıcı sweep/write'tan önce koştur + öz-test ekle.
imaj f170e07b92c7210089ef229de367d82193ea84529953e9210c84b9db69ffa8d6
kanıt evidence/rpi5/radio/attempt-r36-erom-core-scan-uart-capture/
R372026-09-07
Sorulan: erom_scan temiz durumdan (gate1'den sonra, sweep/write'tan önce) koşarsa çekirdekleri sayar mı? Aynı yolla chipid öz-testiyle doğrula.
Cevap: GEÇTİ (2b-1). SELFTEST=0x15264345, 7 çekirdek, CR4 wrapbase=0x18102000, READY_FOR_HALT=1.
Öz-test okuma yolunu kanıtladı, sayım tuttu
SELFTEST=0x15264345 (aynı backplane_read32 yoluyla ofset 0). SCAN_OK=1, NCORES=7, CC_FOUND=1. CR4_BASE=0x18002000, CR4_WRAP=0x18102000, REV=9. R36'daki 0 gerçekten miras kirli durumdu.
RAM_ID=0 beklenen ve tutarlı
Ayrı bir INTERNAL_MEM/SYS_MEM çekirdeği yok — CR4 çipinde RAM, çekirdeğin TCM'idir (sabit 0x198000). rambase'i sabit tablodan almamızın sebebi de bu.
Doğru çalışanlar
- Sıra düzeltmesi çözdü; öz-test kanıtla birlikte.
- CR4 wrapbase ölçüldü — 2b-2 HALT'ın önkoşulu. Hiçbir şey yazılmadı (salt-okunur).
imaj 2cc074f1a0061a68e718b523ea81c155f8a00e73f726904dd110e6fe1f123f0e
kanıt evidence/rpi5/radio/attempt-r37-erom-reorder-selftest-uart-capture/
R382026-09-07
Düzeltme (R14 sonrası): R38'in 'asıl engel cmd53_write' okuması sonradan daraltıldı. R41/R42: cmd52 TCM'e YAZIYOR (kanıtlı) — çalışan bir yazma yolu var, cmd53 tek yol değil. R51: backplane_write32 cmd52'ye alınınca wrapper yazmaları da indi (WRITE_OK=1); 'cmd53 yazma hiç çalışmadı' bunun cmd53 kullanmasındandı. R53: firmware indirmenin önündeki asıl engel cmd53_write değil, cmd52 yolunun timeout-spin HIZI.
Sorulan: Kapı 2b-2: CR4'ü HALT edince TCM erişilebilir olup write_probe (2a) geçer mi? İlk çekirdek-reset yazması.
Cevap: İki reframe: (1) CR4 açılışta ZATEN halt (IOCTL=0x21, reset dışı) — R35 hipotezi çürüdü. (2) Asıl engel cmd53_WRITE.
CR4 açılışta zaten halt
IOCTL_BEFORE=0x00000021 = CPUHALT | CLK, RST_BEFORE=0. Çekirdek halt, saatli, reset dışı — istenen durumun ta kendisi. Referans savunma amaçlı halt eder; bu çip zaten o durumda. erom+halt bir sapmaydı — makul ama gereksiz.
Asıl engel: cmd53_write (R34'ten beri)
WRITE_OK=0 — wrapper kaydına (erişilebilir hedef, TCM değil) yazma başarısız. Oysa okuma her yerde çalışıyor: cmd52 (chipid, wrapper 0x21), cmd53 (ChipCommon). cmd53 YAZMA hiç çalışmadı. Çekirdek-halt değil, firmware indirmenin önündeki gerçek engel bu.
Doğru çalışanlar
- HALT yalnızca CR4 wrapper kayıtlarına yazar (testle pinli); atıl çekirdek güç döngüsünde geri gelir.
- Makbuz üç bileşeni ayrı tutar (RESET_DEASSERTED, CPUHALT, WRITE_OK); hangisinin düştüğü okunur.
imaj d2f5fe981f24a954cdaac092c434a5d3f71add27ef5f732024b27a0c66ccab18
kanıt evidence/rpi5/radio/attempt-r38-cr4-halt-uart-capture/
R392026-09-07
Düzeltme (R14 sonrası): R40 bu yorumu düzeltti: TCM'e cmd52 ile erişilebiliyor; R39'un 'hiç erişilemedi' sonucu cmd53 düşmesi ve wedge sonrası ölçüm sırasıyla karışmıştı.
Sorulan: cmd53_write nerede düşüyor, ve cmd52 (bayt bayt) backplane yazması çalışıyor mu? Atıl TCM'de ölç.
Cevap: cmd53 yazma komut-tamamdan önce data hatasıyla düşüyor; cmd52 temiz izole edilemedi; ve 0x198000'e hiçbir yolla erişilemedi.
cmd53 yazma: komut-tamamdan önce 0x0060
C53_CMD=0, C53_TO=000, C53_ERR=0x0060 (DATA_CRC+DATA_END_BIT), R5 temiz. Data fazı hatası komut-tamamdan önce — write kurulum/zamanlama sorununa benziyor ama tek başına kanıtlamaz.
cmd52 yazma temiz izole edilemedi
C52_WOK=0 C52_TOOK=0 — ama cmd53_write'ın başarısızlığından + settle'dan sonra koştu. cmd53 kartı wedge ettiyse settle toparlamamış olabilir. R39'un tasarım kusuru: cmd52 önce koşmalıydı.
Daha derin gerçek: 0x198000'e hiç erişilmedi
R34/R35 (okuma), R39 (okuma+yazma) — hepsi backplane 0x198000/0x199000'de düştü. Başarılı her erişim 0x18xxxxxx aralığında (ChipCommon + çekirdekler). Pencere 0x198000'e kuruluyor (WIN_OK=1) ama orada hiçbir şey cevap vermiyor. Sorun yalnız yazma yönü değil, TCM bölgesinin kendisi olabilir.
Doğru çalışanlar
- Okuma yolu tam ve sevk edilebilir (GATE1=1, çip tanımlı, sayım çalışıyor).
- Yalnızca RAM'e yazma denendi; ChipCommon/wrapper/reset'e değil. Kart güç döngüsünde sağlıklı.
imaj 925af072398703fd1c0966cf43fb2752908ec1a498c9f92bb2980937a2f3bdc4
kanıt evidence/rpi5/radio/attempt-r39-write-diag-uart-capture/
R402026-09-07
Sorulan: R39'un 'TCM'e hiç erişilemiyor' yorumu doğru mu? Temiz durumdan cmd52 ve cmd53 ile 0x198000'i ayır.
Cevap: DÜZELTME: TCM cmd52 ile okunuyor. Sorun TCM'in kendisi değil, cmd53 blok aktarımının TCM bölgesinde 0x0060 ile düşmesi.
TCM cmd52 ile okunabiliyor
CTRL_CHIPID=0x15264345, TCM_WIN_OK=1, TCM_C52=0xc44a0c18 ve TCM_C52F=0xc44a0c18. Değer sıfır ya da 0xffffffff değil; temiz durumdan, bayraklı ve bayraksız cmd52 aynı gerçek içeriği okudu.
cmd53-TCM hâlâ düşüyor
TCM_C53_OK=0, TCM_C53_ERR=0x0060. CMD53 ChipCommon'da Gate1'i geçiriyor ama TCM'de DATA_CRC+END_BIT ile düşüyor. R39'un hatası cmd52'yi cmd53 wedge'inden sonra ölçmekti.
cmd52 yazma hâlâ açık kaldı
W_PAT=0x00000000; mem_probe yazmadan önce riskli cmd53 okuma yaptı ve sonraki write aşaması ölçülemedi. R41 cmd52 yazmayı cmd53'ten önce, izole ölçecek.
Doğru çalışanlar
- R39 yorumunu fail-closed düzeltti: TCM erişilebilir, cmd53-TCM ayrı sorun.
- Okuma yolu, Gate1, EROM ve CR4 halt durumu korunuyor.
- Firmware indirilmedi; tarama yok.
imaj 689a7ba8c7e8824c2b003bed0186c956e1ea58d777438b4fd8fc0d2ee0fb1e49
kanıt evidence/rpi5/radio/attempt-r40-tcm-read-probe-uart-capture/
R412026-09-07
Sorulan: cmd52 bayt erişimi TCM'e gerçekten yazıp geri okuyabiliyor mu? cmd53 wedge'inden önce izole ölç.
Cevap: YAZMA YOLU KANITLANDI: cmd52 çip RAM'ine yazıyor ve geri okuyor; cmd53 blok TCM'de düşmeye devam ediyor.
cmd52 çip RAM'ine yazıyor
WIN_OK=1, ORIG=0xe855bad4, W_C52_OK=1, W_PAT=0x5a5a5a5a, W_RB=0x5a5a5a5a, W_TOOK=1 ve RESTORE_OK=1. Dört bayt yazıldı, doğru geri okundu, sonra orijinal değer geri yüklendi.
cmd53 blok TCM'de bayraktan bağımsız düşüyor
C53NF_ERR=0x0060 ve C53F_ERR=0x0060. Sorun 4-bayt bayrağı değil; cmd53 ChipCommon'da çalışırken TCM bölgesinde çalışmıyor.
Doğru çalışanlar
- R34'ten beri açık yazma engeli cmd52 yolu için kapandı.
- Yazma yalnızca TCM'e yapıldı ve orijinal içerik geri yüklendi.
- Firmware henüz indirilmedi; tarama yok.
imaj f0d6323b10dfb7e8014ecbb658dadd5f0c94257f552622d52396e88d9f2c246c
kanıt evidence/rpi5/radio/attempt-r41-cmd52-write-isolated-uart-capture/
R422026-09-07
Sorulan: Tek kelime değil, firmware için gereken ardışık TCM alanına cmd52 toplu yazma kusursuz çalışıyor mu?
Cevap: Evet. 1024/1024 kelime yazıldı ve doğrulandı; firmware staging mekanizmasının çekirdeği kanıtlandı.
1024/1024 kelime tuttu
ASELSAN/BULK WIN_OK=1 WORDS=1024 WRITTEN=1024 MATCHED=1024 OK=1. Deterministik desen 4 KB boyunca TCM'e yazıldı ve uyumsuzluk olmadan geri okundu.
Ölçek uyarısı: cmd52 çok yavaş
4 KB bile boot'u gözle görülür geciktirdi. 609 309 baytlık BRCMFW.BIN yaklaşık 150 kat daha büyük; cmd52 doğru ama pratik hız için saat ve bekleme davranışı ayrıca ölçülmeli.
Doğru çalışanlar
- Toplu cmd52 yazma ve verify döngüsü cihazda geçti.
- Yazma yalnızca atıl TCM'e yapıldı.
- Tam firmware, NVRAM/CLM ve tarama hâlâ yok.
imaj c9f3f0ab42bcaa41f72d16464f6b4078ac5c4616bb331d3550c7b43b81b94cb6
kanıt evidence/rpi5/radio/attempt-r42-cmd52-bulk-write-uart-capture/
R432026-09-07
Sorulan: Radyo imajı BRCMFW.BIN'i microSD/FAT32 kaynağından bulup doğru okuyabiliyor mu?
Cevap: Okuma yarısı geçti: BRCMFW.BIN bulundu, boyutu doğru, ilk içerik yerel dosyayla birebir eşleşti.
FAT32 locate + içerik doğrulama geçti
PART_LBA=32768, VOL_OK=1, FOUND=1, FW_BYTES=609309, FW_SECTORS=1191, EXPECTED=1. FIRST_WORD=0xb83ef198 yerel BRCMFW.BIN'in ilk little-endian word'üyle aynı.
microSD radyo bring-up sayfalarından ayrı tutuldu
Firmware kaynağı ayrı ve adlandırılmış MMIO aralığı olarak eklendi; blob imaja gömülmedi. Bu yalnızca karttan okuma kanıtıdır, TCM'e yazma değil.
Doğru çalışanlar
- BRCMFW.BIN gerçek karttan doğru okunuyor.
- Boyut kapısı 609 309 baytı doğruladı.
- TCM'e tam firmware yazılmadı; tarama yok.
imaj 6f0ab5bc1835659049f96b67681a76041121b58f20ae5c05e8b621f6df8b2716
kanıt evidence/rpi5/radio/attempt-r43-firmware-read-uart-capture/
R442026-09-07
Düzeltme (R14 sonrası): R45 bu koşunun yorumunu düzeltti: R44'te görülen sessizlik EROM hang'i değil, ilerleme çıktısı olmayan yavaş staging'di.
Mühürsüz paket: Bu paket MÜHÜRSÜZDÜR: dizinde EVIDENCE_SHA256SUMS ve README yok — 91 koşu içindeki tek istisna. Erken kesilen bir yakalamadır ve zaten sonuç iddia etmez; ama diğer kartların aksine imzasıyla doğrulanamaz.
Sorulan: 64 sektörlük ilk firmware staging denemesi gerçekten EROM'da mı donuyor, yoksa uzun/sessiz bir döngü mü?
Cevap: Bu koşu sonuç üretmeden erken kesildi: yakalama terminal görmedi ve FWSTAGE makbuzu gelmedi. R45 bunu sonradan 'hang değil, sessiz yavaş staging' diye düzeltti.
Makbuz yok, terminal yok
capture_closed=true ama terminal_seen=false ve success=false. UART'ta Gate1 ve EROM'a kadar sağlıklı satırlar var; FWSTAGE sonuç satırı yok. Bu koşudan staging başarısı veya başarısızlığı iddia edilmez.
R45 sonrası okuma: sessizlik hang sanıldı
R44'te ilerleme çıktısı yoktu; uzun cmd52 staging sırasında UART sessiz kaldı ve UI henüz çizilmedi. R45 faz-başı ilerleme satırları ekleyince döngünün ilerlediği görüldü.
Doğru çalışanlar
- Gate1 ve EROM satırları koşunun başında sağlıklıydı.
- Geçersizlik açıkça korunuyor; R44 tek başına sonuç kartı değildir.
imaj kaydedilmedi — R44 paketinde imaj kimliği yazılmadı
kanıt evidence/rpi5/radio/attempt-r44-firmware-stage-64-uart-capture/
R452026-09-07
Sorulan: İlerleme çıktısıyla 8 sektörlük firmware staging döngüsü karttan oku → TCM'e yaz → doğrula sırasını tamamlıyor mu?
Cevap: Evet. 8/8 sektör, 1024/1024 kelime doğrulandı; R44 hang değil, sessiz slow staging idi.
8 sektör doğru indirildi
FWSTAGE_P fazları ilerledi; ASELSAN/FWSTAGE SECTORS_DONE=8 WORDS_W=1024 WORDS_V=1024 BYTES=4096 OK=1. Okuma hatası ve uyumsuzluk yok.
Gerçek sorun hız
SDIO veri yolu hâlâ tanımlama hızında (/256, ~400 kHz). 1191 sektör bu hızda yaklaşık saat mertebesine çıkar; önce saat yükseltmesi ölçülmeli.
Doğru çalışanlar
- Kart-oku → TCM-yaz → verify döngüsü küçük ölçekte geçti.
- R44'ün yanlış hang yorumu düzeltildi.
- Firmware'in yalnızca ilk 4 KB'ı yazıldı; tarama yok.
imaj dd0c25a3daa1a6e83cb37d4377f09f87e92bd8f202758f2adc9a511d1fdebdb2
kanıt evidence/rpi5/radio/attempt-r45-firmware-stage-progress-uart-capture/
R462026-09-07
Sorulan: SDIO saati tanımlamadan sonra /256'dan /16'ya yükselirse staging hızlanır mı ve veri bütünlüğü korunur mu?
Cevap: Veri doğru ve hızlı; ama R5 komut-yanıt durumu /16'da gürültülü. OK=0 yanlış-negatifti çünkü başarı R5-temiz sayısına bağlanmıştı.
Veri bütünlüğü kusursuz
SDCLK DIV=0x08 STABLE=1. FWSTAGE WORDS_V=1024; 8 sektörün tamamı doğru geri okundu. Hız belirgin arttı.
R5 gürültüsü başarı ölçütünü bozdu
WORDS_W=824; yaklaşık 200 yazma R5-temiz dönmediği halde veri doğru indi. OK=0 bu yüzden yanlış-negatif. Başarı ölçütü verify-readback olmalı.
Doğru çalışanlar
- Saat /16'ya kararlı geçti.
- Verify yer gerçeği olarak seçildi; R47 retry ile bunu kalıcılaştıracak.
- Tam firmware hâlâ yok.
imaj ea164310d1e667c5b284de4106d2e6974a9de430248c5c672f56b4bbcede9418
kanıt evidence/rpi5/radio/attempt-r46-sdio-clock-raise-uart-capture/
R472026-09-07
Sorulan: Başarıyı verify ile tanımlayıp verify uyuşmazlığında retry eklenirse /16 staging sağlam raporlanır mı?
Cevap: Evet. R5 gürültüsüne rağmen 1024/1024 verify ile OK=1; retry altyapısı hazır ve bu koşuda gerekmedi.
Verify-tabanlı ölçüt doğru raporluyor
SECTORS_DONE=8, WORDS_V=1024, RETRIES=0, OK=1. WORDS_W=821 yalnızca R5-temiz sayısı; veri bütünlüğünün ölçütü değil.
Tam indirme için ön koşul hazır
Okuma yolu, cmd52 yazma, saat /16, verify ve retry birleşti. R48 artık STAGE_SECTORS=tüm dosya ile 1191 sektörü deneyecek.
Doğru çalışanlar
- İlk 4 KB hızlı ve doğru yazıldı+doğrulandı.
- R5 gürültüsü tasarımı kırmıyor; verify+retry bütünlüğü koruyor.
- Tarama yok.
imaj e3490bf9ef8a09ff615cbb48472666022fa4a9fe04af87b2b423176651dc3c23
kanıt evidence/rpi5/radio/attempt-r47-stage-verify-retry-uart-capture/
R482026-09-07
Sorulan: Tam 1191 sektörlük BRCMFW.BIN staging'i /16 + verify/retry ile biter mi?
Cevap: Bitmedi ama 128 sektör/64 KB doğru indi. Abort sebebi veri değil, sektör 128'de pencere-kurma retry'siz geçici hata.
64 KB doğrulandı
SECTORS_REQ=1191, SECTORS_DONE=128, WORDS_V=16384, BYTES=65536. İlk 128 sektörün tamamı TCM'e doğru yazıldı ve doğrulandı; RETRIES=14 gerçek retry yolunun çalıştığını gösterdi.
Pencere-kurmaya da retry gerekiyor
MM_SECTOR=128, MM_WORD=0, REWINDOWS=2. 0x1a8000 penceresine geçerken set_backplane_window bir geçici R5 gürültüsüne takıldı ve retry olmadığı için stage break etti.
Doğru çalışanlar
- Hang yok; abort sonrası boot UI'ye devam etti.
- Firmware'in ilk 64 KB'ı TCM'de doğrulandı.
- Tam firmware, NVRAM/CLM ve start yok.
imaj 81bceb23711d48daddcf9d688e33d865d77f2963edb7ad79e415562a70c547c9
kanıt evidence/rpi5/radio/attempt-r48-firmware-full-download-uart-capture/
R492026-09-07
Sorulan: Pencere-kurma retry'si eklendiğinde tam indirme takılmadan ilerler mi ve hız yeterli mi?
Cevap: Takılmadı ama hız pratik değil: yaklaşık 8,08 s/sektör; tam indirme yaklaşık 160 dakika ederdi.
Staging başladı ve ilerledi
GATE1=1, EROM sağlıklı, SDCLK /16 kararlı. FWSTAGE_P S=0 ve S=64 fazları görüldü; tüm beklemeler sınırlıydı, sistem hang olmadı.
Kök hız duvarı: komut tamamlanmasını bekleme
S=0 PH=3 → S=64 PH=3 arası ~517 s, yani 8,08 s/sektör. /16'da çoğu cmd52 INT_CMD_COMPLETE üretmediği için issue() 1.000.000 poll cezasını ödüyordu.
Doğru çalışanlar
- Pencere retry kodda ve testte var; bu koşu sektör 128'i görmediği için onu kanıtlamadı.
- R50 için tek değişken belirlendi: CMD_COMPLETE_POLLS 1M → 50K.
- Tarama yok.
imaj 2419879e5ba5908965405fdf7d1aedf5eb8e83d036f01ef85331b81e27f39f64
kanıt evidence/rpi5/radio/attempt-r49-firmware-full-download-retry-uart-capture/
R502026-09-07
Sorulan: Komut-tamamlama beklemesi 1.000.000'den 50.000'e inerse tam indirme pratik hıza gelir mi?
Cevap: Kısmen hızlandı ama yetmedi: yaklaşık 4,8 s/sektör. Asıl sorun granülerlik ve kalan inhibit beklemesi.
Hızlandı ama hâlâ çok yavaş
Aynı wall-time penceresinde R49 ~S=64 iken R50 S=192'ye ulaştı; ~1,7× hızlanma. Tam indirme hâlâ yaklaşık 95 dakika sürecekti, güç elle kesildi.
Sektör başına 1024 cmd52 pratik değil
cmd52_write_u32 dört tek-bayt cmd52; 128 kelimelik bir sektör yaz+verify ile yaklaşık 1024 cmd52 demek. Completion sınırı indi ama inhibit 100K kaldı; cmd53 blok yazma hâlâ gerçek hızlı yol adayı.
Doğru çalışanlar
- CMD_COMPLETE_POLLS=50_000 zararsız biçimde kaldı.
- R48'in sektör-128 pencere hatası bu kez aşılmış göründü.
- Tam firmware ve tarama yok.
imaj 0207cf9b011e2ea076e34ef6e539edd5f74fe40a87f4535a0f3e767cbe5e2668
kanıt evidence/rpi5/radio/attempt-r50-firmware-full-download-fast-complete-uart-capture/
R512026-09-07
Sorulan: Wrapper yazmaları cmd52'ye alınır ve gerçek ai_resetcore denenirse cmd53-TCM açılır mı?
Cevap: Hayır. Resetcore hipotezi çürüdü; cmd53-TCM açılmadı ve bozuk reset dizisi TCM erişimini kararttı.
Wrapper cmd52 yazmaları iniyor
HALT WRITE_OK=1. backplane_write32'nin cmd52'ye alınması wrapper kayıtlarına yazmayı R5-temiz hale getirdi; bu ayrı düzeltme çalıştı.
Resetcore TCM'i bozdu
RST_ASSERT=0, IOCTL_A=0x00, CPUHALT=0, HALTED=0. CLK biti kayboldu; TCM_C52=0x00000000 ve W_TOOK=0. Boot-ROM'un bıraktığı clocked+halted durum bozulunca TCM erişilemez oldu.
cmd53-TCM ayırt edicisi çekirdek saati değil
R40'ta CLK açıkken cmd53-TCM 0x0060 ile düşüyordu. R51 resetcore'u bozuldu diye cmd53 açılmadı; hızlı yol hâlâ kapalı.
Doğru çalışanlar
- FWREAD yine 609309 baytı buldu; SDIO/ChipCommon yolu sağlıklı kaldı.
- main'den yavaş FWSTAGE çıkarıldı, tarama yok.
- Sıradaki fork: resetcore'u düzeltmek veya cmd52 yolunu hızlandırmak.
imaj ee14647c40b6b837d26fc56c402a10ab47d2dd1b31449f468867ae6398e30484
kanıt evidence/rpi5/radio/attempt-r51-resetcore-cmd53-tcm-probe-uart-capture/
R522026-09-07
Düzeltme (R14 sonrası): R53 bu probu düzeltti ve gerçek ölçümü aldı; R52'deki sıfır süreler performans sonucu değildir.
Sorulan: Saat-süpürme probu /16, /32 ve /64'te cmd52 yaz+verify hızını gerçek ölçebilir mi?
Cevap: Hayır. Prob pencere ok'ine fazla güvendi, ok=false'ta erken döndü; üç saatte de ölçüm yapılmadı.
SECTOR_US=0 gerçek ölçüm yok demek
CLKSWEEP DIV=0x08/0x10/0x20 için MATCHED=0 ve SECTOR_US=0. 1024 cmd52'lik döngü çalışsa süre sıfır olamazdı; set_backplane_window ok=false dönüşü erken return ettirdi.
R53 düzeltmesi belirlendi
Pencere baytları R5 gürültüsüne rağmen inebiliyor. R53 probu pencere ok'ine güvenmeyecek: 5x retry, koşulsuz ölçüm, WIN_OK/WIN_TRIES telemetrisi.
Doğru çalışanlar
- Hang yok; boot UI'ye ulaştı.
- GATE1=1, EROM sağlıklı, resetcore main dışında kaldı.
- Firmware indirilmedi.
imaj 8afc6f3b3159202afb34d79852c1e5eb52f350b71f0785fdddfc57ad17f1bbb1
kanıt evidence/rpi5/radio/attempt-r52-clock-sweep-uart-capture/
R532026-09-07
Sorulan: Düzeltilmiş saat-süpürme probu gerçek ölçüm verdiğinde yavaş saat cmd52 bütünlüğünü veya hızı iyileştiriyor mu?
Cevap: Hayır. R53 son durum: yavaş saat yardımcı değil; süre veri aktarımından değil, sabit timeout-spin beklemelerinden geliyor.
Saat-süpürme ilk kez ölçtü
DIV 0x08 (/16): WIN_OK=1, MATCHED=100/128, SECTOR_MS=4976, FULL_MIN=98. DIV 0x10 (/32): MATCHED=46/128, SECTOR_MS=4274, FULL_MIN=84. DIV 0x20 (/64): WIN_OK=0, MATCHED=0/128, SECTOR_MS=3442, FULL_MIN=68.
Süre saatten bağımsız, timeout domine
SECTOR_MS saatle ölçeklenmiyor; /64 hafif daha hızlı bile görünüyor. Bu, gerçek veri hızından çok issue() içindeki sabit inhibit 100K + completion 50K poll sınırlarının takılmış status bitlerinde tüketildiğini gösteriyor.
R54 kaldıraç noktası
MATCHED yavaş saatte düştü (100→46→0), bu yüzden saat /16'da kalmalı. Asıl sonraki hamle, inhibit bekleme sınırını completion gibi fail-fast düşürmek; bütünlük verify+retry ile korunuyor.
Doğru çalışanlar
- GATE1=1; resetcore main dışında kaldı, TCM bozulmadı.
- Ölçüm gerçek: pencere retry + koşulsuz ölçüm çalıştı.
- Tam firmware, NVRAM/CLM, CR4 start, tarama ve SSID yok.
imaj 01fdc49c2adef3207f4b9a89f77557eb445c560ab1875b885ccd8f43dd6a34ea
kanıt evidence/rpi5/radio/attempt-r53-clock-sweep-measured-uart-capture/
R542026-09-07
Sorulan: issue() bekleme sınırı faza göre 2K'ya çekilince cmd52 indirmesi /16'da pratik hıza gelir mi, bütünlük bozulur mu?
Cevap: Evet, ~45× hızlandı: /16'da 4976 ms → 109 ms/sektör, tam indirme ~2 dk; bütünlük bozulmadı.
Faza bağlı sınır 2K: ~45× hızlanma
ISSUEBOUND N=2000. CLKSWEEP DIV=0x08 (/16): WIN_OK=1, MATCHED=106/128, SECTOR_MS=109 (R53'te 4976 idi), FULL_MIN_EST=2. Gate1/erom /256'da 50K korundu; yalnız staging /16'da 2K'ya çekildi. Süre saatten değil, issue() timeout-spin'lerinden geliyordu; sınır düşünce çözüldü.
Fail-fast bütünlüğü bozmadı
MATCHED=106/128 — R53'ün 100'ünden bile iyi. /32=43, /64=0; slower saat yine kötü, /16 tatlı nokta doğrulandı. Prob settle'sız write+immediate-read yapar (kötümser); gerçek stage_to_tcm settle+verify+retry ile kalan uyuşmazlıkları toplar.
Doğru çalışanlar
- issue() sınırı faza bağlı static (ISSUE_STATUS_POLLS) + setter; inhibit ve completion aynı dinamik sınırdan geçer.
- Bu imajda UI metni 'Yayın taraması yok' (eski 'Ağ taraması yok').
- Tam firmware, tarama, SSID yok — bu yalnız hız ölçümüdür.
imaj a765ded00f1c1c76198237d8934699889c089f7e3007f9a702c625654289ec16
kanıt evidence/rpi5/radio/attempt-r54-staging-poll-bound-uart-capture/
R552026-09-07
Sorulan: Faza bağlı 2K sınırla tam 1191-sektör firmware indirme TCM'e tam ve doğru iner mi?
Cevap: PASS. 609 KB firmware CR4 TCM'e TAM ve DOĞRULANMIŞ indirildi: SECTORS_DONE=1191, WORDS_V=152448, RETRIES=0, OK=1, ~2–3 dk.
Tüm dosya doğrulandı (OK=1)
FWSTAGE SECTORS_DONE=1191 WORDS_W=152448 WORDS_V=152448 (=1191×128) RETRIES=0 REWINDOWS=19 BYTES=609792 OK=1. Her kelime cmd52 ile TCM'e yazıldı ve geri okumada doğrulandı; hiç yeniden yazma gerekmedi (RETRIES=0).
Kapı 2b (firmware indirme) geçti
Aylarca (R44→R55) süren yavaşlığın kök nedeni /16'da tamamlama bitinin set olmaması ve her cmd52'nin sabit timeout-spin'i ödemesiydi (R48'de 8 s/sektör, ~160 dk). Faza bağlı sınırla ~2–3 dk. cmd53 TCM'de bölge-özgü düştüğü için indirme cmd52 + verify + R49 pencere-retry ile yapıldı.
Doğru çalışanlar
- Firmware imaja gömülü değil; karttan (BRCMFW.BIN) cmd52 ile TCM'e indi.
- Tarama/SSID/Bağlan HÂLÂ yok: bu indirme, çalıştırma değil.
- Sırada firmware ÇALIŞTIRMA: NVRAM/CLM yükleme, CR4 start, ready handshake, SDPCM/BCDC, escan.
imaj bccd414122c07a6ea54c4761c61fbbd7d3f787c7bbb8bc5ef404202001ca436b
kanıt evidence/rpi5/radio/attempt-r55-full-download-fast-uart-capture/
R562026-09-07
Düzeltme (R14 sonrası): R57 retry artırdı ama yetmedi; asıl kök nedeni (R5-temiz ok kriteri) R58 DATA-tabanlı doğrulamayla çözdü.
Sorulan: Firmware indikten sonra NVRAM RAM tepesine (0x238000 − varsz) yüklenip doğrulanır mı?
Cevap: Bu boot'ta test edilemedi: firmware indirme şanssız /16 boot'unda sektör 128'de abort etti; NVRAM (st.ok'a bağlı) çalışmadı.
Firmware sektör 128'de abort
SECTORS_DONE=128 WORDS_V=16383 OK=0. FWSTAGE kodu R55 (PASS) ile BAYT-BAYT aynı; fark yalnız boot-to-boot /16 değişkenliği — 5-retry pencere + 3-retry kelime şanssız boot'ta yetmedi.
NVRAM kodu koşturulmadı (doğru davranış)
NVRAM adımı if st.ok(stage_sectors)'a bağlı; firmware OK=0 olunca atlandı. nvram_transform host-test edildi (gerçek BRCMNVR.TXT'de token doğru) ama cihazda henüz çalışmadı.
Doğru çalışanlar
- Hang yok; boot UI'ye ulaştı.
- NVRAM koşmadı çünkü firmware ön koşulu bu boot'ta sağlanmadı.
imaj f9aaf05702ad4f5defa50b6d74c9a85f8acdb4622944ef70138756f69f1e6554
kanıt evidence/rpi5/radio/attempt-r56-nvram-load-uart-capture/
R572026-09-07
Düzeltme (R14 sonrası): R58 doğrulamayı DATA-tabanlı yaptı (completion/R5 yoksayılır) ve firmware+NVRAM geçti.
Sorulan: Pencere-retry 5→16 ve kelime-retry 3→8 firmware'i şanssız boot'ta kurtarır mı?
Cevap: Hayır — daha da erken abort etti (sektör 64). Retry SAYISI kök neden değil.
Retry artışı yetmedi
SECTORS_DONE=64 WORDS_V=8191 OK=0. 16 window retry de İLK pencere geçişinde (0x1a0000) tükendi. Bu boot R56'dan daha gürültülüydü.
Kök: R5-temiz ok kriteri, retry değil
set_backplane_window'un ok'i cmd52 write+read'in R5-TEMİZ olmasını istiyor; /16'da kötü boot'ta R5 hiç temizlenmiyor. Ama SBADDR baytları iniyor ve card doğru DATA döndürüyor (R47/R53). Aynı sorun kelime-verify'da: cmd52_read_u32 completion set olmayınca None döner.
Doğru çalışanlar
- Hang yok; boot UI'ye ulaştı.
- Ölçüm net: sorun status-tabanlı doğrulamada, retry sayısında değil.
imaj 31838a2e9997194abf6bf5391740ab6e389e6fa9d7a7598ecb4fb1d055161cea
kanıt evidence/rpi5/radio/attempt-r57-nvram-load-robust-uart-capture/
R582026-09-07
Sorulan: Verify ve pencere-set completion/R5'i yoksayıp DATA baytıyla doğrularsa firmware güvenilir iner ve NVRAM yüklenir mi?
Cevap: PASS ×2. Gürültülü boot'ta bile firmware WORDS_V=152448 RETRIES=0 OK=1, ve NVRAM ilk kez yüklendi (OK=1, TOKEN_OK=1, FW_INTACT=1).
Firmware gürültülü boot'ta %100 doğrulandı
WORDS_W=101526 (152448'in yalnız %67'si R5-temiz yazma) = R56/R57'yi abort ettiren gürültü seviyesi. Ama DATA-tabanlı verify ile WORDS_V=152448, RETRIES=0, REWINDOWS=19, OK=1. Status yerine gerçek veriyi okumak gürültülü boot'u sorunsuz geçirdi.
NVRAM ilk kez TCM'de
FOUND=1 SRC_LEN=2074 VARSZ=1748 ADDR=0x23792c TOKEN=0xfe4b01b4 TOKEN_OK=1 WORDS=437 VERIFIED=437 OK=1. FW_WORD0=0xb83ef198 FW_INTACT=1 — NVRAM firmware'in üstüne binmedi (0x238000 − varsz, token 0x237FFC'de).
Doğru çalışanlar
- DATA-tabanlı okuma (cmd52_read_byte_data): status yerine response veri baytı — R47 ilkesinin doğru uygulaması.
- Güvenlik: bayat pencere / yanlış veri DATA karşılaştırmasında eşleşmez → yakalanır (sessiz bozulma yok).
- CR4 START YOK: firmware+NVRAM TCM'de ama çekirdek başlatılmadı. Sıradaki R59.
imaj a984c16b3664be504b70b4abfb5e3b6c9b9da9d72e8ddfa75d3e5a984dce4a61
kanıt evidence/rpi5/radio/attempt-r58-nvram-data-verify-uart-capture/
R592026-09-07
Sorulan: CR4 çekirdeği (reset vektörü + reset döngüsü IOCTL 0x23→0x03→0x01) başlatılabilir mi?
Cevap: 3 denemede başarısız. R59a boot USB-init döngüsüne takıldı, R59b SD kart firmware tarafından okunamadı (ikisi de kart oturması); R59c reseat sonrası firmware+NVRAM 3. kez PASS ama CR4 START başarısız — reset döngüsü saati kesti (R51 gibi).
Kök neden R59a/b: kart oturması
Firmware USB-boot döngüsü / SD okunamaması bizim kodumuz değil, kart yuvası oturmasıydı; Mac kartı sorunsuz okudu, SHA doğrulandı. Reseat düzeltti.
CR4 START saati kesiyor
R59c: firmware+NVRAM OK=1 ama çekirdek serbest bırakılınca wrapper/TCM karardı; ilk hipotez 'reset döngüsü saati kesiyor'.
Doğru çalışanlar
- Firmware+NVRAM 3. kez PASS (OK=1).
imaj 6c54b6ed0cbfdff19381d13c0218b548c4f62d342510984f7d9229edc396eb21
kanıt evidence/rpi5/radio/attempt-r59c-cr4-start-uart-capture/
R602026-09-07
Sorulan: Reset döngüsü yerine doğrudan CPUHALT temizlense saat düşmesi önlenir mi?
Cevap: Hayır. Clear-CPUHALT de saati kesti (IOCTL_F=0x00, STARTED=0). Sorun reset döngüsü değil; çekirdek serbest bırakılınca backplane saat-tutması kayboluyor.
Reset değil, saat-tutma
Reset döngüsünü atlayıp doğrudan CPUHALT temizlemek de wrapper'ı kararttı → suçlu reset dizisi değil, saatin tutulmaması.
imaj aec507b4630d9f3aef2c568e79b1c8772664d94f7e50e9d82858e3743814a0d3
kanıt evidence/rpi5/radio/attempt-r60-cr4-start-cpuhalt-clear-uart-capture/
R612026-09-07
Sorulan: Backplane saati (ALP) tutulursa çekirdek serbest bırakılınca ayakta kalır mı?
Cevap: R61a çok gürültülü boot'ta firmware sektör 576'da abort etti (CR4-start test edilemedi). R61b temiz PASS'te: ALP tutuldu ama CR4-start yine saati kesti — HT gerekiyor ve verilemiyor.
ALP tutmak yetmiyor
ALP tutulmuş olsa da çekirdek un-halt olunca wrapper karardı; asıl gereken HT ve o gelmiyor.
Doğru çalışanlar
- R61b firmware+NVRAM temiz PASS.
imaj a8d547da552a2a97042ef550c71ad7ecc2f4a52f4948f54e70519f719f9447d8
kanıt evidence/rpi5/radio/attempt-r61b-cr4-start-clkhold-retry-uart-capture/
R622026-09-07
Sorulan: FGC (Force Gated Clock) biti saati zorlar mı?
Cevap: Yetmedi. CLK_CSR=0x58 CLK_ALP=1 ama IOCTL_F=0x00 STARTED=0. Saat ZORLANMADIĞI için ALP kaynağı çekirdek un-halt olunca düştü.
FGC tek başına çözmedi
FGC ile de wrapper karardı; o an 'saat zorlanmalı' diye yorumlandı.
imaj acd3a6b503b3d55e8521f255bb6b0c8628e735127eee1727f2b466c4bb9f2f6c
kanıt evidence/rpi5/radio/attempt-r62-cr4-start-fgc-uart-capture/
R632026-09-07
Sorulan: Zorlanmış ALP + FGC birlikte HT'yi getirir mi?
Cevap: Hayır (5. deneme). CLK_CSR=0x69 CLK_HT=0 CLK_ALP=1 IOCTL_F=0x00 STARTED=0. CR4-start bir HT/PMU duvarı gibi görünüyor.
HT/PMU duvarı ilk kez adlandırıldı
Zorlanmış ALP+FGC de HT üretmedi; duvarın saat/PMU kaynaklı olabileceği ilk kez yazıldı.
imaj 7d2b4efc764d92127b581ca736604301b6732bbaf50fb4d9a6fc370880948d96
kanıt evidence/rpi5/radio/attempt-r63-cr4-start-force-alp-uart-capture/
R642026-09-07
Düzeltme (R14 sonrası): R72/R73: boşluk bitleri 3/16/18 saat kaynağı DEĞİL (HSICLDO/PERST/ILP); PMU-force ölüydü.
Sorulan: PMU salt-okunur tanısı: duvar takılı-silikon mu, düzeltilebilir-PMU mu?
Cevap: Salt-okunur PMU tanısı: PMU kararlı (takılı-transition değil), minimum kaynaklarda. RES_STATE=0x0fcaff77 == MINRES, MAXRES=0x0fcfff7f (fark: bit 3/16/18), RES_PEND=0, PMU STAT=0x2a.
PMU kararlı, minimumda
RES_STATE==MINRES ve RES_PEND=0 → PMU takılı değil; MAXRES daha fazlasına izin veriyor → o an 'düzeltilebilir-PMU' sanıldı (R72/R73 bu boşluk bitlerinin saat olmadığını gösterdi).
Doğru çalışanlar
- Salt-okunur — cihaza yazma yok.
imaj eb79f153839db56e5d75f4750e78ddede4061b3b63ef605351d50e86a0f94797
kanıt evidence/rpi5/radio/attempt-r64-pmu-probe-uart-capture/
R652026-09-07
Düzeltme (R14 sonrası): R72/R73: HT host-tarafı açılamaz (max_res_mask HT bitlerini kapatır) → PMU-force yapısal olarak etkisiz.
Sorulan: min_res_mask'i MAXRES'e çekmek HT/PLL kaynağını açar mı?
Cevap: Sonuçsuz. min_res_mask=MAXRES yazıldı ama RES_STATE değişmedi, HT gelmedi (CLK_HT=0, OK=0). Yazmanın gerçekten oturduğu teyit edilmedi.
PMU-force etkisiz
İlk PMU yazması; RES_STATE hareket etmedi. Yazma teyidi gerekiyordu → R66.
imaj 4b950251d6791ea3ddce4c84dacd01766c93ccb1560d525609176f10313fb16b
kanıt evidence/rpi5/radio/attempt-r65-pmu-force-cr4-start-uart-capture/
R662026-09-07
Sorulan: PMU-force yazması gerçekten oturuyor mu (geri-okuma)?
Cevap: Geri-okuma da gürültülü: MINRES_SET geri 0x0f000f00 okundu, IOCTL_F=0x18181818. /16 SD saatinde cr4_start-içi okumalar güvenilmez — bu, sonraki denemelerde DATA-tabanlı okumaya geçişi motive etti.
/16'da cr4_start-içi okuma güvenilmez
Geri-okumalar gürültülü/garbage → makbuz güvenilirliği için DATA-tabanlı okuma ve doğru oracle gerektiği anlaşıldı.
imaj 32740a16d365409765c68b278fa081c9b23d166433fc69311679b95e98cd9bb5
kanıt evidence/rpi5/radio/attempt-r66-pmu-force-readback-uart-capture/
R672026-09-07
Sorulan: cyw43/brcmf'in DOĞRU dizisi + doğru oracle ile çekirdek çalışır mı?
Cevap: Firmware çalışmadı (HT 1 sn'de gelmedi, STARTED=0). Reframe: HT firmware-sürümlü (~29ms SONRA), kararmış wrapper NORMAL hand-off. Ama RST_ASSERT=0 → o an 'yanlış wrapper (idle slave)' şüphesi doğdu.
Doğru dizi de çalıştırmadı
rstvec adres-0'a, reset döngüsü, terminal 0x01; RSTVEC_OK=1 ALIAS_OK=1 IOCTL_B=0x21 ama HT_AVAIL=0. Araştırma: HT firmware-sürümlü, dark wrapper normal.
Doğru çalışanlar
- Firmware+NVRAM PASS; araştırma workflow'u ile doğru dizi çıkarıldı.
imaj 0e794c4ecb86d55185100e77a5e1962e2df8c5aaffb2afde1e42d751bce9e30d
kanıt evidence/rpi5/radio/attempt-r67-cr4-start-ht-oracle-uart-capture/
R682026-09-07
Düzeltme (R14 sonrası): R73: 'FGC suçlu' YANLIŞTI — karanlık okuma FGC saat-gate'inin beklenen etkisi; FGC geri konunca da çekirdek çalışmadı.
Sorulan: 0x18102000 gerçek CR4 wrapper mı yoksa idle slave mı (yazmaya yanıt veriyor mu)?
Cevap: Wrapper GERÇEK: IOCTL_B=0x21 reset döngüsünden ÖNCE temiz okundu (idle slave bunu vermezdi). Ama 0x23 (CPUHALT|FGC|CLK) yazınca sonraki TÜM okumalar 0x00 = wrapper karardı. O an FGC suçlu sanıldı.
Yanlış-wrapper ipucu çürüdü
IOCTL_B=0x21 temiz → 0x18102000 doğru CR4 wrapper. Yazmadan sonra 0x00 → o an 'FGC backplane okuma yolunu kesiyor' diye yorumlandı.
imaj e31c8ed7e153b3c650388167cba86ac7ffe1a8446526a11c09067497b1195517
kanıt evidence/rpi5/radio/attempt-r68-wrapper-response-diag-uart-capture/
R692026-09-07
Düzeltme (R14 sonrası): R72/R73: karartma zaten CR4/HT saat-domeninin beklenen etkisi; wrapper canlılık göstergesi değildi.
Sorulan: FGC reset döngüsünden çıkarılırsa wrapper okunabilir kalır mı?
Cevap: Hayır. Aynı 0x21 değerini (FGC yok) yazınca da IOCTL_PRE=0x00 (wrapper karardı). O an 'yazmanın kendisi, değerden bağımsız, wrapper'ı karartıyor' diye yorumlandı.
FGC-özgü değil
0x21 (değişmeyen değer, FGC yok) yazınca da karardı → FGC hipotezi o an çürütüldü sanıldı; asıl neden sonra anlaşıldı.
imaj c4a3100887175454c97b98418d71c55b8454d2b8a719bce4a506c0d774478b9a
kanıt evidence/rpi5/radio/attempt-r69-reset-no-fgc-uart-capture/
R702026-09-07
Sorulan: Doğru başarı-göstergesi (sdpcm_shared @ 0x237FFC) çekirdeğin koştuğunu gösterir mi?
Cevap: Araştırma: HT_AVAIL ve wrapper CR4 yürütmesini raporlayamaz. Doğru gösterge 0x237FFC (rambase+ramsize-4). Ama saat temizken SHARED_RAW=0x00 (token bile değil) — çekirdek serbest bırakılınca TCM okuması karardı.
Yeni olgu: release sonrası TCM karardı
Adım 2'de (halt) adres-0 TCM okundu; adım 5'te (serbest) 0x237FFC=0x00. O an 'saati temizlediğimiz için backplane saati düştü' diye yorumlandı → R71.
Doğru çalışanlar
- Salt-okuma oracle değişikliği (0 cihaz yazması); firmware+NVRAM PASS.
imaj ffce629f31a01cde65524b678884d2fce95af096d928a05a326ef22de2349fde
kanıt evidence/rpi5/radio/attempt-r70-shared-word-oracle-uart-capture/
R712026-09-07
Sorulan: Backplane saati (ALP) tutulursa release sonrası 0x237FFC okunabilir mi?
Cevap: Hayır. CLK_CSR=0x49 (ALP tutuldu) ama SHARED_RAW yine 0x00. Karartma saatten BAĞIMSIZ: çekirdeğin reset'ten çıkması host'un TCM erişimini saatten bağımsız karartıyor.
Saat-tut hipotezi çürüdü
ALP zorla-tutulsa bile TCM okunamadı → sorun host clock isteği değil.
imaj eeb8e70d6fe78007e0cd6455c376d03a61257d6b0a647ffddfc2cb32606bef4d
kanıt evidence/rpi5/radio/attempt-r71-hold-alp-clock-uart-capture/
R722026-09-07
Düzeltme (R14 sonrası): R73: 'LPO donanım duvarı' FAZLA-ÇIKARIMDI — EXT_LPO_AVAIL=0 normaldir (43455 iç LPO; Pi'de harici 32kHz yok); HAVEALP=1+res_pend=0 iç LPO'yu kanıtlar.
Sorulan: Çekirdek bölgesi DIŞINDA, always-on tanıklar çekirdeğin koştuğunu gösterir mi?
Cevap: EROM'dan SDIO çekirdeği (0x829 @ 0x18004000) bulundu. CC_CHIPID=0x4345 (backplane canlı) ama MBOX=0, INTSTAT=0 (1 sn), RES_PEND=0, EXECUTED=0 → yürütme tanığı yok. O an EXT_LPO_AVAIL=0 görülüp 'LPO donanım duvarı' sanıldı.
Doğru gösterge: yürütme yok
Always-on SDIO mailbox/intstatus + PMU (CR4/HT domeni dışında) hiç yürütme sinyali göstermedi.
Doğru çalışanlar
- Salt-okuma (0 cihaz yazması); firmware+NVRAM PASS.
imaj 720c459005a27c78a559ed8a181899f8b84e6ad7ff602aa4dd170ba1bfce50cc
kanıt evidence/rpi5/radio/attempt-r72-execution-witness-uart-capture/
R732026-09-07
Sorulan: FGC geri yüklenirse (R69'u tersine çevir) + doğru oracle ile çekirdek koşar mı?
Cevap: Hayır. FGC geri (0x23/0x03) ama MBOX=0, INTSTAT=0, RES_PEND=0, EXECUTED=0 — R72 ile aynı. FGC de belirleyici değil. PMU_TA=PMU_TB=0x00 (belirsiz). İki fazla-çıkarım düzeltildi.
İki yorum dürüstçe düzeltildi
(a) EXT_LPO_AVAIL=0 normaldir (iç LPO aktif); (b) FGC var/yok fark etmiyor. Kalan tek spesifik hipotez: 4345 CR4 rstvec/giriş semantiği (backplane-0 vs rambase).
Doğru çalışanlar
- Firmware+NVRAM 16. kez PASS; doğru always-on gösterge kuruldu. CR4 yürütmüyor — kapsamlı belgelenmiş donanım/giriş duvarı.
imaj aa17c94c852b077e6004b05d9b89173f9355f5fa3fb63242a9fddb258fb49311
kanıt evidence/rpi5/radio/attempt-r73-fgc-restore-witness-uart-capture/
R742026-09-08
Sorulan: Kaynak-teyitli tek KESİN sapma — brcmf'in cr4_set_passive'de D11 (802.11 MAC) çekirdeğini disable etmesi — uygulanırsa CR4 koşar mı?
Cevap: Hayır (16. CR4-start denemesi; radyo kapanışı). Önce rstvec kaynakla DOĞRU teyit edildi (brcmfmac chip.c:1343 ve sdio.c:3903-3905 — backplane adres-0 yazması CR4 için doğru, CM3-ism değil). Bu satır numaraları R75 kontrol koşusunun çalıştırdığı ağaca aittir: Linux 6.18.34+rpt-rpi-2712, drivers/net/wireless/broadcom/brcm80211/brcmfmac/. Kaynak dosyalar bu depoda YOKTUR; iddia depoda yalnızca R80 trace'i ve R75 dmesg'i ile bağımsız olarak doğrulanabilir. Sonra D11-disable uygulandı: EROM D11'i buldu (D11_WRAP=0x18101000), yazmalar landı — ama yürütme yine YOK (MBOX=0, INTSTAT=0, RES_PEND=0, EXECUTED=0). Firmware 17. kez PASS.
rstvec kaynak-teyitli DOĞRU (elenen 4. lead)
brcmfmac cr4_set_active gerçek rstvec'i ops->activate'e geçirir (chip.c:1343, Linux 6.18.34+rpt-rpi-2712 ağacı); sdio.c:3903-3905 rstvec'i backplane ADRES 0'a yazar; cm3_set_active 0 geçer (guard atlar) → adres-0 yazması CR4'ün doğru yoludur, CM3-ism değil. Bizim yaptığımız birebir doğru. Vektör hata DEĞİL.
D11-disable uygulandı, çekirdek yine koşmadı
Tek KESİN upstream sapması (brcmf cr4_set_passive D11'i disable eder, chip.c:1334; biz atlıyorduk). EROM D11'i (0x812) 0x18101000'de buldu; ai_coredisable yazmaları R5-temiz. Ama MBOX/INTSTAT/RES_PEND/EXECUTED hepsi 0. D11 de elendi. (D11 wrapper'ı CR4 gibi yazma-sonrası karardığından disable geri-okumayla teyit edilemez, ama yazmalar landı.)
Radyo dürüstçe kapatıldı
Elenen kaynak-teyitli/spesifik ipuçları: reset-dizisi (FGC/saat/oracle), rstvec (doğru), D11-disable (uygulandı, sonuç yok). Kalan iki olasılık doğrulanmış sdio.c/chip.c yolunun DIŞINDA ve zayıf: nvram trailing-token biçimi (firmware.c), fw[0] entry bu imaj için. Fiziksel döngüyü hak edecek güçte değil.
Doğru çalışanlar
- Firmware+NVRAM 17. kez PASS; EROM D11 (0x812) çekirdeğini buldu ve hedefledi.
- rstvec/CR4-giriş kaynak-teyitli DOĞRU (blind düzeltme yapılmadı).
- CR4 yürütmüyor — 16 denemede kaynak-teyitli elemelerle kapsamlı belgelenmiş donanım/giriş duvarı. Radyo donduruldu.
imaj 0d171f223ce4766813a130a49a18c2c140d88c57500dbd9e90880155101fa25b
kanıt evidence/rpi5/radio/attempt-r74-d11-disable-uart-capture/
R752026-09-08 (cihaz saati 2026-06-18)
Sorulan: Aynı fiziksel Raspberry Pi 5 kartı tam cold boot sonrası Linux/brcmfmac ile BCM43455'i çalıştırabiliyor mu?
Cevap: Evet. R75 Linux kontrolü pozitif: brcmfmac aynı F1 imzasını/CHIPID'i okudu, aynı 43455 firmware ailesiyle firmware preinit'i tamamladı, wlan0 arayüzü oluştu ve Bluetooth HCI hci0 çalıştı. Bu association/ping kanıtı değildir; WLAN soft-blocked kaldı.
Linux Wi‑Fi firmware yolu çalıştı
dmesg: brcmfmac F1 signature read @0x18000000=0x15264345; brcmf_fw_alloc_request brcm/brcmfmac43455-sdio kullandı; brcmf_c_preinit_dcmds firmware satırı geldi: BCM4345/6 wl0, version 7.45.265, FWID 01-b677b91b. Negatif aramada HT Avail timeout veya brcmf firmware-start failure satırı yok.
Aynı firmware kimlikleri
Linux kartındaki 43455 dosyalarının SHA256'ları AselsanOS sayfasındaki pinlerle aynı: standard firmware d608f866…, NVRAM txt ca709be8…, CLM blob 9823842c…. Yani R75, farklı blob ailesiyle alınmış bir başarı değil.
Bluetooth HCI de çalıştı
Bluetooth hci0 UP/RUNNING, BCM43455 37.4MHz satırı görüldü; hciconfig RX/TX event/command sayacı pozitif; btmon başarılı HCI Command Complete olayları kaydetti. R2–R53'teki AselsanOS TX=4 ANSWERED=0 suskunluğu Linux'ta tekrar etmedi.
Doğru çalışanlar
- R75 cloud-init otomasyonu tamamlandı ve EVIDENCE_SHA256SUMS mühürü doğrulandı.
- wlan0 managed interface olarak oluştu; rfkill WLAN soft-blocked=yes, hard-blocked=no — ilk kurulum politikası, firmware start hatası değil.
- Bu sonuç kart/silikon/blob 'asla çalışmaz' hipotezini kapatır; sıradaki AselsanOS işi Linux-vs-AselsanOS host-init first-diff'tir.
imaj Raspberry Pi OS 64-bit · Linux 6.18.34+rpt-rpi-2712 · Raspberry Pi 5 Model B Rev 1.1
kanıt evidence/rpi5/radio/attempt-r75-linux-control/
R762026-09-08
Sorulan: Linux brcmf_sdio_buscore_activate() gibi SDIO core intstatus'u rstvec'ten önce temizlemek CR4 yürütmesini başlatır mı?
Cevap: Hayır. R76 tek semantik değişkeni doğru uyguladı: SDIO_INT_B=0x00020000, SDIO_INT_CLR=1, SDIO_INT_A=0x00000000. Latch temizlendi ama MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0 kaldı.
intstatus clear yazması gerçekten landı
R76'nın yeni CR4START makbuzu SDIO core interrupt latch'inin önce 0x00020000 olduğunu, 0xffffffff clear yazmasının başarıyla çıktığını ve sonrasında 0x00000000 okunduğunu gösterdi.
CR4 yürütme tanığı yine yok
MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0. Bu yüzden intstatus temizliği tek başına Linux/AselsanOS first-diff değil.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- Ekran ve touch yolu geldi: SCREEN0 ve TOUCHREADY; fiziksel görüntü kullanıcı tarafından görüldü.
imaj 168bd3bb47464bddf0ef33e4b0e365ea946206d959985e6ed77d74712726551d
kanıt evidence/rpi5/radio/attempt-r76-intstatus-first-diff-uart-capture/
R772026-09-08
Sorulan: Linux brcmf_sdio_kso_init() gibi SLEEPCSR KSO bitini D11/rstvec öncesi set etmek CR4 yürütmesini başlatır mı?
Cevap: Hayır. R77 ölçtü: KSO_REV=21, KSO_B=0x03, KSO_W=1, KSO_A=0x03, KSO_SET=1, KSO_DEVON=1. KSO/DEVON zaten iyiydi; MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0 kaldı.
KSO init uygulanabilir ama eksik halka değil
SDIO core rev 21 olduğu için Linux KSO init kuralı geçerliydi. Ancak KSO_B=0x03, KSO ve DEVON bitlerinin yazmadan önce zaten 1 olduğunu gösterdi. Yazma yolu KSO_W=1 ile tamamlandı, KSO_A=0x03 kaldı.
CR4 yürütme tanığı yine yok
R76 intstatus clear yine land etti, fakat MBOX/INTSTAT/EXECUTED/STARTED sıfır kaldı. KSO init tek başına Linux/AselsanOS first-diff değil.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- Ekran ve touch yolu geldi: SCREEN0 ve TOUCHREADY.
imaj bd7d86e59b0ac8c083738e9455619169ff3accb23f946ebd041769820220cebb
kanıt evidence/rpi5/radio/attempt-r77-kso-init-uart-capture/
R782026-09-08
Sorulan: Exact Linux brcmf_sdio_buscoreprep clock dizisini (CHIPCLKCSR 0x28→0x21) KSO/D11/rstvec öncesine almak CR4 yürütmesini başlatır mı?
Cevap: Hayır. R78 clock dizisini uyguladı: CLK_REQ=0x28, CLK_R=0x68, CLK_HOLD=0x21, CLK_CSR=0x61. Ama MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0 kaldı; ayrıca WRITE_OK=0 ile bu yerleşim zararlı çıktı.
Exact clock landed, CR4 başlamadı
Linux buscoreprep byte'ları ölçüldü: 0x28 isteği, 0x68 readback, 0x21 hold, 0x61 son CSR. Buna rağmen host-görünür yürütme tanığı yok.
Yan etki: WRITE_OK düştü
R76/R77'de WRITE_OK=1 iken R78'de WRITE_OK=0 oldu. Bu yüzden sonraki adaylarda exact 0x28→0x21 tutulmayacak; R77'nin non-harmful 0x29→0x09 clock baseline'ına dönülecek.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- Ekran ve touch yolu geldi: SCREEN0 ve TOUCHREADY.
imaj bc3889b94248af6c7f1b24298beee134be7ea1c1af8eb16662ce94eb46a26925
kanıt evidence/rpi5/radio/attempt-r78-exact-buscoreprep-clock-uart-capture/
R792026-09-08
Sorulan: Linux probe_attach() gibi Function-0 CARDCTRL_WLANRESET bitini KSO sonrası, D11/rstvec öncesi set etmek CR4 yürütmesini başlatır mı?
Cevap: Hayır. R79 ölçtü: CARD_B=0x01, CARD_W=1, CARD_A=0x03, CARD_WLANRST=1, CLK_REQ=0x29, CLK_HOLD=0x09, WRITE_OK=1. Bit land etti ama MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0 kaldı.
CARDCTRL_WLANRESET yazması gerçekten landı
Function-0 0xf1 önce 0x01 okundu, bit 1 set edildi, sonra 0x03 geri okundu. CARD_WLANRST=1. R77 clock baseline korundu ve WRITE_OK=1 geri geldi.
CR4 yürütme tanığı yine yok
MBOX=0, INTSTAT=0, HT_AVAIL=0, EXECUTED=0, STARTED=0. Bounded first-diff 1–4 (intstatus, KSO, exact clock, CARDCTRL) tek başına elendi.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- Ekran ve touch yolu geldi: SCREEN0 ve TOUCHREADY.
imaj 8892f43599572bd3f23a5aeb3091490258ecdec35a20e1a53cc164271f06070f
kanıt evidence/rpi5/radio/attempt-r79-cardctrl-wlanreset-uart-capture/
R802026-09-08
Sorulan: Aynı Pi 5'te Linux brcmfmac/mmc/sdio işlem sırası boot-time ftrace ile yakalanır mı?
Cevap: Evet. Manuel collector `R80 done` yazdı. wlan0 managed (ch 36), hci0 UP RUNNING, CHIPID 0x15264345, firmware 7.45.265. 27 MB function trace: buscoreprep @25.714586, htclk @25.823750, ramrw @25.823769.
Linux buscoreprep firmware indirmeden önce
brcmf_sdio_buscoreprep probe'da, ramrw'dan ~109 ms önce. R78 aynı clock byte'larını CR4-start sonrasına koyduğu için yanlış yere uyguladı ve WRITE_OK=0 oldu.
htclk hemen ramrw öncesi
firmware_callback → htclk → ramrw. KSO watchdog thread firmware ayaktayken geliyor; R77'nin rstvec-öncesi KSO'su bu izdeki ilk kso_control değil.
Doğru çalışanlar
- Aynı blob SHA: standard.bin d608f866, nvram ca709be81, clm 9823842cae.
- trace.txt 90916 kayıt, mmc1 Wi-Fi SDIO, tracing_on=1.
imaj linux-r80-manual-collector
kanıt evidence/rpi5/radio/attempt-r80-linux-sdio-trace/
R812026-09-08
Sorulan: Linux probe_attach (KSO+CARDCTRL+PMU RES_RELOAD+D11) firmware'den önce ve htclk ALP_AVAIL_REQ 0x08 ramrw hemen öncesi CR4'ü başlatır mı?
Cevap: Hayır; koşu CR4-start'a ulaşmadı. ATTACH KSO/CARDCTRL land etti, HTCLK REQ=0x08 ALP=1 HT=0, sonra firmware heartbeat S=64/1191'de durdu. SCREEN0/TOUCHREADY/CR4START yok. PMU RELOAD=0 ve D11_RST=0 (0x18181818 gürültü).
HTCLK 0x08 ramrw öncesi TCM yolunu durdurdu
Buscoreprep hold 0x21'i ALP_AVAIL_REQ 0x08 ile değiştirdikten sonra stage_to_tcm S=64'te takıldı. R79 aynı kartta FWSTAGE OK=1 ve TOUCHREADY üretmişti. R70 saat temizlemenin TCM'i kararttığını zaten göstermişti; Linux alp_only bu yuvaya kopyalanamaz.
KSO ve CARDCTRL attach yuvasında land etti
KSO_B=0x03 KSO_A=0x03 SET=1 DEVON=1; CARD_B=0x01 CARD_A=0x03 WLANRST=1. Bunlar R77/R79 ile aynı bitler, Linux probe_attach yerinde.
Doğru çalışanlar
- BOOT0–BOOT4, WIFIINV, WIFICMD5, CHIPID=0x15264345, EROM NCORES=7.
- Yeşil LED SD erişimini gösterdi; UART 12932 B (usb-reset 0 B ayrı).
imaj 90d221007f6d834e3176b0f4de1d96f5bf15769b42455c7dd8225406722b716c
kanıt evidence/rpi5/radio/attempt-r81-linux-order-combined-uart-capture/
R822026-09-08
Sorulan: R81 HTCLK 0x08 yazmadan, buscoreprep ALP hold 0x21 ile firmware indirmek CR4 yolunu açar mı?
Cevap: Hayır. HTCLK SKIP=1 CSR=0x61 ALP=1 doğru hold'u gösterdi ama FWSTAGE yine S=64'te durdu. SCREEN0/CR4START yok. 0x08 tek neden değil.
ALP hold ramrw'ya kadar durdu, TCM yine takıldı
REQ=0x00 SKIP=1 CSR=0x61 = FORCE_ALP|ALP_AVAIL. Firmware heartbeat S=0 sonra S=64, UART 12959 B'de dondu. Yeşil LED söndü.
R79 farkı: attach'te PMU+D11 firmware öncesi
R79 firmware'i bitirdi; KSO/CARDCTRL CR4-start'taydı. R81/R82 attach PMU RES_RELOAD ve D11 disable'ı ramrw öncesine aldı. R83 bunları atlar.
Doğru çalışanlar
- BOOT0–EROM, CHIPID=0x15264345, ATTACH KSO/CARDCTRL land, HTCLK SKIP=1.
imaj b41f096b0d82aadc1bd211aa07a39d5933be3e5ea234a9d4e7be9a1a3c0cedca
kanıt evidence/rpi5/radio/attempt-r82-alp-hold-through-ramrw-uart-capture/
R832026-09-08
Sorulan: Attach'te yalnız KSO+CARDCTRL (PMU RES_RELOAD ve D11 disable ramrw öncesi yok) firmware'i R79 gibi bitirir ve CR4'ü başlatır mı?
Cevap: Firmware evet, CR4 hayır. SKIP_PMU=1 SKIP_D11=1, HTCLK SKIP=1 CSR=0x61, FWSTAGE OK=1, NVRAM OK=1, TOUCHREADY. CR4START WRITE_OK=1 ama MBOX=0 INTSTAT=0 EXECUTED=0 STARTED=0 HT_AVAIL=0. Wi-Fi PASS değil.
R81/R82 S=64 takılması PMU+D11 ramrw öncesinden
Aynı HTCLK skip ile R82 S=64'te durdu; R83 o iki yazmayı atlayınca SECTORS_DONE=1191 OK=1 ve NVRAM OK=1 geldi. KSO+CARDCTRL attach yuvası TCM ile uyumlu.
CR4 tanığı R79 ile aynı sıfır
CLK_REQ=0x29 CLK_HOLD=0x09 WRITE_OK=1. CARD_B=0x03 (attach'te zaten 0x03). D11_RESET=0. MBOX/INTSTAT/EXECUTED/STARTED/HT_AVAIL=0.
SCREEN0 UART makbuzu; operatör görüntü görmedi
UART BACKLIGHT=15 PANEL_ENABLE=1 DMA_IRQ=0x45 TOUCHREADY yazdı ama PHYSICAL=0 PIXEL=0. Operatör panele görüntü gelmediğini bildirdi. Bu R81/R82 S=64 takılması değil (yeşil LED sönmedi, FWSTAGE OK=1).
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü görmedi.
imaj 69014605ca9f5fa94030e8976d2a719f67a86abfcfbadf290b3f9e5558372d01
kanıt evidence/rpi5/radio/attempt-r83-attach-kso-cardctrl-only-uart-capture/
R842026-09-09
Sorulan: Attach'te KSO+CARDCTRL'ye yalnız PMU RES_RELOAD eklemek (D11 ramrw sonrası) firmware'i bozar mı, CR4'ü başlatır mı?
Cevap: Firmware bozuldu, CR4'e ulaşılmadı. SKIP_PMU=0 SKIP_D11=1, HTCLK SKIP=1 CSR=0x61. PMU CTL_W=0 CTL_A=0x18181818 RELOAD=0. FWSTAGE_P S=0'da durdu. SCREEN0/CR4START yok. PASS değil.
Pre-ramrw PMU yazması D11 olmadan da TCM'i durdurur
R83 aynı HTCLK skip ile FWSTAGE OK=1 verdi. R84 yalnız PMU RES_RELOAD ekledi; yazma land etmedi (0x18181818) ve heartbeat S=0'da kaldı. R82 S=64 takılması D11'e indirgenemez.
PMU okunurdu, yazma bozdu
CTL_B=0x01770181 (R83 NVRAM sonrası dump ile aynı aile). CTL_W=0, sonra CTL_A=0x18181818. Linux probe_attach yuvasındaki bu yazma bu bus'ta kopyalanamaz.
Doğru çalışanlar
- BOOT0–EROM, CHIPID=0x15264345, ATTACH KSO/CARDCTRL land, HTCLK SKIP=1.
- SKIP_PMU=0 SKIP_D11=1 bayrakları UART'ta görüldü.
imaj 0973ea248156e82d956ecb502104b7b8f7f868630d77089f80daa6375c01a239
kanıt evidence/rpi5/radio/attempt-r84-attach-pmu-reload-uart-capture/
R852026-09-09
Sorulan: PMU RES_RELOAD'u NVRAM'den sonra, ramrw öncesi değil, yazmak CR4'ü başlatır mı?
Cevap: Hayır. Firmware ve NVRAM OK=1. PMUREL CTL_B=0x01770181 CTL_W=0 CTL_A=0x18181818 RELOAD=0. CR4START RSTVEC_OK=0 WRITE_OK=0, bütün tanıklar 0x18181818. EXECUTED=1 STARTED=1 WITNESS_MS=0: mailbox!=0 gürültüye denk geldi, ARM yürütmesi değil. PASS değil.
Aynı yazma ramrw sonrasında da bus'ı bozuyor
R84 ramrw öncesi S=0 takılması; R85 firmware'i bitirdi sonra aynı PMUControl yazması 0x18181818 üretti. CTL okunuyor, yazma land etmiyor.
EXECUTED=1 yanlış pozitif
cr4_start mbox_data!=0 görünce executed=true diyor. 0x18181818 sıfır değil; WITNESS_MS=0. R83'te MBOX=0 EXECUTED=0 WRITE_OK=1 idi.
Operatör DSI panelde görüntü gördü
UART SCREEN0 PHYSICAL=0 PIXEL=0 (çekirdek piksel iddiası yok). Operatör R85 imajında panele görüntü geldiğini bildirdi. R83'te aynı protokolde görüntü yoktu. Bu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü geldi dedi.
imaj 44340ede7b0e251b6bd1001fc8cbda7de61dd84468918647031937c0d75aa22a
kanıt evidence/rpi5/radio/attempt-r85-post-nvram-pmu-reload-uart-capture/
R862026-09-09
Sorulan: PMUControl'ü Linux sdiod_writel gibi tek CMD53 4 bayt + 4B bayrağı ile yazmak biti land eder mi, bus'ı bozar mı?
Cevap: Land etmedi, bus bozulmadı. PATH=C53_4B C53_OK=0 C53_B=0 C53_ERR=0x0020, CTL_A=0x01770181 RELOAD=0. CR4START RSTVEC_OK=1 WRITE_OK=1 MBOX=0 EXECUTED=0 WITNESS_MS=1000 (R83 kalıbı, R85 gürültüsü değil). PASS değil.
4× CMD52 zehirdi; CMD53 4B CRC ile düştü ve kaydı değiştirmedi
R85 CTL_A=0x18181818. R86 aynı yuvada Linux writel: DATA CRC 0x0020, C53_B=0, PMUControl aynı kaldı. 0x18181818 yok.
CR4 tanıkları yine dürüst sıfır
EXECUTED=0 STARTED=0 WRITE_OK=1 CHIPID=0x15264345. RES_RELOAD bu host'ta CR4-start kolu değil.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0.
imaj 47ed584bb1c67474cd8f64b1933079dc5dcda44ae6cfa2d1694b79674ae7d1e8
kanıt evidence/rpi5/radio/attempt-r86-pmu-writel-uart-capture/
R872026-09-09
Sorulan: pmu_res_reload'u boot yolundan çıkarmak R83 firmware+CR4 tanık kalıbını geri getirir mi?
Cevap: Evet kalıp, hayır CR4. PMUREL yok. FWSTAGE OK=1, NVRAM OK=1. CR4START RSTVEC_OK=1 WRITE_OK=1 MBOX=0 EXECUTED=0 WITNESS_MS=1000. 0x18181818 yok. PASS değil.
RES_RELOAD bu host'ta CR4-start kolu değil
R84/R85 yazınca bus öldü; R86 CMD53 CRC; R87 yazmayınca R83 tanıkları döndü. Bit land etmiyor ve çekirdeği başlatmıyor.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0.
imaj db99ca474e96b88fa22538f90cabbf1f35285b196e4ab3ed7f3b85808badfbf2
kanıt evidence/rpi5/radio/attempt-r87-drop-pmu-reload-uart-capture/
R882026-09-09
Sorulan: Linux buscore_activate ramrw gibi rstvec'i adres 0'a CMD53 4 bayt + 4B bayrağı ile yazmak vektörü land eder mi, CR4'ü başlatır mı?
Cevap: Land etmedi, CR4 başlamadı. RSTVEC_C53=0 RSTVEC_B=0 RSTVEC_ERR=0x0060 RSTVEC_OK=0. WRITE_OK=1 MBOX=0 EXECUTED=0 WITNESS_MS=1000. 0x18181818 yok. PASS değil.
Linux ramrw CMD53 4B bu host'ta rstvec'e de kopyalanamaz
R87 4× CMD52 aynı adreste RSTVEC_OK=1 verdi. R88 CMD53 DATA CRC+END BIT 0x0060 (R40 TCM CMD53 ailesi), C53_B=0, vektör inmedi. Bus zehirlenmedi.
Operatör DSI panelde görüntü gördü
UART SCREEN0 PHYSICAL=0 PIXEL=0. Operatör R88 imajında panele görüntü geldiğini bildirdi. Bu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü geldi dedi.
imaj d3289b2f0d293ed0ecc62ba5e1c0562d6e043b81c1c3b2a6c9fbd9a27ae59ea5
kanıt evidence/rpi5/radio/attempt-r88-set-active-vs-cr4-start-uart-capture/
R892026-09-09
Sorulan: R88'in CMD53 ramrw rstvec yazmasını R87 cmd52_write_u32'ye geri almak vektörü tekrar land eder mi, CR4'ü başlatır mı?
Cevap: Vektör indi, CR4 başlamadı. RSTVEC_OK=1 ALIAS_OK=1 RSTVEC_C53=0 RSTVEC_ERR=0x0000. WRITE_OK=1 MBOX=0 EXECUTED=0 WITNESS_MS=1000. 0x18181818 yok. PASS değil.
CMD52 rstvec landing R87 kalıbına döndü
R88 RSTVEC_OK=0 ERR=0x0060. R89 aynı adreste 4× CMD52: RSTVEC_OK=1 C53 kullanılmadı. CR4 yine EXECUTED=0.
Operatör DSI panelde görüntü gördü
UART SCREEN0 PHYSICAL=0 PIXEL=0. Operatör R89 imajında panele görüntü geldiğini bildirdi. Bu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü geldi dedi.
imaj 57bae63ce3c33cec1a4d969da380ca9bd45872e5d47dd195fce28993cbf7315a
kanıt evidence/rpi5/radio/attempt-r89-rstvec-cmd52-restore-uart-capture/
R902026-09-09
Sorulan: Linux cr4_set_active gibi aynı rstvec sözcüğünü halt penceresinde CR4 rambase'e yazmak CR4'ü başlatır mı?
Cevap: Hayır. RAM_W=0 RAM_OK=0. RSTVEC_OK=1 (adres 0 önce indi). Sonra IOCTL_TERM/CHIPID/MBOX/INTSTAT=0x18181818, WRITE_OK=0, WITNESS_MS=0 EXECUTED=1 STARTED=1: R85 gürültüsü, ARM yürütmesi değil. PASS değil.
Halt penceresinde rambase yazması bus'ı zehirledi
Firmware aynı rambase'e cr4_start'tan önce cmd52 ile inmişti (FW_INTACT=1). Reset assert sonrası backplane_write32(CR4_RAM_BASE) RAM_W=0 verdi ve sonraki okumalar 0x18181818 oldu.
EXECUTED=1 yanlış pozitif
MBOX=0x18181818 sıfır değil; WITNESS_MS=0. R89'da MBOX=0 EXECUTED=0 WRITE_OK=1 idi.
Operatör DSI panelde görüntü gördü
UART SCREEN0 PHYSICAL=0 PIXEL=0. Operatör R90 imajında panele görüntü geldiğini bildirdi. Bu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü geldi dedi.
imaj 34f127f9a65fcb241b6412880cffa6f2aa600e8853f314da6e530e05a5a3f5f7
kanıt evidence/rpi5/radio/attempt-r90-rambase-rstvec-second-write-uart-capture/
R912026-09-09
Sorulan: R90 rambase rstvec yazmasını boot yolundan çıkarmak R89 firmware+CR4 tanık kalıbını geri getirir mi?
Cevap: Evet kalıp, hayır CR4. RAM_W=0 RAM_OK=0 (yazma yok). RSTVEC_OK=1 WRITE_OK=1 MBOX=0 EXECUTED=0 WITNESS_MS=1000. 0x18181818 yok. PASS değil.
Rambase ikinci yazma bu host'ta CR4-start kolu değil
R90 yazınca bus zehirledi; R91 yazmayınca R89 dürüst sıfırlar döndü. Firmware zaten rambase'de (FW_INTACT=1).
Operatör DSI panelde görüntü gördü
UART SCREEN0 PHYSICAL=0 PIXEL=0. Operatör R91 imajında panele görüntü geldiğini bildirdi. Bu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- Firmware staging PASS: SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM PASS: TOKEN_OK=1, OK=1, FW_INTACT=1.
- UART SCREEN0 ve TOUCHREADY; PHYSICAL=0 PIXEL=0; operatör görüntü geldi dedi.
imaj 3553027c3a857179381ae82f374c5762ee8b37e6430f041bd9dacda8c43aaf46
kanıt evidence/rpi5/radio/attempt-r91-drop-rambase-rstvec-uart-capture/
R932026-09-09
Sorulan: CR4+D11 wrapper erişimlerine 4-bayt bayrağı (0x8000) eklenirse (Linux gibi atomik) çekirdek koşar mı?
Cevap: Hayır — ama aday kök nedeni daralttı. Flagged OKUMA çalıştı (IOCTL_B=0x21 flagged yolla okundu) ama flagged BAYT-CMD52 atomik 32-bit commit vermedi: MBOX=0 INTSTAT=0 EXECUTED=0 (firmware+NVRAM 30. PASS). R92 trace-diff'i (R80) göstermişti: reset değer/sıra Linux'la birebir; tek fark erişim — Linux wrapper'a CMD53 byte-mode 4-byte atomik yazıyor, biz 4×CMD52.
ADAY KÖK NEDEN: küçük-CMD53 yazma transportu (ölçülen ile çıkarımı ayır)
Linux CR4 wrapper register'larını (IOCTL 0x18102408, RESET_CTL 0x18102800) CMD53 byte-mode blocks=1 block_size=4 ile ATOMİK 32-bit yazıyor (R80 trace: cmd_arg=0x95481004/0x95500004 @ 0xA408/0xA800). ÖLÇÜLEN: bizim küçük CMD53 YAZMAMIZ cihazda düşüyor (R86 0x0020, R88 0x0060) ve CMD53 OKUMA ChipCommon'da çalışıyor (R30 gerçek chip-id döndü). ÖLÇÜLMEYEN üç şey açıkça kayıtlıdır: (1) 0x0060 yalnızca yazmaya özgü DEĞİL — R40'ta bir CMD53 OKUMASI da TCM'de TCM_C53_ERR=0x0060 verdi, yani ayrım yön değil ADRES BÖLGESİ olabilir (ChipCommon çalışıyor, TCM/backplane RAM düşüyor); o klasörün README'si de bunu böyle yazıyor. (2) 'cmd53_write busy DAT hattına issue ediyor' mekanizması hiçbir makbuzda ölçülmedi: bus_was_busy alanı yalnız CMD53 OKUMA satırlarında (WIFICMD53/WIFISWEEP) basılıyor ve ölçülen tüm BUSY değerleri sıfır. (3) '4×CMD52 atomik commit vermiyor' bir çıkarımdır; FWSTAGE zaten CMD52 kullanıyor ve sorunsuz. R94 düzeltmesi (busy-gate + DAT0-release poll) kodlandı ama HEAD'in CR4-start yolunda hâlâ tek bir CMD53 yazma yok — yani düzeltme cihazda SINANMADI.
Bir cr4_start tweak'i DEĞİL — SDHCI sürücü işi
Önerilen yol: küçük CMD53 DATA-fazı hatasını düzeltmek (BLKSIZE/BLKCNT, byte-mode, timeout, PIO/DMA, DAT hattı disiplini). Referans implementasyon R80 Linux trace'inde. Flagged okuma çalıştığı için (IOCTL_B=0x21) erişim yolu doğru; hipotez, eksik olanın atomik 32-bit yazma transportu olduğu. Bu hipotez cihazda henüz sınanmadı ve R40'ın okuma tarafındaki 0x0060'ı da açıklamak zorunda.
Doğru çalışanlar
- Firmware+NVRAM 30. kez PASS (R58→R93, makbuzlardan sayıldı).
- CR4 yürütmüyor. Sıradaki iş düzeltilmiş cmd53'ü CR4 wrapper yoluna bağlayıp cihazda sınamak (R94-cihaz); bu bir donanım duvarı DEĞİL (R75 Linux kontrolü).
imaj 5d9ae1a1022ace2af9e190f96e7f7011e20e840a47e919d624aa1fb24a95f838
kanıt evidence/rpi5/radio/attempt-r93-wrapper-4byte-flag-uart-capture/
R952026-09-09
Sorulan: CR4 TCM boyutu çipten ölçülüp NVRAM ile yürütme tanığı RAM'in GERÇEK tepesine taşınırsa çekirdek koşar mı?
Cevap: Hayır — ama iki adayı birden KAPATTI ve kalıcı bir kazanç bıraktı. Çip kendi banka tablosundan RAMSIZE=0x000c8000 dedi (EXPECT_R80 ile birebir); NVRAM artık Linux'un yazdığı adrese (0x0025f92c) iniyor ve yükleme bozulmadı (FW_INTACT=1, 31. PASS). Buna rağmen MBOX=0, INTSTAT=0, EXECUTED=0, HT_AVAIL=0.
KAPI 1 PASS — ramsize artık tahmin değil, ölçüm
ASELSAN/CR4RAM CORE=0x18002000 CAP=0x00000b44 BANKS=8 RAMSIZE=0x000c8000 MEASURED=1 TOP=0x00260000 EXPECT_R80=0x000c8000. CAP'in düşük nibble'ı 4 A-bankası, üst nibble'ı 4 B-bankası veriyor = 8 banka; bu, R80 izindeki sekiz BANKIDX/BANKINFO turuyla da uyuşuyor. Depodaki 0xA0000 sabiti gerçekten 160 KiB eksikti ve yorumu bunu zaten itiraf ediyordu ('609 KB firmware bunu gerektirir'). Ölçüm, izden BAĞIMSIZ ikinci bir kaynaktan aynı sayıyı verdi.
KAPI 2 PASS — yerleşim Linux'la birebir, yükleme bozulmadı
ASELSAN/NVRAM ADDR=0x0025f92c (R93'te 0x0023792c) TOKEN_OK=1 WORDS=437 VERIFIED=437 OK=1 FW_INTACT=1; FWSTAGE SECTORS_DONE=1191 WORDS_V=152448 RETRIES=0 OK=1. 1748 baytlık blob artık tam 0x00260000'da bitiyor — R80 izinde Linux'un yaptığının aynısı.
KAPI 3 NEGATİF — ve bu sefer tanık DOĞRU adresten baktı
MBOX=0x00000000 INTSTAT=0x00000000 EXECUTED=0 HT_AVAIL=0 STARTED=0 SHARED_RAW=0x00000000. Kritik olan şu: SHARED_RAW bu koşuda 0x25FFFC'den okundu, yani C03'ün 'yanlış pencereden bakıyoruz' açıklaması ELENDİ. Firmware oraya hiçbir şey yazmadı. 'CR4 yürütmüyor' cümlesi artık bir ölçüm körlüğüne dayanmıyor.
C04 öne çıktı: FORCE_ALP hâlâ tutuluyor, HT hiç istenmiyor
CLK_REQ=0x29 CLK_R=0x69 CLK_HOLD=0x09 CLK_CSR=0x49. Linux release sonrası 0x00 → 0x10 yazıp HT bekliyor. R98 bu farkı sınadı: istek latch etti, HT gelmedi. Düzeltme: Linux'un erken 0x21 yazması FORCE_ALP içerir; indirme tutamağı 0x08'dir.
İki açık aday yeniden üretildi
PMU_TA=0x00000000 PMU_TB=0x00000000 — PMU serbest-koşan zamanlayıcısı 1 saniyede yine hiç ilerlemedi, oysa PMU_STAT=0x0000002a ve RES_ST=0x0fcaff77 aynı yoldan sağlıklı dönüyor (C13). WORDS_W=95683 ama WORDS_V=152448 ve RETRIES=0 — yazma sayacı ile doğrulama sayacı yine tutmuyor (C14).
Doğru çalışanlar
- Firmware+NVRAM 31. kez PASS (R58→R95, makbuzlardan sayıldı).
- Kanıt paketi TAM: bootloader banner'ından TOUCHREADY'ye kadar; R93'te eksik olan BOOT0/PINMUX/WIFIPWR/WIFICMD5/EROM/SDCLK satırlarının hepsi bu pakette var.
- Ölçüm yolu kalıcı: ramsize bir daha elle yazılmayacak; ölçüm düşerse fallback korunur ve makbuz MEASURED=0 der.
imaj 7b7b7f2a4dc1ebe9e20bad4fac73ccc16c8eae73438f15960063e36c888ce565
kanıt evidence/rpi5/radio/attempt-r95-tcm-ramsize-uart-capture/
R962026-09-09
Sorulan: cr4_start, staging için daraltılan bütçe yerine tanımlama fazının bütçesiyle koşarsa çekirdek çalışır mı?
Cevap: Hayır — ve çok daha ağır bir şey ortaya çıktı: tanık okumaları GÜVENİLMEZ. C12 kapandı (geri alma çalıştı, sonuç değişmedi), ama aynı koşuda CC_CHIPID=0x15264345 iken CHIPID2=0x00000000 ölçüldü. Bu ikisi AYNI kaydın aynı yoldan iki okuması.
C12 uygulandı ve kapandı
ASELSAN/CR4PRE POLLS=50000 CLKDIV=0x80 CLK_STABLE=1 WAS_POLLS=2000 WAS_CLKDIV=0x08; cr4_start içinde ölçülen POLLS=50000. Geri alma çalıştı, EXECUTED yine 0. Daraltılmış bütçe tek başına açıklama değildi.
ASIL BULGU: CHIPID2=0x00000000 — sıfır olamayacak bir kayıt sıfır döndü
CC_CHIPID (cr4_start girişinde) 0x15264345; CHIPID2 (tanık döngüsünden sonra) 0x00000000. Aynı fonksiyon (backplane_read32_data), aynı adres (ChipCommon 0x18000000). ChipCommon chip id sıfır olamaz. Yani tanık penceresinde okuma yolu gerçek veri döndürmüyor ve MBOX=0 / INTSTAT=0 / SHARED_RAW=0 / PMU_TA-TB-TC=0 hiçbiri 'çekirdek sessiz' olarak okunamaz.
Bağımsız tanık: hat R70'ten beri ölü
cr4_start'tan hemen sonra koşan WIFISWEEP kendi pencere yazmasını yapıp geri okuyor ve taze bir CMD52 ile chipid okuyor. R67 ve R69: WIN_OK=1 C52_0=0x15264345 — hat CANLI. R70'ten R96'ya kadar HEPSİ: WIN_OK=0 C52_0=0x00000000 — hat ÖLÜ. Kırılma noktası R69→R70 ve R70 tam olarak TCM shared-word okumasını tanık döngüsünden ÖNCE ekleyen koşudur. R70'in kendi README'si olguyu görmüş ('çekirdek serbest bırakılınca TCM okuması da karardı') ama karartmanın ardından gelen her şeyi de karattığı fark edilmemiş.
Arıza backplane'e özgü değil, SD bağlantısının tamamı
Aynı koşuda WIFIWRITE ENTRY_SYNC=0: fonksiyon-0 CCCR okumasının sekiz denemesi de düştü. F0/CCCR okuması pencere ve backplane kullanmaz; bir pencere muhasebesi hatası onu bozamaz. Ayrıca kaynak iki katmanda da durumu yok sayıyor: backplane_read32_data pencere yazmasının ok bayrağını atıyor (let _ = set_backplane_window) ve cmd52_read_byte_data komut tamamlanmasa bile yanıt kaydını koşulsuz okuyor — birlikte bir 'sessiz sıfır' makinesi.
C17 ilk kez gerçek host durumunu gösterdi
HOST_TMO=0x00 — veri zaman aşımı sayacı EN KISA değerde. HOST_CLK=0x8007 (/256, iç saat + kararlı + SD saati açık), HOST_CTL1=0x02 (4-bit), HOST_BLK=0x0004, HOST_CTL2=0x0000. Bugüne kadar makbuzdaki host değerleri bring_up ÖNCESİ ölü durumdu.
Doğru çalışanlar
- Firmware+NVRAM 32. kez PASS; CR4RAM birebir tekrarlandı (RAMSIZE=0x000c8000 MEASURED=1), yani R95 ölçümü kararlı.
- C12 kapandı: bütçe geri alması uygulandı ve sonucu değiştirmediği ölçüldü.
- Salt-okunur bir ayırt edici (C15), tek değişkenli bir koşuda arşivin yorumunu değiştirdi — R96 kusuru ÜRETMEDİ, İSİMLENDİRDİ.
imaj 226d3b018301764ec3a3f246806cdc968689dceb36da12322d9e2cae6ed5fd51
kanıt evidence/rpi5/radio/attempt-r96-cr4pre-budget-uart-capture/
R972026-09-09
Sorulan: Tanık okumaları sırasında SD hattı gerçekten canlı mı? MBOX=0 bir ölçüm mü, yoksa ölü bir hattın sessizliği mi?
Cevap: Hat CANLIYDI: MBOX=0 ve INTSTAT=0 ilk kez canlılık kontrolüyle ölçüldü. Bu, host-görünür sinyal gözlenmediğini gösterir; CR4'ün hiç komut yürütmediğini tek başına kanıtlamaz. R70–R96 tanıkları geçersiz kaldı ve ilerleyen PMU sayacı 'LPO ölü' yorumunu çürüttü.
NÖBETÇİ: hat tanık döngüsü boyunca canlıydı
SENT_N=100 SENT_OK=100 — yüz turun yüzünde ChipCommon ofset 0'dan beklenen 0x45 okundu. SENT_LAST_OK_MS=990 (1000 ms'lik pencerenin sonu), SENT_BAD_MS=4294967295 (u32::MAX = hiç bozulmadı), WIN_OK_END=1, WIN_W=WIN_R=0x18000000. Nöbetçi MBOX ile AYNI 32 KB pencerede ve aynı komut tipiyle okunuyor (0x18004000 & 0xffff8000 == 0x18000000), yani yan kanal değil eş-konumlu kontrol okuması.
Sonuç: canlı hatta host-görünür sinyal gözlenmedi
MBOX=0x00000000, INTSTAT=0x00000000, EXECUTED=0; nöbetçi 100/100. FENCE=0xdeadbeef beklenen sabitle uyumlu. HT_AVAIL ve SHARED_RAW ise TCM okumasından sonra gelen ölçüm sınırlarına tabidir; geçerli HT sonucu R98'in istek bloğunda alındı.
C13 ÇÖKTÜ: PMU sayacı aslında çalışıyormuş
PMU_TA=0x00776d9e → PMU_TB=0x007cdaaa: sayaç İLERLEDİ. Önceki 13 mühürlü koşuda PMU_TA=PMU_TB=0x00000000 görünüyordu ve kodun kendi yorumu 'sabit → LPO gerçekten ölü' diyordu. O sabitlik LPO'nun değil, ÖLÜ HATTIN eseriymiş. 'Donanım duvarı' yorumunun bu ayağı da düştü.
C33 mekanizması doğrulandı: TCM okumak hattı düşürüyor
PMU_TC=0x00000000 ve CHIPID2=0x00000000 — ikisi de TCM okumasından SONRA alınıyor ve ikisi de sıfır. SHARED_AFTER=1, SHARED_RAW=0x00000000, WIFISWEEP yine WIN_OK=0 C52_0=0x00000000. Yani 0x0025FFFC (CR4 TCM) okumak SDIO bağlantısını düşürüyor; R70 bu okumayı döngünün önüne koyarak R70–R96 arasındaki bütün tanıkları zehirlemiş.
Bir alanın sıfır olması okunduğu anlamına gelmez
F0_REV=0x00 F0_OK=0 bu koşuda ÖLÇÜM DEĞİLDİR: bu alanlar yalnızca nöbetçi ilk kez bozulduğunda doldurulur ve nöbetçi hiç bozulmadı, dolayısıyla Default sıfırları olarak basıldılar. Aynı tuzak arşivde daha önce de var (erken dönen fonksiyonların Default alanları).
Doğru çalışanlar
- Firmware+NVRAM 33. kez PASS; NVRAM yine 0x0025f92c, FW_INTACT=1.
- CR4RAM üçüncü kez birebir aynı: RAMSIZE=0x000c8000 MEASURED=1 — ölçüm kararlı.
- Kanıt paketi TAM ve mühürlü; ekran da geldi (exact_screen0=1, TOUCHFRAME=15).
imaj 16f4a7566614ed34a510514ff5424c26384382cc3086fe2a4e4b82ac147efa2f
kanıt evidence/rpi5/radio/attempt-r97-witness-sentinel-uart-capture/
R982026-09-09
Sorulan: CR4 release sonrası FORCE_ALP bırakılıp HT istendiğinde yüksek hız saati geliyor mu?
Cevap: İstek latch etti, HT gelmedi. CHIPCLKCSR 0x40 → 0x50 oldu; 60 ms yoklama sonunda yine 0x50. C04'ün 'HT hiç istenmiyor' açıklaması tek başına elendi; PMU kaynak ailesi sıradaki ölçüm alanı.
İstek cihazda görüldü
HT_CLR_OK=1 HT_REQ_OK=1 HT_CSR_CLR=0x40 HT_CSR_REQ=0x50 HT_CSR_FIN=0x50 HT_REQ_MS=60 HT_REQ_AVAIL=0. FORCE_ALP temizlendi, ALP hazır kaldı ve HT_AVAIL_REQ biti okundu. R80 Linux izinde HT 24–31 ms'de geliyordu.
Hat canlı; host-görünür yürütme sinyali yok
FENCE=0xdeadbeef SENT_N=100 SENT_OK=100 SENT_LAST_OK_MS=990 SENT_BAD_MS=4294967295 WIN_OK_END=1. MBOX=0x00000000 INTSTAT=0x00000000 EXECUTED=0 STARTED=0. HT_AVAIL=0 alanı TCM okumasından sonra alındığı için saat sonucu HT_REQ_AVAIL ve HT_CSR_FIN üzerinden okunur.
PMU sayacı ilerledi; C09 yeniden önde
PMU_TA=0x00775ee2 → PMU_TB=0x007cc944; PMU_STAT=0x0000002a RES_ST=0x0fcaff77 RES_PEND=0x00000000. Bunlar istek sonrası tek görüntüdür; öncesi/sonrası karşılaştırması henüz yok. R84/R85/R86'da CTL_W=0 RELOAD=0 olduğu için RES_RELOAD elenmiş sayılamaz. PMU'nun kök neden olduğu henüz kanıtlanmadı.
Doğru çalışanlar
- Firmware+NVRAM 34. PASS: ADDR=0x0025f92c FW_INTACT=1.
- uart10.raw 30734 bayt; capture_transport=PASS, TOUCHREADY ve SHA-256 mühürleri doğrulandı.
- Wi-Fi tarama veya bağlantı kanıtı yok; Bluetooth ANSWERED=0.
imaj 134c197de2846d381dbf80c055628138f85a889a761f7714703a29b7473c034a
kanıt evidence/rpi5/radio/attempt-r98-post-release-htclk-uart-capture/
R992026-09-09
Sorulan: HT isteği öncesi ve sonrası PMU kaynak görüntüleri değişiyor mu?
Cevap: İki geçerli PMU görüntüsü aynı kaldı; HT_REQ_AVAIL=0. PMU sayacı ilerledi, ancak kaynak ailesi kök neden olarak kanıtlanmadı.
PMU pencereleri geçerli ve eşit
PRE/POST WIN_OK=1 READ_OK=0x3f VALID=1, CHIP_B=CHIP_A=0x15264345. CTL=0x01770181, STAT=0x2a, RES_ST=0x0fcaff77, RES_PEND=0, MINRES=0x0fcaff77, MAXRES=0x0fcfff7f iki görüntüde de aynı.
HT hâlâ gelmedi
HT_CLR_OK=1 HT_REQ_OK=1 HT_CSR_CLR=0x40 HT_CSR_REQ=0x50 HT_CSR_FIN=0x50 HT_REQ_MS=60 HT_REQ_AVAIL=0. FENCE=0xdeadbeef, SENT_N=100, SENT_OK=100 ve WIN_OK_END=1 korundu.
Doğru çalışanlar
- Firmware/NVRAM 35. arşivlenmiş PASS: 1191 sektör, WORDS_V=152448, FW_INTACT=1.
- Mühürlü fiziksel UART paketi ve PMUHT geçerlilik makbuzları.
- Wi-Fi taraması, SSID veya association yok.
imaj 66587e93977600e654c2b937d080fb3eb104965bb2c98fcfade03cbcd4a3c80b
kanıt evidence/rpi5/radio/attempt-r99-pmu-ht-snapshot-uart-capture/
R1002026-09-09
Sorulan: SDHCI clock register yazması bitişik TIMEOUT_CONTROL alanını bozuyor mu?
Cevap: u16 erişim HOST_TMO=0x0e değerini korudu; HT_REQ_AVAIL=0 kaldı. Bu bir radyo başarı sonucu değildir.
Clock/timeout kusuru ayrıldı
HOST_TMO=0x0e, HOST_CLK=0x8007, HOST_CTL1=0x02 ve POLLS=50000. R99/R98'deki HOST_TMO=0x00 yerine timeout korunmuş oldu.
Radyo hâlâ hazır değil
HT_CLR_OK=1 HT_REQ_OK=1 HT_CSR_CLR=0x40 HT_CSR_REQ=0x50 HT_CSR_FIN=0x50 HT_REQ_MS=60 HT_REQ_AVAIL=0; MBOX=0 INTSTAT=0 EXECUTED=0.
Doğru çalışanlar
- Firmware/NVRAM tamamlandı: 1191/1191 sektör, 152448 doğrulanmış kelime, OK=1.
- Clock register genişliği değişikliği fiziksel olarak doğrulandı.
- FullMAC kontrol cevabı, tarama veya BSS yok.
imaj 194c569b0496008cda4e878230cefca9a742b794546b3eb5b88f9f89cddf62c6
kanıt evidence/rpi5/radio/attempt-r100-clock-register-width-uart-capture/
R1012026-09-09
Sorulan: İlk D11 wrapper CMD53 yazması cihazda gerçekten issue ediliyor mu?
Cevap: İlk D11 yazması DAT inhibit nedeniyle issue edilmedi; işlem tamamlanmadan durdu. Wi-Fi yolu bu koşuda başlamadı.
Transport kapısı yazmayı engelledi
CR4CTRL PHASE=D11 ABORTED=1 REASON=TRANSPORT, ADDR=0x18101408, WRITE=1, VALUE=0x0000000f, ISSUED=0, COMPLETE=0, BUSY=1.
HT sonucu ölçülmedi
HT_ATTEMPTED=0; PMUHT, witness ve geç dönem host okumaları uygulanmadı. DAT[3:0] seviyesi 7 ve DAT_INHIBIT, yalnız DAT0 yüksek olmasının yeterli olmadığını gösterdi.
Doğru çalışanlar
- Firmware/NVRAM 1191/1191 ve 152448 doğrulanmış kelimeyle tamamlandı.
- D11 stop noktası ve issue edilmemiş CMD53 ayrımı mühürlü makbuzda var.
- Tarama, kontrol cevabı veya ağ listesi yok.
imaj ec88daa88871fe689513ee230e0666e991779a548ec0571eb4173184963893b7
kanıt evidence/rpi5/radio/attempt-r101-single-word-control-uart-capture/
R1022026-09-10
Sorulan: Host DATA kurtarma ve wrapper tamamlanınca HT ile FullMAC başlatılabiliyor mu?
Cevap: Host DATA reseti ve wrapper tamamlandı, HT_REQ_AVAIL=1 görüldü; ilk TOSB_DATA yazmasında response ownership kusuru nedeniyle başlatma durdu.
Host ve CR4 kapıları geçti
CR4HOSTDATA MEASURED=1 APPLIED=1 CLEARED=1 READY=1; CR4CTRL COMPLETE=1, OPS=18, R5=0x10 ERR=0; HT_CSR_FIN=0xd0 ve HT_REQ_AVAIL=1.
Dış reddetme sonraki CMD53 yanıtından geldi
İç CMD53 temiz tamamlandı: ISSUED=1, command/buffer/transfer complete, BYTES=4, R5=0x10, ERR=0. Sonraki settle CMD52'sinin 0x9043 yanıtı önceki yazmaya mal edildi; gerçek kontrol cevabı gözlenmedi.
Doğru çalışanlar
- Firmware/NVRAM ve host DATA kurtarma mühürlü pakette doğrulandı.
- HT_REQ_AVAIL=1 ve runtime başlangıç sınırına kadar ilerleme görüldü.
- SSID, BSS, association veya Internet erişimi yok.
imaj b79befa75e24bfad32352733aaf3dd9318e943b8f3a0c406a3c84493d92263d0
kanıt evidence/rpi5/radio/attempt-r102-host-data-scan-uart-capture/
R1032026-09-10
Sorulan: CMD53 sonucunu kendi işleminin makbuzuyla taşıyınca runtime parser sınırı geçiliyor mu?
Cevap: Runtime STARTED=1 oldu; ardından Session(Wire(Truncated)) ile durdu. Kontrol cevabı ya da BSS gözlenmedi.
Önceki INIT_ERROR sınırı geçildi
Host DATA kurtarma, 18 wrapper işlemi, HT_REQ_AVAIL=1 ve WIFIPROTO STARTED=1 aynı koşuda görüldü.
Eksik çerçeve içeriği bilinmiyor
WIFISCAN_RESULT STATUS=ERROR ERROR=Session(Wire(Truncated)). R103 hata yolunda WIFIRX yazmadığı için olay zarfının boş mu, kısa mı olduğu bu kayıttan çıkarılamaz.
Doğru çalışanlar
- Firmware/NVRAM 1191/1191, 152448 kelime ve FW_INTACT=1.
- PMUHT PRE/POST geçerli; HT_REQ_AVAIL=1.
- READY=1, kontrol cevabı, tarama veya ağ listesi yok.
imaj 01243db4a02ccf4c356ce46687ba9fdbd64eecc4543d65c4777a55e79d1aba17
kanıt evidence/rpi5/radio/attempt-r103-owned-transfer-response-uart-capture/
R1042026-09-10
Sorulan: Boş Event/Data zarfları güvenli biçimde tüketilip kontrol isteği ilerliyor mu?
Cevap: İki header-only Event/Data zarfı doğrulandı; kontrol isteği gönderildi ama cevap gelmedi ve ControlTimeout oluştu.
R103 parser sınırı ayrıştırıldı
WIFIPROTO STARTED=1 READY=0; iki WIFIRX kaydı LEN=12, DOFF=12, EMPTY=1, SEQ=0/1, TXWIN=21 olarak basıldı.
Kontrol cevabı hâlâ yok
WIFICTRLTX FRAMELEN=48 XFER=48 BCDCLEN=20 öncesinde controls_sent=1; WIFIFAIL sonrası controls_replied=0 ve ControlTimeout görüldü.
Doğru çalışanlar
- Firmware/NVRAM, host DATA, wrapper ve HT kapıları tamamlandı.
- Boş zarf tanısı gerçek UART akışında görüldü.
- Raw UART, capture.log, kaynak yamaları ve README EVIDENCE_SHA256SUMS ile mühürlendi; bu fiziksel sonuç yine de radyo başarı sonucu değildir.
imaj 510333c7f0c71cb0ed06e79bf4456a0dba1bbff4314f91d552f83e9ec568ad00
kanıt evidence/rpi5/radio/attempt-r104-empty-event-data-uart-capture/
R1052026-09-10
Sorulan: BCDC GET_VAR isteğinde veri uzunluğu isim ve kapasiteyi birlikte taşıyor mu?
Cevap: Evet. 48 bayt çerçeve ve BCDC len=20 fiziksel olarak gönderildi; iki boş RX zarfından sonra kontrol cevabı gelmedi.
R105 değişikliği fiziksel olarak görüldü
WIFICTRLTX FRAMELEN=48 XFER=48 BCDCLEN=20 SEQ=255 TXWIN=21 SENT=1 REPLIED=0. BCDC arithmetic hipotezi bu ölçümle kapandı.
Sınır RX/control transport tarafında
WIFIPROTO STARTED=1 READY=0; iki WIFIRX LEN=12 DOFF=12 EMPTY=1 sonrası WIFIFAIL frames_received=2, header_only_frames=2, controls_sent=1, controls_replied=0 ve ControlTimeout.
Doğru çalışanlar
- FWSTAGE 1191/1191, WORDS_V=152448, NVRAM VERIFIED=437, FW_INTACT=1.
- CR4HOSTDATA READY=1, CR4CTRL COMPLETE=1, HT_REQ_AVAIL=1.
- Mühürlü tekrar-03 UART paketi; radyo başarı sonucu, READY=1 veya SSID yok.
imaj f0d8f63bfa7a6e8e631a43adf17fe85568b024946e05a7e6c0793ae18d6e0691
kanıt evidence/rpi5/radio/attempt-r105-bcdc-reply-capacity-uart-capture-repeat-03/
R1062026-09-11
Sorulan: R105'in değişmez 48/20 BCDC isteği sonrası RX başlığı/payload ve kontrol cevabı sahipliği görünür kılındığında gerçek durma sınırı nerede?
Cevap: İki header-only RX frame ham başlıklarıyla doğrulandı; kontrol cevabı gelmeden host Read32(INTSTATUS) SDIO transfer hatasıyla durdu.
RX transport fiziksel olarak görünür
WIFIRX/WIFIRX_RAW iki frame için LEN=12, HEADER_LEN=12, PAYLOAD_LEN=0, SEQ=0/1, RX_NEXT=1/2, TXWIN=21 ve CTRL_PENDING=1 gösterdi.
BCDC isteği korunuyor, cevap yok
WIFICTRLTX FRAMELEN=48 XFER=48 BCDCLEN=20 olarak gönderildi; WIFICTRLSTATE SENT=1 REPLIED=0 kaldı ve timeout nedeni core+INTSTATUS Read32 SDIO Transfer/R5 hatası oldu.
Doğru çalışanlar
- FWSTAGE 1191/1191, WORDS_V=152448, NVRAM VERIFIED=437, FW_INTACT=1.
- CR4HOSTDATA READY=1, WIFIPROTO STARTED=1; iki RX header-only frame ve ham header hex'i gerçek UART akışında görüldü.
- Raw UART, capture.log, kaynak tanısı, README ve EVIDENCE_SHA256SUMS ile mühürlendi; bu sonuç Wi-Fi başarı sonucu değildir.
imaj eedf04afb5d48b7b66e9ade7a575da66d02deadf763d67af3bce86c09f208c1a
kanıt evidence/rpi5/radio/attempt-r106-rx-header-control-ownership-uart-capture/
R1072026-09-11
Sorulan: R107 imajı Pi 5'e takılı ve güç verilmişken fiziksel açılış ile INTSTATUS Read32 makbuzu birlikte kanıtlanıyor mu?
Cevap: Fiziksel açılış kanıtlandı: firmware/NVRAM/CR4 hazırlığı geçti, iki header-only RX frame görüldü ve koşu ControlTimeout ile sonlandı. Hedef Read32 makbuzu oluşmadı.
Kart + güç + boot kanıtı artık ayrı mühürlü
UART akışı FWSTAGE'den başlayarak WIFISCAN_RESULT terminal satırına kadar gözlendi. Bu, kartın Pi'de takılı ve R107 imajının gerçekten çalışır durumda olduğuna dair fiziksel koşu kanıtıdır; güç geçişinin kendisi capture öncesinde gerçekleştiği için yalnızca UART'ın gördüğü boot sınırı iddia edilir.
Read32 hedefi hâlâ açık
WIFIPROTO STARTED=1 READY=0, WIFIRX SEQ=0/1 header-only, WIFICTRLSTATE SENT=1 REPLIED=0 ve WIFISCAN_RESULT STATUS=ERROR ControlTimeout görüldü. WIFIREAD satırı oluşmadı; R107 Read32 sahipliği PASS sayılmaz.
Doğru çalışanlar
- FWSTAGE SECTORS_DONE=1191, WORDS_V=152448, OK=1.
- NVRAM TOKEN_OK=1, VERIFIED=437, OK=1, FW_INTACT=1; CR4HOSTDATA READY=1.
- WIFIRX ham header ve capture.log, README, EVIDENCE_SHA256SUMS ile mühürlendi.
imaj 149e234c466938fb3822b3804b66812550553f6bca7c59cd2ab9cb3df05fa88e
kanıt evidence/rpi5/radio/attempt-r107-live-attach-after-power-uart-capture/
R1082026-09-11
Sorulan: UART güç döngüsünden önce arm edilirse F1 INTSTATUS Read32 CMD53 issue/complete/R5/error sınırı aynı boot kaydında görülebilir mi?
Cevap: Firmware, NVRAM, host-data ve iki RX header geçti; ilk F1 Read32 aktarımı timeout'a ulaşmadan data-CRC/transfer hatasıyla düştü.
İlk F1 aktarım sınırı ölçüldü
WIFIREAD OP=Read32 FUNCTION=1 ADDRESS=0x18004020, STATUS=0x00208001, R5_FLAGS=0x10, ERROR_STATUS=0x0020, ISSUED=1 fakat COMMAND_COMPLETE=0, BUFFER_READY=0, TRANSFER_COMPLETE=0 ve BYTES_READ=0 görüldü.
Timeout snapshot'ı bilinçli olarak yok
WIFICTRLWAIT CAPTURED=0 kaldı; hata control timeout öncesinde gerçekleştiği için timeout makbuzu uydurulmadı. Bu sonuç Wi-Fi PASS değildir.
Doğru çalışanlar
- FWSTAGE 1191/1191, NVRAM VERIFIED=437 ve CR4HOSTDATA READY=1.
- İki header-only RX frame ve BCDC 48/20 gönderimi sonraki F1 hatasından önce görüldü.
imaj 3547c2c8f5271a12b7503362280a79e7b6d571518f5b26d046cb93ada944383b
kanıt evidence/rpi5/radio/attempt-r108-read32-transfer-error-uart-capture/
R1092026-09-11
Sorulan: R108'de ölçülen F1 data-CRC sonucu birleşik CRC/end-bit maskesiyle güvenli CMD52×4 fallback'e ayrılabilir mi?
Cevap: Hayır; gerçek hata ERROR_STATUS=0x0060 olarak geldi ve R109'un tam-eşitlik kapısı fallback'i açmadı. F1 sınırı daha geniş maskeyle ölçülmesi gereken ayrı bir transport dalı oldu.
Birleşik hata fiziksel olarak tekrarlandı
FWSTAGE/NVRAM/CR4HOSTDATA geçti; iki header-only frame alındı. F1 Read32 `ERROR_STATUS=0x0060`, R5=0x10, COMMAND_COMPLETE=0 ve TRANSFER_COMPLETE=0 ile düştü.
Fallback bilinçli olarak uygulanmadı
R109 yalnız exact DATA_CRC=0x0020 eşitliğini kabul etti; 0x0060 başka bir SDHCI sınıfı gibi muamele gördü. Bu koşu Wi-Fi veya CR4 PASS değildir.
Doğru çalışanlar
- İmaj SHA ve ham UART SHA README/EVIDENCE_SHA256SUMS ile eşleştirildi.
- R109 sonucu R110 CRC-bit-mask adayını doğrudan ölçülebilir hâle getirdi.
imaj f07d31239c57ed7dab35e4847d7e81dffec17f9edaa1644e490e00d57880a7f3
kanıt evidence/rpi5/radio/attempt-r109-data-crc-endbit-uart-capture/
R1102026-09-11
Sorulan: R109'un birleşik DATA_CRC bit-mask fallback'i fiziksel koşuda F1 sınırını geçip D11 kontrol yoluna ulaştırıyor mu?
Cevap: Bu koşuda fallback'e ulaşılmadı; ilk D11 CMD53 kontrol yazması DATA_TIMEOUT=0x0010 ile abort oldu ve CORE_READY=0 kaldı.
D11, F1 fallback'inden önce ayrı bir transport dalı açtı
CR4CTRL PHASE=D11 ABORTED=1 REASON=TRANSPORT OPS=1 ISSUED=1 CMD=1 BUF=1 XFER=1 BYTES=4 R5=0x10 ERR=0x0010 görüldü.
Hata sınıfları karıştırılmadı
R109 F1 data-CRC/end-bit sonucu ile R110 D11 data-timeout sonucu ayrı tutuldu; R110 Read32 CMD52×4 fallback'i bu boot'ta denenmedi.
Doğru çalışanlar
- Firmware/NVRAM/CR4HOSTDATA hazırlığı geçti; terminal sonuç STATUS=UNAVAILABLE CORE_READY=0 CLM_LOADED=1.
- D11 retry ihtiyacı R111 için tek ölçülmüş değişken olarak sınırlandı.
imaj d32d5b520157b76f04f0ef33226f1e300dcd4ddf52705b9f24ef63a5992a8952
kanıt evidence/rpi5/radio/attempt-r110-cr4-d11-transport-uart-capture/
R1112026-09-11
Sorulan: Ölçülen D11 timeout dalına tek bounded retry uygulanınca ilk SDPCM control-response sınırı nerede kalıyor?
Cevap: D11 kontrolü temiz geçti; iki header-only RX frame ve 48/20 BCDC isteği görüldü, fakat eşleşen control reply gelmeden timeout oluştu.
D11 ve ilk SDPCM RX yolu geçti
CR4CTRL COMPLETE=1/ERR=0x0000, D11_RETRY_ATTEMPTED=0, WIFIPROTO STARTED=1 READY=0, SEQ=0/1, TXWIN=21 ve payload=0 görüldü.
İlk BCDC cevabı yok
FRAMELEN=48, XFER=48, BCDCLEN=20 gönderildi; REPLIED=0 ve READ_FAILURES=0 kaldı. Timeout snapshot'ında INTSTATUS=0 idi.
Doğru çalışanlar
- Firmware/NVRAM/CR4HOSTDATA/D11 transport ve iki RX header mühürlü fiziksel kayıtta doğrulandı.
- D11 retry dalı bu boot'ta tetiklenmedi; sonuç Wi-Fi PASS değildir.
imaj ba2fb47ee74f0f6f68ab64dff89f303d88459a026feccdc25ed4b3f800e19199
kanıt evidence/rpi5/radio/attempt-r111-sdpcm-control-timeout-uart-capture/
R1122026-09-11
Sorulan: Bekleyen SDPCM FIFO frame'leri yeni init/scan/abort kontrolünden önce tüketilirse ilk BCDC timeout'u çözülüyor mu?
Cevap: Bu koşuda FIFO-drain hipotezi ölçülemedi; D11 geçtikten sonraki CR4 activation yazması data-CRC=0x0020 ile düştü ve SDPCM oturumu başlamadı.
CR4 activation transport varyansı ölçüldü
FWSTAGE, NVRAM ve CR4HOSTDATA geçti; D11_RESET=1/D11_IOCTL=0x00000007 sonrasında CR4CTRL PHASE=CR4, OPS=17, ADDR=0x18102408 yazısı R5=0x10/ERR=0x0020 ile abort oldu.
FIFO sırası hakkında sonuç çıkarılmadı
WIFIPROTO veya control-response ordering sonucu oluşmadı. D11_RETRY_ATTEMPTED=0, hatanın D11-only retry sınırından sonra oluşmasıyla uyumludur; R112 FIFO değişikliğini PASS/FAIL olarak etiketlemez.
Doğru çalışanlar
- R112 imajı, DTB'si, profili ve ham UART SHA'ları kanıt paketinde sabitlendi.
- Sonuç Wi-Fi PASS veya FIFO-drain hipotezinin kapanışı değildir.
imaj f40aab719df8d91e06c604fab6fa16a47ccb011be8fc266a6734d34f6de0a2d7
kanıt evidence/rpi5/radio/attempt-r112-sdpcm-fifo-drain-uart-capture/
R1132026-09-12
Sorulan: R112 FIFO-drain değişikliği korunurken bounded ilk-D11 retry ve ilk BCDC kontrol alımı temiz açılışta birlikte ölçülebiliyor mu?
Cevap: Firmware, NVRAM, host-data ve D11 kontrol yazması geçti; ancak CR4START makbuzu STARTED=0/OK=0 kaldı. İki header-only RX frame ve doğru 48/20 BCDC isteği görüldü, kontrol cevabı gelmeden ControlTimeout oluştu. D11 retry dalı bu koşuda tetiklenmedi.
Host-data ve D11 transport makbuzları temiz
FWSTAGE 1191/1191, NVRAM VERIFIED=437, CR4HOSTDATA READY=1 ve CR4CTRL COMPLETE=1/R5=0x10/ERR=0x0000 görüldü. D11_RETRY_ATTEMPTED=0 olduğu için R113, retry başarısını değil temiz birincil D11 geçişini kanıtlar.
CR4 yürütme ve ilk kontrol cevabı hâlâ kanıtlanmadı
CR4START STARTED=0/OK=0 kaldı. WIFIPROTO STARTED=1 READY=0 sonrasında SEQ=0/1, LEN=12, DOFF=12, EMPTY=1, TXWIN=21 iki RX frame alındı; ilk BCDC GET_VAR isteği FRAMELEN=48/XFER=48/BCDCLEN=20 olarak gönderildi ama REPLIED=0 kaldı.
R114'ün ölçmesi gereken dar sınır
WIFICTRLWAIT CAPTURED=1, INTSTATUS=Some(0) ve READ_FAILURES=0 ile terminal hata ControlTimeout oldu. Bu, firmware yüklemesini ya da BCDC uzunluğunu yeniden değiştirmek yerine ilk control-response receive/interrupt sahipliğinin ayrıştırılmasını gerektirir.
Doğru çalışanlar
- R113 imajı Pi 5 üzerinde fiziksel olarak açıldı; FWSTAGE, NVRAM, CR4HOSTDATA ve CR4CTRL mühürlü makbuzları geçti.
- R113 ham UART SHA-256: 45f52103b3a9f89928828cc673fe87d9a14c526258d689df7ad987ef79c1e627; kanıt paketi EVIDENCE_SHA256SUMS ile mühürlü.
- D11 retry koşulu çalıştırılmadı; bu kayıt Wi-Fi PASS, CR4 yürütme, READY=1, BSS, association veya DHCP kanıtı değildir.
imaj 77eec6d48b1ff00486e330ad750bf5aca1a44ec05ccea0ef74754d1f6b3969db
kanıt evidence/rpi5/radio/attempt-r113-d11-crc-retry-uart-capture/
R1142026-09-12
Sorulan: İlk BCDC control-response bekleyişinde exact TX, interrupt geçmişi ve FIFO/host sahipliği aynı request ID ile ayrılabilir mi?
Cevap: Exact 48-byte ID=1 isteği doğrulandı; ancak koşu ControlTimeout'a ulaşmadı. F1 INTSTATUS CMD53 ERROR_STATUS=0x0060 sonrası CMD52×4 fallback sıfır döndürdü, sonraki SBADDR_LOW erişimi DAT_INHIBIT nedeniyle issue edilmeden durdu.
İlk kontrol TX'i byte-for-byte doğrulandı
WIFICTRLTX_RAW COMMAND=262 REQUEST_ID=1 INTERFACE=0 SET=0 LOGGED=48 kaydı, FRAMELEN=48/XFER=48/BCDCLEN=20 isteğini exact hex ile sabitledi. İki SEQ=0/1 header-only Event yine istekten önce tüketildi.
Fallback host-data durumunu temizlemeden başarı döndürdü
WIFIREAD_FALLBACK ADDRESS=0x18004020, ERROR_STATUS=0x0060, PRESENT_STATE=0x01ff0206, RESULT=PASS, VALUE=0 sonrasında F1 0x1000a SBADDR_LOW Write8 işlemi reason=Inhibit ile ve issued=false durumda kesildi.
Control-response sahipliği bu koşuda ölçülmedi
WIFICTRLWAIT CAPTURED=0, IEN/INT_PENDING/WFRAMEBC/RFRAMEBC=None ve CTRL_SEEN=0 kaldı; terminal sonuç ControlTimeout değil pre-deadline transport I/O hatasıdır. Birikimli CORE_OR sayaçları startup trafiğini de içerir.
Doğru çalışanlar
- Firmware/NVRAM/CR4HOSTDATA ve CR4CTRL tamamlandı; D11 retry kullanılmadı.
- R114 imajı kart üzerinde doğrulandı, UART güçten önce arm edildi ve 42.423 baytlık raw kayıt terminal marker + 60 saniye grace ile 0444 kapandı.
- Bu kayıt Wi-Fi PASS, kontrol cevabı, READY=1, scan, association veya DHCP kanıtı değildir.
imaj d82ce641084d0c893a65be5ccb0b2eafdfa676bcd8b10111ce5db5cfc54848f5
kanıt evidence/rpi5/radio/attempt-r114-first-control-interrupt-ownership-uart-capture/
R1152026-09-12
Sorulan: R114'ün fallback false-success dalı host idle ile kapılanır ve timeout dışı pending hata makbuzu korunursa fiziksel sınır nereye taşınır?
Cevap: R115 kapıları doğru çalıştı, fakat Wi-Fi hazır olmadı. F1 INTSTATUS CMD53 saf DATA_CRC=0x0020 aldı; CMD52×4 VALUE=0 üretmesine rağmen host veri motoru 100.000 pasif kontrolde idle olmadı ve primary Read32 hatası korundu.
Fallback değeri artık host sağlığı olmadan kabul edilmiyor
WIFIREAD_FALLBACK RESULT=PASS VALUE=0 yanında HOST_IDLE=0, PSTATE_B=0x01ff0206, PSTATE_A=0x017f0206, POLLS=100000 ve DAT0=1 ölçüldü. R114'teki SBADDR_LOW Write8 bu koşuda hiç denenmedi.
Pending terminal sahipliği timeout olmadan yakalandı
WIFICTRLWAIT CAPTURED=1 PENDING_BEFORE=1 AGE_MS=994 oldu. F1 tanı okumaları düşse de host PRESENT_STATE=0x017f0206, INT_STATUS=0x00000101 ve HOST_CARD_INT=true alanları korundu.
Sayaçlar yalnız request ID 1 sonrasını gösteriyor
CORE_OR, FRAME_IND_SEEN, HOST_INT_SEEN, FIFO_READS, CTRL_SEEN ve CTRL_UNMATCHED sıfır kaldı; iki startup Event frame ve protocol mailbox artık pending control cevabına mal edilmedi.
Doğru çalışanlar
- Firmware/NVRAM, CR4HOSTDATA ve CR4CTRL geçti; D11 retry kullanılmadı.
- İki header-only Event ve exact 48-byte cur_etheraddr isteği yeniden doğrulandı.
- 41.454 baytlık raw UART 0444 kapandı ve SHA-256 5067accce31f265bf635fc225b02f1b8a791db2deab7523e71332ecbaba31622 ile mühürlendi.
- Bu kayıt tanı PASS'idir; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 7f7ca549198b87c4308833331a8cd2270f4a3313c2c43b131f4efd574ba4b770
kanıt evidence/rpi5/radio/attempt-r115-f1-fallback-host-idle-uart-capture/
R1162026-09-12
Sorulan: R115'in 100.000 pasif kontrolde temizlenmeyen host veri motoru, tek ve bir kez sahiplenilen host-only SDHCI DATA reset ile açılır mı; açılırsa Wi-Fi hazır olur mu?
Cevap: Reset dalı tam tasarlandığı gibi çalıştı ve tıkanan tarafın HOST olduğunu ölçtü: DAT_INHIBIT 2 yoklama / 10 µs içinde temizlendi. Wi-Fi yine hazır olmadı; aynı registerın bir sonraki CMD53'ü saf DATA_CRC yerine DATA_CRC+DATA_END_BIT=0x0060 aldı ve orijinal hata korundu.
Tıkanan taraf ölçüldü: host SDHCI veri motoru
WIFIREAD_RECOVERY ELIGIBLE=1 APPLIED=1 RESET_FIRST=0x04 RESET_A=0x00 RESET_POLLS=2 ELAPSED_US=10; PSTATE 0x017f0206 → 0x017f0000, HOST_IDLE=1, CONFIG_SAME=1, POST_MATCH=1, ACCEPTED=1. Saat, timeout, host-control, güç, blok ve control2 registerları değişmedi.
Bir kez kullanım disiplini tuttu
İkinci olayda USED_BEFORE=1 ELIGIBLE=0 APPLIED=0 ACCEPTED=0 oldu; ikinci reset denenmedi, CMD53 hiç tekrarlanmadı ve primary Read32 hatası korundu.
Firmware çalışıyor ve konuşuyor; arıza taşındı
Arıza makbuzunda clock=0xd0 (HT_AVAIL|ALP_AVAIL), io_ready=6 (F1+F2 hazır), mailbox=0x00040002 (DEVREADY, sürüm alanı 0x04), iki header-only Event ve TXWIN=21 var. Kurtarma bir CMD53 denemesi kazandırdı: PENDING_POLLS 56 → 121, AGE_MS 994 → 2183; sonraki hata 0x0020 yerine 0x0060 oldu.
Doğru çalışanlar
- Firmware/NVRAM (SECTORS_DONE=1191/1191, BYTES=609792, RETRIES=0), CR4HOSTDATA ve CR4CTRL geçti; D11 retry kullanılmadı.
- İki header-only Event ve exact 48/20 cur_etheraddr isteği yeniden doğrulandı.
- 46.667 baytlık raw UART 0444 kapandı ve SHA-256 63000c7a267dc29b2f7fda2e690f0c19f0baff2c063e3ada5001e45c7b995f8e ile mühürlendi; USB-UART descriptor bu koşuda hiç sıfırlanmadı (reconnect_attempts=1).
- 60 saniyelik grace penceresinde yalnız ekran/dokunma trafiği var: tekrar tarama, BSS veya kurtarma yok.
- Bu kayıt tanı PASS'idir; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 39e7de9d92563b5efd2a9f124a60ef4cb025683d27b5954b4553793ae13e45d6
kanıt evidence/rpi5/radio/attempt-r116-sdhci-data-reset-uart-capture/
R1172026-09-12
Sorulan: 0x18004020 CMD53 okumasını kıran değişken veriyolu durumu mu, transfer modu mu, yoksa adres mi?
Cevap: Adres. Kırılan işlemin tam şekli — bayraklı 4 baytlık byte-mode CMD53 — aynı pencerede, mikrosaniyeler sonra ChipCommon'da kusursuz çalıştı; CMD52×4 ve tek-blok 64 baytlık CMD53 de çalıştı, üçü de 0x15264345 döndürdü. VERDICT=ADDRESS_SPECIFIC. Aynı koşuda taşıma sona kadar ayakta kaldı ve terminal hata BusError'dan gerçek ControlTimeout'a döndü. Wi-Fi yine hazır olmadı.
Veriyolu durumu ve transfer modu elendi
WIFIREAD_MATRIX CMD52_OK=1 BYTE_OK=1 BLOCK_OK=1, üçünde de V=0x15264345 ve M=1, ERR=0x0000; her probun öncesinde ve sonrasında PRESENT_STATE=0x01ff0000, TAIL_IDLE=1 TAIL_POLLS=0. Pencere yazılmadı (WINDOW_W=WINDOW_R=0x18000000), kırılan register CMD53 ile bir daha okunmadı.
İlk kez okunabilen firmware durumu
READ_FAILURES=0 (R115/R116'da 13'tü): CLOCK=0xd2 (HT hazır), SLEEP=0x03 (KSO+DEVON), IO_READY=0x06 ve F2_ENABLED=0x06, MAILBOX=0x00040002 (DEVREADY, sürüm alanı 4), INTSTATUS=0, IEN=0, INT_PENDING=0, FRAMECTRL/WFRAMEBC/RFRAMEBC=0.
Arıza sınıfı değişti: taşıma değil, cevapsızlık
Host doğru 48/20 cur_etheraddr isteğini gönderdi, 136 yoklama boyunca tam 2500 ms bekledi ve veriyolu sonuna kadar boş kaldı (PRESENT_STATE=0x01ff0000). Terminal hata Session(Transport(ControlTimeout)) oldu; hiçbir CMD53/CMD52 okuması düşmedi.
Doğru çalışanlar
- Firmware/NVRAM (1191/1191 sektör, 609.792 bayt, RETRIES=0), CR4HOSTDATA, CR4CTRL ve R116 kurtarması (RESET_POLLS=2, ELAPSED_US=10, ACCEPTED=1) yeniden geçti.
- İki header-only Event ve exact 48/20 cur_etheraddr isteği yeniden doğrulandı.
- 41.353 baytlık raw UART 0444 kapandı ve SHA-256 68f243e5c4d7292c339da4e4da3b309faf092590ccd89a9d4c91dee5dafb07b3 ile mühürlendi; descriptor sıfırlanmadı (reconnect_attempts=1).
- Üç probun taşımanın ayakta kalmasına katkısı mı, yoksa koşudan koşuya değişkenlik mi olduğu tek kayıttan ayrılamaz.
- Bu kayıt tanı PASS'idir; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj e4e1583dcc9cb21d782d563e00dd05d0267a4b98f5982475df0572ac089dc5f0
kanıt evidence/rpi5/radio/attempt-r117-failure-moment-read-matrix-uart-capture/
R1182026-09-12
Sorulan: Sürücünün 136 kez yokladığı INTSTATUS=0 değeri gerçek register mı, yoksa 4-baytlık erişim bayrağı olmayan yolun ürettiği bir yanılsama mı?
Cevap: Cevap alınamadı. Bu boot'ta ilk veri hatası saf 0x0020 değil 0x0060 geldi; R116 kurtarma kapısı saf DATA_CRC istediği için uygun değildi, host 100.000 pasif kontrolde idle olmadı ve hem R117 matrisi hem R118 prob çifti takılı bir host'u ölçmeyi reddetti. VERDICT=INCOMPLETE. Veri üretilmedi, ama yanlış veri de üretilmedi.
Zincir fail-closed davrandı
WIFIREAD_RECOVERY ELIGIBLE=0 APPLIED=0; WIFIREAD_MATRIX CMD52_SKIP=1 ve tüm problar A=0; WIFICORE_ACCESS INT_SKIP=1, INT_PLAIN=None, MBOX_PLAIN=None. TAIL_IDLE=0, TAIL_POLLS=100000, TAIL_PSTATE=0x017f0206.
İlk hata sınıfı koşudan koşuya değişiyor
R115/R116/R117'de ilk hata 0x0020 ve SDHCI STATUS kart-kesme bitini taşıyordu (0x00208101); R118'de 0x0060 ve o bit yok (0x00608001). Hangi dala düşüldüğü deterministik değil.
R117'nin hükmü bu yüzden nitelenmeli
ADDRESS_SPECIFIC, kurtarılabilir dala düşmüş tek bir boot'un doğru ölçümüdür; henüz tekrarlanmış bir sonuç değildir.
Doğru çalışanlar
- Firmware/NVRAM (1191/1191, 609.792 bayt, RETRIES=0), CR4HOSTDATA ve CR4START yeniden geçti.
- İki header-only Event ve exact 48/20 cur_etheraddr isteği yeniden doğrulandı; READ_FAILURES=13, PENDING_POLLS=65, AGE_MS=1150.
- 44.837 baytlık raw UART 0444 kapandı ve SHA-256 c9fb76f1c131cb1d870bfc455e865012692f167480f6afd18eee9031e23b26e9 ile mühürlendi.
- VERDICT=INCOMPLETE, bayraklı/bayraksız hipotezi hakkında ne lehte ne aleyhte kanıttır; karşılaştırma hiç çalışmadı.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj db5809cb08acd6244b589c0e951d7c67e9eb561f38f96672cbe75bc89026d4ef
kanıt evidence/rpi5/radio/attempt-r118-flagged-vs-plain-backplane-read-uart-capture/
R1192026-09-12
Sorulan: Sahiplenilmiş DATA reset kapısı veri-hatası sınıfının tamamına açılınca, ölçüm artık boot'un hangi dala düştüğüne bağlı kalmayacak mı?
Cevap: Bu koşuda kapı hiç sınanmadı: veri hatası olmadı. Kayıtta tek bir WIFIREAD/FALLBACK/RECOVERY/MATRIX/CORE_ACCESS satırı yok — 0x18004020 CMD53 okuması bu boot'ta hiç kırılmadı. Buna karşılık koşu daha değerli bir şey verdi: taşıma sona kadar kusursuz kaldı, hiçbir okuma düşmedi ve firmware yine cevap vermedi. R117'den sonra ikinci temiz-taşıma ControlTimeout'u.
Taşıma arızası aralıklı: belirti, kök neden değil
Beş koşu, beş farklı taşıma davranışı: R115/R116/R117 ilk hata 0x0020, R118 0x0060, R119 hiç hata yok. 0x18004020 her zaman okunamaz değil; R117'nin ADDRESS_SPECIFIC hükmü o boot'un doğru ölçümüydü, adresin özelliği değil.
Tam süre, tamamen boş veri yolunda beklendi
READ_FAILURES=0, PENDING_POLLS=144, AGE_MS=2500, PRESENT_STATE=0x01ff0000. CLOCK=0xd2, SLEEP=0x03, IO_READY=0x06, F2_ENABLED=0x06, MAILBOX=0x00040002, INTSTATUS=0, IEN=0, INT_PENDING=0, FRAME_IND_SEEN=0, RFRAMEBC=0.
seq=255 kontrol edildi: hata değil
Gönderilen SDPCM başlığı seq=0xff taşıyor. brcmf_sdio.rs tx_sequence'i kasıtlı 255'e ilklendiriyor ve kredi hesabı sarmalı: tx_window.wrapping_sub(tx_sequence) = 21−255 (mod 256) = 22, yani çerçeve pencere içinde. Mühürlü R80 izi CMD53 veri baytlarını taşımadığı için Linux'un ilk çerçevesine karşı doğrulanamadı; açık kontrol olarak kaydedildi.
Doğru çalışanlar
- Firmware/NVRAM (1191/1191, 609.792 bayt, RETRIES=0), CR4HOSTDATA ve CR4START yeniden geçti.
- İki header-only Event (seq 0/1, TXWIN=21) ve exact 48/20 cur_etheraddr isteği yeniden doğrulandı.
- 41.847 baytlık raw UART 0444 kapandı ve SHA-256 ff607845c261e7a2c0b36d4c7987a542192fb38fc216726dc2e949896de13f0d ile mühürlendi.
- Hatanın olmaması hatanın düzeldiği anlamına gelmez; bu sonuç zaten değişken ölçülmüş bir davranışın tek gözlemidir.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj c2818abf67d0b8f63852ad94081f5c20f0ae87564b0b80a0e6804e83ea72faca
kanıt evidence/rpi5/radio/attempt-r119-widened-data-error-gate-uart-capture/
R1202026-09-12
Sorulan: BCM43455'te BT ve WLAN aynı kalıpta PMU/saat paylaşıyor ve BT_ON, SDPCM başlamadan hemen önce yükseliyor. BT bring-up'ı çıkarılırsa kontrol isteği cevaplanır mı?
Cevap: Hayır. BT_ON hiç sürülmemiş ve UARTA'ya hiç yazılmamışken sonuç R119 ile ölçülen her alanda birebir aynı — PENDING_POLLS=144'e kadar. Paylaşılan-PMU hipotezi bu arızayı açıklamıyor; Linux'ta bu çip için bildirilen dtoverlay=miniuart-bt çözümü bizimkinden başka bir arızaya bakıyor.
İzolasyon uygulandı ve yalnız izolasyon uygulandı
PINMUX BT_ON=Some(0) WRITES=0, WIFIPWR BT_ON_TOUCHED=0, BTINV MAP=OK BT_WRITES=0, BTHCI SKIPPED=1 REASON=PMU_ISOLATION BT_ON_DRIVEN=0 UARTA_WRITES=0. Salt-okunur envanter korundu; hiçbir şey eklenmedi.
Wi-Fi sonucu alan alan aynı
İki koşuda da hiç WIFIREAD satırı yok, READ_FAILURES=0, PENDING_POLLS=144, AGE_MS=2500, CLOCK=0xd2, SLEEP=0x03, IORx=IOEx=0x06, MAILBOX=0x00040002, INTSTATUS=IEN=INT_PENDING=0, 2 çerçeve / 0 cevap, terminal ControlTimeout.
Yedi koşudan sonra tekrarlayan tek olgu
Firmware açılıyor, DEVREADY + sürüm alanı 4 bildiriyor, F1+F2 açıyor, HT kaldırıyor, tam iki header-only Event ve 21 kredi veriyor — sonra ilk BCDC isteğine hiç cevap vermiyor, kesme kaldırmıyor, host'a bayt kuyruğa koymuyor. Sağlıklı ve bozuk taşımada, BT'li ve BT'siz aynı.
Doğru çalışanlar
- Karşılaştırma tabanı sabit: kartta yazmadan önce tam olarak R119 vardı ve iki imaj yalnız rpi5-bt-isolate feature'ı ile ayrılıyor.
- Her iki koşuda da taşıma sağlıklıydı, bu yüzden karşılaştırma aralıklı CMD53 arızasıyla bulanmadı.
- 39.858 baytlık raw UART 0444 kapandı ve SHA-256 9e7ec7cbb008711186a0c917a7ae1cd789d38bb665b85dc7e69aee14df1c710c ile mühürlendi.
- Tek boot çifti güçlü bir eşleşmedir ama soak sonucu değildir; ilk veri-hatası sınıfının koşudan koşuya değiştiği ölçülmüştür.
- Bu imaj Bluetooth'u bilerek açmıyor, dolayısıyla hiçbir Bluetooth iddiası taşımıyor.
imaj 2f220c4bbcdfb6a9e200a670ac2a9a50f85fb9dc7758a1af2ee14852c4a3961d
kanıt evidence/rpi5/radio/attempt-r120-bt-isolation-uart-capture/
R1222026-09-12
Sorulan: R121'in ölçtüğü F2 watermark farkı (Linux 0x08, biz 0x60) tek değişken olarak 0x08 yazılırsa ilk BCDC isteği cevaplanır mı?
Cevap: Değişken hiç icra edilmedi. Koşu watermark yazmasından önce, D11 aşamasında backplane pencere geri-okumasında kırıldı. WIN_OK=0, istenen pencere 0x18100000, okunan 0x18181800 (üç bayt da 0x18), ISSUED=0; terminal UNAVAILABLE CORE_READY=0, ControlTimeout değil. R115–R120'de WIN_OK=0 hiç yoktu.
F2 watermark bu boot'ta yazılmadı
Watermark yazması SDPCM'in Function2Pending → ProtocolPending geçişindedir; CR4 başladıktan ve fonksiyon 2 hazır olduktan sonra gelir. Bu boot CR4'ü başlatmadı. Bir baytlık revizyon hakkında ne lehte ne aleyhte sonuç çıkmaz.
Üçüncü arıza imzası: CMD52 pencere geri-okuma uyuşmazlığı
CR4CTRL PHASE=D11 ABORTED=1 REASON=TRANSPORT WIN_OK=0 WIN_W=0x18100000 WIN_R=0x18181800 COMPLETE=0 ISSUED=0. Fail-closed yol tasarlandığı gibi komutu karta göndermedi. WIN_OK=0 bu kayıtta üç kez basıldı; R115–R120'de sıfır kez.
Üç imza tek hipoteze sığar, henüz oran yoktur
CMD53 veri-fazı hatası (R115–R118), temiz taşımada cevapsız ilk BCDC (R117/R119/R120) ve CMD52 pencere uyuşmazlığı (R122). R121 çerçeve hedefi ve geometrisinin Linux ile aynı olduğunu kapattı. Tek koşu tek veri noktası verir; R123 her SDIO işlemini sayarak oran üretir.
Doğru çalışanlar
- Karşılaştırma tabanı sabit: kartta yazmadan önce tam olarak R120 vardı (2f220c4bbcdf…); R122 ona karşı tek bayt.
- Firmware/NVRAM yeniden PASS: SECTORS_DONE=1191/1191, BYTES=609792, RETRIES=0, WORDS=437 VERIFIED=437 OK=1 FW_INTACT=1. CR4HOSTDATA MEASURED=1 APPLIED=1 CLEARED=1.
- 38.209 baytlık raw UART 0444 kapandı ve SHA-256 19a5198a2bd23ae34e275031289094e5574a0d95fc62e6b611739248ffc797c5 ile mühürlendi.
- Bu kayıt tanı kaydıdır; watermark değeri, control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir — firmware bu boot'ta hiç başlatılmadı.
imaj 8fd85b5a7e38bdba33a271809a05679dc1dc5d39c88ed619db4690e330f5a29c
kanıt evidence/rpi5/radio/attempt-r122-f2-watermark-uart-capture/
R1232026-09-12
Sorulan: Her SDIO işlemi sayılırsa, üç arıza imzası (CMD53 CRC, cevapsız BCDC, CMD52 pencere uyuşmazlığı) aralıklı veriyolu bozulmasının oranı mıdır, yoksa arıza yapısal mıdır?
Cevap: CMD53 yazmaları tamamlandı (0/15 incomplete), pencere uyuşmazlığı olmadı, 48 baytlık kontrol çerçevesi XFER=48 çıktı. İki CMD53 okuma CRC'si (2/164) bilinen INTSTATUS yolunda; kurtarma sonrası bekleme yolu READ_FAILURES=0 ve INTSTATUS=0 her iki erişimle doğrulandı. Terminal yine ControlTimeout. F2 watermark 0x08 bu boot'ta icra edildi ve cevap üretmedi. Arama protokole döner.
Sayım makbuzu her sonuç dalında basıldı
WIFIBUSCENSUS STAGE=ERROR CMD52_OPS=612077 CMD52_FAIL=83469 CMD53R_OPS=164 CMD53R_INCOMPLETE=2 CMD53W_OPS=15 CMD53W_INCOMPLETE=0 ERR_CRC_ONLY=1 ERR_CRC_ENDBIT=1 ERR_DATA_TIMEOUT=0 ERR_CMD_CLASS=0 ERR_OTHER=0 WINDOW_MISMATCH=0. Linux R80 ~12.000 CMD52 / ~4.200 CMD53; biz firmware'i hâlâ cmd52+verify ile indirdiğimiz için CMD52 51×, CMD53 1/23.
CMD52_FAIL TCM bozulması değildir
cmd52() None (issue not-ok veya R5) sayılır. FWSTAGE yine OK=1 RETRIES=0 WORDS_V=152448; R58 DATA-doğrulaması R5 kirliyken baytı kabul eder. 83.469/612.077 (%13,6) üç imzanın oranı değildir.
Cevapsız ioctl'ü aralıklı CMD53 yazma bozulması karşılamıyor
CMD53W_INCOMPLETE=0, XFER=48, WINDOW_MISMATCH=0. İki okuma CRC'si INTSTATUS 0x0020 ve bir DATA_CRC|END_BIT; kurtarma ACCEPTED=1, sonra 2500 ms boyunca READ_FAILURES=0. WIFICORE_ACCESS VERDICT=POLLED_VALUE_CONFIRMED: INTSTATUS=0 düz ve bayraklı yolda aynı.
Doğru çalışanlar
- R122'nin ulaşamadığı yol bu boot'ta geçti: CR4CTRL PHASE=COMPLETE WIN_OK=1, CR4START RSTVEC_OK=1, WIFIPROTO STARTED=1, iki header-only RX, exact 48/20 cur_etheraddr SENT=1 REPLIED=0.
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, BYTES=609792, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 41.963 baytlık raw UART 0444 kapandı ve SHA-256 f47f63675174dfd4743543de0928e907cecd6470a214f1fbe22bbe64b86e3044 ile mühürlendi; reconnect_attempts=1.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 8ab16337d0e0c000ff1ae73c80ed94e3795e61240d6385dde9083811dfbffeb2
kanıt evidence/rpi5/radio/attempt-r123-sdio-transport-census-uart-capture/
R1242026-09-12
Sorulan: Linux'un ilk kontrol çerçevesinden hemen önce yazdığı CCCR INT_ENABLE 0x03 sonra 0x07, IEN=0 iken firmware'in cevapsız ioctl'ünü açar mı?
Cevap: Değişken hiç icra edilmedi. Koşu Function2Ready'den önce, D11 aşamasında CMD53 veri-CRC ile kırıldı. WIN_OK=1, ISSUED=1, ERR=0x0020, XFER=0; WIFIEN yok; terminal UNAVAILABLE CORE_READY=0. INT_ENABLE hakkında ne lehte ne aleyhte sonuç çıkmaz.
Census kırılımı çalıştı
CMD52_STAGE_OPS=611542 STAGE_FAIL=78837; CMD52_OTHER_OPS=457 OTHER_FAIL=0. 78.837 fail'in tamamı firmware/NVRAM cmd52 yazması (R46 sahte R5). Staging dışı CMD52 bu boot'ta temiz.
D11 taşıması pencere değil, CMD53 CRC
CR4CTRL PHASE=D11 ABORTED=1 REASON=TRANSPORT ADDR=0x18101800 WRITE=0 WIN_OK=1 WIN_W=WIN_R=0x18100000 COMPLETE=0 ISSUED=1 R5=0x10 ERR=0x0020. R122'nin WIN_R=0x18181800 imzası yok (WINDOW_MISMATCH=0). Komut çıktı, veri fazı DATA_CRC aldı.
INT_ENABLE yazılmadı
Yazma Function2Ready'de, CR4 start ve F2 hazır olduktan sonra. Bu boot CR4'ü başlatmadı. WIFIPROTO ve WIFIEN satırı yok.
Doğru çalışanlar
- Karşılaştırma tabanı sabit: kartta yazmadan önce tam olarak R123 vardı (8ab16337d0e0…).
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, BYTES=609792, RETRIES=0, NVRAM OK=1 FW_INTACT=1. CR4HOSTDATA READY=1.
- 36.432 baytlık raw UART 0444 kapandı ve SHA-256 e312a18f3e9786e033c0e885c03dee063e245cf6a16599c434950b462cbbbefb ile mühürlendi.
- Bu kayıt tanı kaydıdır; INT_ENABLE, control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 644ed7aad9eae7998bf4a64ae2256bb79061d15186deb05de32ab708cf3bc10c
kanıt evidence/rpi5/radio/attempt-r124-cccr-int-enable-uart-capture/
R1252026-09-12
Sorulan: R124 imajı Function2Ready'ye kadar giderse, CCCR INT_ENABLE 0x03 sonra 0x07 ilk BCDC isteğini cevaplar mı?
Cevap: Kapı açıldı ve kapalı kaldı; cevap gelmedi. WIFIEN W1=3 W2=7 READBACK=7, timeout IEN=Some(7) INT_PENDING=Some(0). 48/20 cur_etheraddr XFER=48 SENT=1 REPLIED=0, INTSTATUS=0, ControlTimeout. R115–R124 IEN=Some(0) okuyordu; bu boot Linux çiftini yazdı. INT_ENABLE cevapsız ioctl'ün nedeni değil.
INT_ENABLE icra edildi ve latch etti
Function2Ready'de 0x03 sonra 0x07 yazıldı. Geri-okuma 7. 2500 ms sonra WIFIIRQWAIT hâlâ IEN=Some(7). INT_PENDING=0, CORE_OR=0, FRAME_IND_SEEN=0.
Protokol yolu R123 ile aynı, artı açık kesme kapısı
CR4CTRL COMPLETE WIN_OK=1, CR4START RSTVEC_OK=1, WIFIPROTO STARTED=1, iki header-only RX SEQ=0/1 payload=0, exact 48/20, READ_FAILURES=0, WIFICORE_ACCESS VERDICT=POLLED_VALUE_CONFIRMED. CMD53W_INCOMPLETE=0/15. İlk INTSTATUS 0x0060; kurtarma ACCEPTED=1.
Census kırılımı yine STAGE'e hapsetti
CMD52_STAGE_FAIL=74995, CMD52_OTHER_FAIL=0/535. WINDOW_MISMATCH=0.
Doğru çalışanlar
- Aynı imaj, yeni güç döngüsü: R124 flash'ı duruyordu (644ed7aad9ea…). UART güçten önce arm.
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 42.190 baytlık raw UART 0444 kapandı ve SHA-256 57805577837c951e8553a94dff024e2774f403388e1c87723fd842b1166915b5 ile mühürlendi.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 644ed7aad9eae7998bf4a64ae2256bb79061d15186deb05de32ab708cf3bc10c
kanıt evidence/rpi5/radio/attempt-r125-cccr-int-enable-uart-capture/
R1262026-09-12
Sorulan: R121'in dört ölçülmüş hazırlık farkından üçüncüsü — fn1 WAKEUPCTRL (0x1001e) = 0x02 (HT-wait), Linux'un yazdığı noktada — yazılırsa cevapsız ioctl açılır mı?
Cevap: İlk boot D11'de Function2Ready'den önce düştü, değişken hiç icra edilmedi (STATUS=UNAVAILABLE CORE_READY=0). Tekrar koşu — aynı imaj, reflash YOK, yeni güç döngüsü — değişkeni icra etti: WIFIWAKEUP BEFORE=Some(0) WROTE=Some(2) READBACK=Some(2); ardından 48/20 isteği XFER=48 SENT=1 REPLIED=0, IEN=Some(7) INT_PENDING=Some(0), ControlTimeout. WAKEUPCTRL=0x02 cevapsız ioctl'ün nedeni DEĞİL: dört farktan üçü elendi, tek kalan fn0 CCCR 0x000f0=0x06.
İlk boot değişkene ulaşmadı
D11 aşamasında kırıldı (R124 sınıfı bir varışsızlık); WIFIWAKEUP satırı yok, kontrol çerçevesi gönderilmedi. Aynı imajla tekrar koşu gerekti — R125'in R124'e olan ilişkisi.
Tekrar boot değişkeni icra etti ve eledi
Kartın güç-açılış değeri Some(0) ölçüldü — 0x02 gerçek bir değişiklikti, boş yazma değil. Yazıldı, latch etti, firmware yine cevap vermedi. Watermark (R123), INT_ENABLE (R125), WAKEUPCTRL (R126) elendi; geriye CCCR 0x000f0=0x06 kaldı.
Tekrar yakalama PARTIAL olarak beyan edildi
UART güçten SONRA kurulduğu için başı eksik (ilk satır ASELSAN/FWSTAGE_P S=128 PH=0); eksik bölüm WAKEUPCTRL sorusuna ait değildir ama paket tam-boot yakalama diye kullanılamaz. İlk paket bu imajın tam-boot kaydıdır.
Doğru çalışanlar
- Aynı imaj, yeni güç döngüsü: kart yeniden yazılmadı (0e4fb7ae33ad…).
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- İki mühürlü paket: 36.443 baytlık raw UART SHA-256 a6e7721994d5278f1f218719ccd4c0ec5301ee4602576a64b453957997faff93 ile; tekrar 27.777 baytlık raw SHA-256 198fc75c055bf963251be87faf8521c07b1abf05600aae46c874ef5b5cb6fd0d ile mühürlendi.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 0e4fb7ae33ad4caa97fef2c4b65c76fd634b0187c6fd65290c159de5f5783e2c
kanıt evidence/rpi5/radio/attempt-r126-wakeupctrl-uart-capture/ · attempt-r126-wakeupctrl-uart-capture-repeat-01/
R1272026-09-12
Sorulan: On bir hazırlık profili tek boot'ta süpürülürse (deneme 0 = R126 tabanı, LINUX_EXACT dahil), dört farktan hangi kombinasyon kontrol cevabını üretir?
Cevap: İlk boot D11'de düştü — WIFITRIALPLAN bile basılmadı (yine de CMD52_FAIL=0/611999, kayıttaki en temiz CMD52 boot'u; CMD53W_INCOMPLETE=2/2). Tekrar boot'ta motor çalıştı: TRIAL=0 tabanı birebir doğruladı (ControlTimeout), TRIAL=1 LINUX_EXACT altı hazırlık kaydının tümünü uyguladı ve geri okumayla doğruladı — zincirde İLK KEZ tam Linux hazırlık eşitliği. Hemen ardından WriteFifo fn=2 error_status=0x0020; Io kalıcı terminal oldu, STOP TRIALS_RUN=1/11 REPLIED=0. LINUX_EXACT elenmedi: çerçevesi hiç iletilemedi, sorusu sorulmadı.
Süpürme motoru cihazda çalışıyor
Arm oldu, denemeler koştu, makbuzlar basıldı, tek sonlandırma işareti ile yakalama temiz kapandı.
İlk tam Linux hazırlık eşitliği uygulandı ve geri okundu
WM 0x08, WC 0x02, DEVCTL 0x10→0x00, MESBUSY 0xd0→0x00, CARDCAP 0x00→0x06, IEN 0x07 — hepsi geri okumayla doğrulandı; CCCR 0x000f0=0x06 hiçbir koşuda karta ulaşmamıştı.
Aday (n=1): DEVICE_CTL bit 4
O boot'taki 16 CMD53 yazmasından düşen tek yazma, biti temizleyen profilin hemen ardından geldi; bitin upstream adı bu pakette doğrulanmadı ve DEVICE_CTL hiç tek başına temizlenmedi — R128 tam bunu sınar.
Doğru çalışanlar
- Tekrar boot reflash'sız: aynı imaj (882c67867b88…), yeni güç döngüsü.
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- İki mühürlü tam-boot paket: 36.066 bayt (bea41b4a41578d69b9495fddef2e4757bde3c8a271b0fdb1605d021fed9331cc) ve 49.417 bayt (5c5818fe66408101ef8c213eb9d0c56a31868e6748e840113395de72a4c899c0) raw UART.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 882c67867b88a4af3d72d427e2172be91937eabc905f2c31f725addbe4938bbd
kanıt evidence/rpi5/radio/attempt-r127-prereq-sweep-uart-capture/ · attempt-r127-prereq-sweep-uart-capture-repeat-01/
R1282026-09-12
Sorulan: R127'nin adayı doğru mu: DEVICE_CTL bit 4'ün temizlenmesi ikinci F2 yazmasını mı düşürüyor?
Cevap: ÇÜRÜTÜLDÜ. R128'de düşen deneme biti KORUDU (DEVICE_CTL 0x10→0x10, geri okumayla doğrulandı; MESBUSY 0xd0→0xd0, tek değişiklik CARDCAP 0x00→0x06) ve aynı işlemde aynı hatayı aldı: WriteFifo fn=2 addr=0x8000, CMD53W_OPS=16 INCOMPLETE=1, STOP=NOT_REARMABLE TRIALS_RUN=1/11. DEVICE_CTL sebep değil.
İki boot, adayın adını verdiği bitte farklılaşan iki profil, birebir aynı sonuç
R127 TRIAL=1 LINUX_EXACT biti temizledi (0x10→0x00); R128 TRIAL=1 CARDCAP_06 biti korudu (0x10→0x10, geri okumayla); MESBUSY de farklı (0xd0→0x00 / 0xd0→0xd0). İkisi de aynı WriteFifo fn=2 hatası.
Kartın gerçek güç-açılış watermark'ı 0x20 ölçüldü
Deneme 0 güç-açılış durumunu kaydetti: WM=0x20 WC=0x00 DEVCTL=0x00 MESBUSY=0x00 CARDCAP=0x00 IEN=0x00 — ne bizim 0x60'ımız ne Linux'un 0x08'i.
Kalan tek ortak nokta daha keskin
İki düşen yazma da CEVAPSIZ KALAN bir çerçeveden SONRAKİ ilk çerçeveydi; iki boot'ta da 16 CMD53 yazmasından düşen tek yazma oydu. İki okuma: (a) yeniden kurmamız eksik — her mühürlü koşuda FIFO_READS=0; (b) kart yoksaydığı çerçeveden sonra F2 yazması kabul etmiyor. R129 ikisini ayırır.
Doğru çalışanlar
- D11 GEÇTİ — yeni flash olmasına rağmen (reflash deseni 0/4'ten 1/5'e indi).
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 51.130 baytlık raw UART 0444 kapandı ve SHA-256 f301f54813ede76fb25d64039aa6b9a52f3c1d19520e695d87f2c63d2818ce26 ile mühürlendi; tam boot.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 19d1caafb30d73e258f62161716884ecf802947b6b44ab1653eca8a7d97f3c1e
kanıt evidence/rpi5/radio/attempt-r128-prereq-sweep-ordered-uart-capture/
R1292026-09-12
Sorulan: Her yeniden kurmadan ÖNCE maskeli core INTSTATUS temizliği + koşulsuz tek F2 FIFO boşaltması yapılırsa, ikinci yazma kurtulur mu? (R128'in 'yeniden kurmamız eksik' ve 'F2'de toplanmamış cevap var' okumaları)
Cevap: Kurtarma tamamlandı ve ikinci yazmayı kurtarmadı. WIFIRECOVER ATTEMPTED=1 INTSTATUS=Some(0) CLEARED=0 FIFO_OK=1 FIFO_FAILED=0 LENGTH=Some(0) LEN_COMPLEMENT_OK=0, host veri motoru idle. FIFO boştu, kesme yoktu — ve yeniden kurulan çerçeve üçüncü boot üst üste aynı WriteFifo fn=2 0x0020 ile düştü. İki okuma da çürüdü.
FIFO'da bekleyen çerçeve yoktu
Boşaltma okuması LENGTH=Some(0) döndü; 'kart, toplamadığımız bir cevabı F2 FIFO'da tutuyor' okuması çürüdü.
INTSTATUS zaten sıfırdı, host idle'dı
CLEARED=0 (temizlenecek bit yok), PSTATE idle; 'eksik yeniden kurma' okumasının somut biçimi elendi.
Üçüncü boot aynı imza
R127/R128/R129 üç boot'ta da cevapsız çerçeveden sonraki ilk F2 yazması aynı 0x0020 data CRC ile düştü; kart F2 okumayı kabul ediyor, yazmayı reddediyor.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 59.227 baytlık raw UART 0444 kapandı ve SHA-256 8974eb0e5ed1ce4caa8eb93da0381e6ced3916761f4a56865bb6937dd76c77e1 ile mühürlendi; tam boot. Aynı imajın bir erken denemesi belgelenmiş yavaş staging moduna girdiği için bilerek iptal edildi ve mühürlenmedi.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj aedd2f1c1450fabb34a0bbec0bff1ee3a6c71bf6d2f8e286152e33df49734c4a
kanıt evidence/rpi5/radio/attempt-r129-inter-trial-recovery-uart-capture/
R1302026-09-12
Sorulan: CCCR IO_ABORT (0x06) kaydına function 2 seçimi (0x02) ikinci yazmadan hemen önce yazılırsa, F2 yazma yolu kurtulur mu?
Cevap: Abort tamamlandı ve kurtarmadı. WIFIF2ABORT ATTEMPTED=1 OK=1 FAILED=0; hemen ardından yeniden kurulan ikinci F2 yazması aynı işlemde, aynı data CRC sınıfıyla düştü. IO_ABORT tek başına — bu sınırda — elendi.
IO_ABORT ilk kez issue edildi ve geçti
Hiçbir koşuda issue edilmemiş mekanizma cihazda tamamlandı: ATTEMPTED=1 OK=1 FAILED=0, FUNCTION=2 REGISTER=0x06 VALUE=0x02.
Aynı yazma aynı hatayla düştü
Abort ile ikinci yazma bitişikti; 0x0020 imzası değişmedi.
Sınır daraldı, kapsam dışı kalanlar kayıtlı
F2 disable/enable ve block-size re-assert bu koşuda YOKTUR; ikisi sonraki revizyonların tek değişkenidir.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 55.233 baytlık raw UART 0444 kapandı ve SHA-256 b67ab28be11df904dc0260438f0c803a8154d731c82e1c9bbb1e3754613e17b7 ile mühürlendi; tam boot.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 670818f2326d84f7f50a1571bf466823abeb8cdd7badf0fb89ae81741e93bfdc
kanıt evidence/rpi5/radio/attempt-r130-f2-io-abort-uart-capture/
R1312026-09-12
Sorulan: Function 2'nin enable/ready yaşam döngüsü tamamen kapatılıp (F1 korunarak) yeniden açılırsa, ikinci yazma kurtulur mu?
Cevap: Yaşam döngüsü tamamlandı ve kurtarmadı. WIFIF2REENABLE ATTEMPTED=1 BEFORE_ENABLE=Some(6) DISABLE_OK=1 READY_CLEAR=1 ENABLE_OK=1 READY_SET=1 FAILED=0 — her geçiş ilk bounded poll'da. Hemen ardından ikinci F2 yazması yine 0x0020 ile düştü. Yeni ayırt edici fark: CORE_OR=0x00000080 (R130'un aynı sınırında 0) — yaşam döngüsünün ürettiği post-lifecycle HOST_INT.
Yaşam döngüsü gerçekten tamamlandı
Enable biti gözlendi, temizlendi, hazır-biti düşüşü doğrulandı, geri açıldı, hazır-biti yükselişi doğrulandı — yalnızca register yazılmış sayılmadı.
Post-lifecycle HOST_INT=0x80
R130'un aynı sınırında CORE_OR=0 idi; R131 yaşam döngüsünden sonra 0x80. Pre-lifecycle INTSTATUS=0 olduğundan bu yeni kart durumu ayrıca sınanmalıdır — R132 tam bunu yapar.
Disable/enable test edilen tam formda elendi
Yeni kesmeyi servis etmeden yapılan kapat/aç ikinci yazmayı kurtarmadı; kesmeyi servis eden form R132'nin değişkenidir.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 54.700 baytlık raw UART 0444 kapandı ve SHA-256 f6bb107921026c59c280daf9fa12761d3c7476ae6368f7fec0c61ac4efbc5dfe ile mühürlendi; tam boot.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 877a1b96ba3df93034c31d93991986605c6447d38dfdd3076f39ecf0954f892f
kanıt evidence/rpi5/radio/attempt-r131-f2-reenable-uart-capture/
R1322026-09-12
Sorulan: Yaşam döngüsünün ürettiği HOST_INT (0x80) yaz-bir-temizle ile ack edilip geri okuma sıfır okunursa, ikinci yazma kurtulur mu?
Cevap: Ack tamamlandı ve kurtarmadı. WIFIF2POSTIRQ ATTEMPTED=1 BEFORE=Some(128) MASKED=Some(128) ACK_ATTEMPTED=1 ACK_OK=1 AFTER=Some(0); ardından ikinci F2 yazması yine aynı 0x0020 ile düştü. Post-lifecycle HOST_INT açıklaması elendi.
0x80 gerçekten vardı
READY_SET sonrası core INTSTATUS 0x80 okudu; R131'deki gözlemin yalnız sonuç-sonrası gürültü olmadığı zaman olarak daraldı.
Ack sonrası çekirdek durumu sıfırdı
Write-one-to-clear tamamlandı, readback Some(0); trial boyunca core status sıfır kaldı — buna rağmen aynı yazma aynı veri CRC'siyle düştü.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- 53.772 baytlık raw UART 0444 kapandı ve SHA-256 3741c13128fee95eadc1a89c5773028bdcdffe64e5f789c3b544c0b66e947448 ile mühürlendi; tam boot.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 3fddd839a9e9f31830d62f17da1f1f3907fa6b6990c9c6c4911a656075ab2582
kanıt evidence/rpi5/radio/attempt-r132-post-lifecycle-host-int-uart-capture/
R1332026-09-12
Sorulan: F2 block-size (0x210/0x211) 512 olarak yeniden yazılıp iki baytı geri okunursa, ikinci yazma kurtulur mu?
Cevap: Üçüncü boot değişkene ulaştı: block-size önce 0x00/0x02 idi, iki yazma ve iki geri okuma geçti, MATCH_512=1 FAILED=0. Bitişik ikinci F2 yazması yine 0x0020 ile düştü. İlk iki boot değişkene ulaşmadı (biri trial 0'ı ControlTimeout'tan önce F1 Read32 duvarında kesti, biri D11'de kırıldı). Block-size kaybı veya bayat programlama elendi.
Ulaşım üç boot aldı
İlk paket trial 0'ı ControlTimeout'tan önce F1 Read32 BusError ile kesti (WIFIRECOVER ATTEMPTED=0); ikinci paket D11'de kırıldı (plan satırı bile yok); üçüncü paket R129–R132 zincirinin tamamını geçip değişkeni icra etti.
MATCH_512=1
BEFORE_LOW/HIGH=Some(0)/Some(2), WRITE_LOW/HIGH_OK=1, READBACK 0x00/0x02 — blok boyutu zaten doğruydu ve yeniden yazılıp doğrulandı.
Block-size elendi
Aynı ikinci yazma aynı 0x0020; FIFO, kesme, enable/ready ve block-size durumlarının tümü tek tek sağlıklı doğrulandığı hâlde yazma düşüyor.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1 (üç boot'ta da).
- Üç mühürlü tam-boot paket: 53.314 bayt (02d33ef17340cf8bbc8b70fcc88d9216522fe67634c36bc9b00543b0f358a248), 41.066 bayt (689fae68e7b53063b25176b96daba71abeaab2726670beaf77ed3e0c2b9cd990) ve 51.293 bayt (a2a9776becfedda57d3be7c81b554bbec0387b09b9253e16f8560b2a00af083b) raw UART.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj c58ee8c1fa30a776e1b67a4253353e6df1609cd8e020dd4d4cf58201c7509c37
kanıt evidence/rpi5/radio/attempt-r133-f2-block-size-uart-capture/ · attempt-r133-f2-block-size-repeat-uart-capture/ · attempt-r133-f2-block-size-repeat-2-uart-capture/
R1342026-09-13
Sorulan: Send sınırında host-only SDHCI DATA reset (byte register 0x2f, mask 0x04) — idle doğrulamasıyla — ikinci yazmadan hemen önce uygulanırsa, ikinci yazma kurtulur mu?
Cevap: İlk boot eyleme ulaşamadı: TRIAL=0 sonrası kurtarma merdiveninde F1 Read32 (INTSTATUS) bus-ömründe-bir-kez reset kullanıldıktan sonra aynı adreste ikinci kez 0x0020 aldı, transport NOT_REARMABLE kapandı (WIFIHOSTDATA makbuzu yok). Tekrar koşu ulaştı ve ELEDİ: ATTEMPTED=1 MEASURED=1 APPLIED=1 CLEARED=1 READY=1 CONFIG_SAME=1 (2 poll, 10 µs), reset ile ikinci yazma arasında hiçbir SDIO makbuzu yok; ikinci yazma YİNE 0x0020 ile düştü. R24 (meşgul hatta), R116 (arıza sonrası kurtarma) ve R134 (send sınırı) ile host SDHCI DATA reset eylemi yerleşim-bağımsız elendi.
Eylem makbuzu tamam
PSTATE_B/A=0x017f0000, RESET_FIRST=0x04, 2 poll / 10 µs; SOFTWARE_RESET.DAT self-clear doğrulandı. Reset ile ikinci yazma arasına hiçbir SDIO işlemi girmedi.
Konfigürasyon korundu
CONFIG_SAME=1 — saat/timeout/kontrol/güç/blok/control2 konfigürasyonunun korunduğu kanıtlandı; bu kör bir reset değildi.
Yerleşim-bağımsız eleme
Profil sözleşmesi birebir işledi: APPLIED=1, READY=1 ve aynı 0x0020 tekrarı → ELEME. Reset eylemi hangi yerleşimde olursa olsun ikinci yazmanın 0x0020'sinin nedeni değil; kurtarma-yolu reset'i kodda kaldığı gibi durur.
İlk boot aynı F1 Read32 duvarını tekrarladı
Kurtarma INTSTATUS okuması, bus reset'inden sonra aynı adreste ikinci kez 0x0020 aldı; R133'ün ilk paketi ile ortak varışsızlık imzası. Süpürme motorunun bu kırılganlığı ayrı bir nottur.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1 (iki boot'ta da).
- İki mühürlü tam-boot paket: 39.824 bayt (b7cdc3ed482e0b0e2cae406e21b297866ae13d0a6d9211c312b3f952e4993c5f) ve 44.801 bayt (c409d7fcd52b9202c7e2bc5fdef2a3230f2874d5e708582e04edd2403767500e) raw UART.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj b3910252804ba69fb8ed40c90f52abf4c886d9849c77ac64961f5efd059f1cf0
kanıt evidence/rpi5/radio/attempt-r134-host-data-reset-at-send-boundary-uart-capture/ · attempt-r134-host-data-reset-at-send-boundary-uart-capture-repeat/
R1352026-09-13
Sorulan: Yeniden kurulan ikinci F2 yazması Linux'un kısa-yazma birimi olan 64 bayt byte-mode (16 sıfır dolgu) ile gönderilirse, R127'den beri düşen 0x0020 kurtulur mu? (R80 izi: Linux fn=2 adres=0x8000'e HİÇ 48 bayt yazmıyor; 64×1456 adet.)
Cevap: Üç boot gerekti ve üçüncüsü ELEDİ. İlk iki boot değişkene ulaşmadı: TRIAL=0 cevap bekleyişinde F1 Read32 (INTSTATUS) ile öldü — ilki AGE_MS=383'te error_status=0x0060, ikincisi AGE_MS=2133'te 0x0020; WIFIF2BLKSZ ATTEMPTED=0, ikinci yazma hiç denenmedi. Üçüncü boot ulaştı: plan arm oldu (WIFIF2WRITE64_PLAN ARMED=1 UNIT=64 PAD_ZERO=1 FIRST_WRITE_UNCHANGED=1 CARD_COMMANDS=0 HOST_RESET=0), TRIAL=0 tabanı korudu (48/48, ControlTimeout), kurtarma + R131/R132/R133 zinciri tam makbuzla geçti, WIFIHOSTDATA sıfır kez basıldı — ve 64 baytlık ikinci yazma YİNE aynı 0x0020 ile düştü: WIFIREAD OP=WriteFifo BYTES_READ=64 ERROR_STATUS=0x0020, STOP=NOT_REARMABLE TRIALS_RUN=1/11. Byte-count şekli elendi.
Değişken birebir icra edildi, profil sözleşmesi işledi
İkinci yazmanın teldeki bayt sayısı 64 oldu (WIFIREAD BYTES_READ=64, BusError bytes_read: 64); ilk yazma FRAMELEN=48 XFER=48 değişmedi; R134'ün elenen reset'i imajda yoktu (WIFIHOSTDATA makbuzu 0 adet, plan HOST_RESET=0).
R129–R133 zinciri bu boot'ta da tam geçti
WIFIRECOVER ATTEMPTED=1 INTSTATUS=Some(0) FIFO_OK=1 LENGTH=Some(0); F2REENABLE DISABLE_OK=1 READY_CLEAR=1 ENABLE_OK=1 READY_SET=1 FAILED=0; F2POSTIRQ BEFORE=Some(128) ACK_OK=1 AFTER=Some(0); F2BLKSZ MATCH_512=1 FAILED=0. Düşen tek işlem yine yeniden kurulan ikinci F2 yazmasıydı.
İki varışsızlık paketi ayrı mühürlendi
İlk boot 0x0060, ikinci boot 0x0020 F1 Read32 imzasıyla TRIAL=0'da öldü; ikisi de 'R135 sorusunu cevaplamaz' diye beyan edildi. Kart hiç yeniden yazılmadı — üç boot aynı db93f033… imajındaydı.
Sıradaki aday: re-arm→yazma zamanlaması (R26 emsali)
Kart tarafı (FIFO, kesme, enable/ready, block-size), host tarafı (DATA reset) ve teldeki byte sayısı elendi; MATCH_512 makbuzu ile ikinci yazma arasındaki ZAMAN hiç tek değişken olarak sınanmadı. R26 saf beklemenin yetmediğini, araya giren tek CMD52'nin senkronize ettiğini göstermişti. Önce masabaşı notu, sonra fiziksel koşu.
Doğru çalışanlar
- Aynı imaj, üç tam cold boot: kart yeniden yazılmadı (db93f033…).
- Firmware/NVRAM PASS üç boot'ta da: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- Üç mühürlü tam-boot paket: 52.972 bayt (b2f1b8c94f8e4278661d550d7b1fb5d16eb6b6f5171bec782888806c6fb75c09), 55.441 bayt (702d55a35d9d93f30d7d454b8e7a4455fcda394ba33bfbec1b1a160e79e37445) ve 57.787 bayt (e11fab801097e3d6777e3b889f70dabc7e2050ec19598014d655d25fa937346f) raw UART.
- Tek değişken kapısı derleme-zamanında kuruldu: aynı ağaçtan R134/R135 imajlarının ASELSAN/ işaretçi kümeleri arasındaki tek fark WIFIF2WRITE64_PLAN eklenmesi ve WIFIHOSTDATA(_PLAN) çıkarılmasıdır; mühürlü R134 imajı karttan kurtarılıp build/rpi5-wifi-scan-r134-sealed/ altına alındı.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj db93f033197a844046dda915ac79e1d23690e48a9cab867be0e77ec94999aa2d
kanıt evidence/rpi5/radio/attempt-r135-f2-write64-uart-capture/ · attempt-r135-f2-write64-uart-capture-repeat-01/ · attempt-r135-f2-write64-uart-capture-repeat-02/
R1362026-09-13
Sorulan: Kontrol çerçevesi Linux'un aynı kartta ölçülen SDPCM glom biçimiyle (8 baytlık eklenti, BCDC dcmd 20. baytta) gönderilirse hem hat kabul eder hem firmware cevap verir mi?
Cevap: Tel biçimi duvarı KIRILDI, cevap gelmedi. Yeniden kurulan ikinci F2 yazması ilk kez kabul edildi: TRIAL=1 FRAMELEN=56 XFER=56 SENT=2 REPLIED=0 ERR=ControlTimeout — WriteFifo/0x0020 hatası YOK; süpürme TRIAL=2'ye ilerledi (TRIALS_RUN=2). Ancak her denemede REPLIED=0 CTRL_SEEN=0 FRAME_IND=0 HOST_INT=0 CORE_OR=0 kaldı: firmware çerçeveyi işlemiyor, terminal yine ControlTimeout.
Duvar taşımadan firmware mantığına kaydı
R127–R135 host tarafını (FIFO, kesme, yaşam döngüsü, block-size, DATA reset, byte-count) elemişti; R136 tel biçimini Linux'la eşitledi ve ikinci yazma kabul edildi. Artık sınır SDIO değil: firmware çerçeveyi yutuyor ve hiç kesme üretmiyor.
Kalan ölçülmüş farklar (R137 adayları)
Ölçülen Linux çerçeveleriyle (linux-r136-first-frame-v3) yapı birebir aynı; kalan farklar: SDPCM seq (bizde 255 taşıma başlangıcı, Linux'ta küçük ve artan), dcmd türü/id (bizde GET id=1, Linux ölçümünde SET id=4+), ve Linux'un preinit sırası (bus:txglomalign, ver, cur_etheraddr, mpc, bus:txglom, event_msgs, scan_ver).
Makbuz kusuru düzeltildi
R136 koşusunda WIFICTRLTX BCDCLEN=0 ve EXPECT_R80_* alanları eski yerleşimin ofsetlerini okuyordu; çerçevenin kendisi doğruydu (RAW satırında 14 00 00 00 = 20). Makbuz artık CONTROL_DATA_OFFSET+4'ten okuyor.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R133 zinciri korundu: WIFIF2BLKSZ ATTEMPTED=1 MATCH_512=1 FAILED=0; R134 reset'i ve R135 64-bayt deneyi imajda yok.
- 45.849 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 940ff0ae798cca612f4481bf5b8b22c81c0ac5753b33d764ab5a11ce5c8fa246
kanıt evidence/rpi5/radio/attempt-r136-glom-control-frame-uart-capture/
R1372026-09-13
Sorulan: Mailbox el sıkışması görünür kılınırsa: dongle protokol için hazır oluyor mu (FWREADY) ve tel biçimi dört çerçeve boyunca kararlı mı?
Cevap: Taşıma sağlam, dongle hazır değil. Dört deneme üst üste kabul edildi (TRIAL=0..3 FRAMELEN=56 XFER=56 BCDCLEN=20 SENT=1..4, seq 255→0→1→2→3; TRIALS_RUN=4/11) ve makbuz artık doğru BCDCLEN okuyor. Ancak yeni tanık 87 örnekte mailbox değerinin HİÇ değişmediğini ölçtü: LAST=0x00040002 = sürüm 4 + DEVREADY; FWREADY (0x0008, 'fw ready for protocol activity') hiç görünmedi ve kabul edilen çerçevelerin hiçbirine cevap gelmedi (REPLIED=0 FRAME_IND=0 HOST_INT=0).
Taşıma duvarı gerçekten aşıldı
R136'da iki denemeye çıkan süpürme R137'de dörde çıktı; her çerçeve kabul edildi ve düşen tek şey bilinen Read32(INTSTATUS) duvarı oldu. Tel biçimi (glom) ve makbuz alanları doğru.
Dongle protokol hazır bayrağını kaldırmıyor
ASELSAN/WIFIMBOXWATCH SAMPLES=87 CHANGES=0 LAST=0x00040002: DEVREADY var, FWREADY yok. brcmfmac'te FWREADY 'fw ready for protocol activity' demektir; bayrak kalkmadan kontrol isteklerinin cevaplanmaması beklenir.
Sıradaki aday: hostmail el sıkışmasının zamanlaması (R138)
Linux `brcmf_sdio_hostmail` her okumada SMB_INT_ACK yazar ve DEVREADY/FWREADY görünce sürümü yeniden yazar. Bizde ACK yalnız değer değiştiğinde, sürüm yalnız F2-hazır yolunda bir kez gidiyor; R138 yalnız bu iki yazmanın zamanlamasını değiştirir (docs/radio/R138-hostmail-ack-desk.md).
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136 glom biçimi ve R133 zinciri korundu; R134/R135 deneyleri imajda yok.
- 74.047 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 68cad3b57b5c34bbe4a306d0314904e9241bcf9672111eb11901d88dc821ad76
kanıt evidence/rpi5/radio/attempt-r137-mailbox-handshake-uart-capture/
R1382026-09-13
Sorulan: Host mailbox el sıkışması Linux'un brcmf_sdio_hostmail dizisiyle (her okumada SMB_INT_ACK + DEVREADY/FWREADY görülünce sürüm yazımı) tamamlanırsa dongle FWREADY'yi kaldırır ve çerçeveleri cevaplar mı?
Cevap: Hayır — hipotez ELENDİ. Üçüncü koşuda değişken tam icra edildi: 32 örnekte her okuma ACK'lendi (ACKS=32) ve her okumada protokol sürümü yeniden yazıldı (VERSION_WRITES=32); dongle yine FWREADY'yi kaldırmadı (FWREADY_SEEN=0, LAST=0x00040002 = sürüm 4 + DEVREADY) ve iki kusursuz glom çerçevesi cevapsız kaldı. Oturum host tarafında CommandDeadline(Mac) ile kapandı.
Değişken tam icra edildi
WIFIHOSTMAIL_PLAN ARMED=1 ACK_EVERY_READ=1 VERSION_REWRITE_ON_READY=1; WIFIMBOXWATCH SAMPLES=32 CHANGES=0 DEVREADY_SEEN=1 FWREADY_SEEN=0 VERSION=4 ACKS=32 VERSION_WRITES=32 LAST=0x00040002. R137'nin makbuz kusuru da düzeldi: bayraklar artık her örnekte değerlendiriliyor.
El sıkışma adayı elendi
Linux'un dizisi birebir uygulandı (her okumada ACK, hazır bayrağında sürüm yazımı); dongle yine 'protokol aktivitesi için hazır' demiyor. Duvar host el sıkışmasında değil.
Üç kanıt tek okumada birleşiyor
Dosya TCM'e doğrulanarak yükleniyor (FWSTAGE/NVRAM OK=1) ama CR4START makbuzları STARTED=0/EXECUTED=0; dongle DEVREADY diyor, FWREADY demiyor; host tarafı hâlâ kırılgan (F1 Read32/Write8 inhibit, CommandDeadline). Uygulama firmware'inin yürümediği okuması güçlendi — R139'un yönü bu.
Doğru çalışanlar
- Üç boot da firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1 (ilki D11'de düştü, değişken icra edilmedi — mühürlü varışsızlık paketi).
- R136 glom biçimi ve R133 zinciri korundu; R134/R135 deneyleri imajda yok.
- Üç mühürlü paket: 38.748 (varışsızlık), 51.653 (değişken icra, erken kapanış) ve 55.558 bayt (karar) raw UART; hepsi WHOLE BOOT ve 0444.
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj e125208d4eb9d73bd0d7a71985766ce0fa172be9f4a2b975523bc80e57536b39
kanıt evidence/rpi5/radio/attempt-r138-hostmail-complete-uart-capture/ · attempt-r138-hostmail-complete-uart-capture-repeat-01/ · attempt-r138-hostmail-complete-uart-capture-repeat-02/
R1392026-09-13
Sorulan: Reset vektörü Linux'un yaptığı gibi 4-baytlı bayraklı CMD53 ile backplane adres 0'a yazılırsa iner mi (R88'in 0x0060'ı R94 sonrası tekrarlar mı) ve CR4 yürütme tanıkları değişir mi?
Cevap: Taşıma KAPANDI, yürütme değişmedi. RSTVEC_C53=1 RSTVEC_B=4 RSTVEC_ERR=0x0000 RSTVEC_CMD52_FALLBACK=0 — 4-baytlı bayraklı CMD53 indi; R88'in veri CRC'si R94 sonrası tekrarlamadı ve CMD52 geri dönüşü hiç kullanılmadı. Buna rağmen CR4 tanıkları sıfır kaldı (EXECUTED=0 STARTED=0 MBOX=0 INTSTAT=0 SHARED_RAW=0; HT_REQ_AVAIL=1) ve dongle FWREADY demedi (SAMPLES=18 ACKS=18 VERSION_WRITES=17 FWREADY_SEEN=0).
Kritik yoldaki son bilinen yapısal fark kapandı
Linux'un CR4 başlatma değerleri R139 ölçümünde birebir çıkmıştı (ioctl 0x03/0x23/0x21/0x01, +0x800 1→0, rstvec 0xb83ef198, sürüm 0x00040000, hostintmask 0x200000f0, ACK 2). Bu koşu taşımayı da eşitledi: rstvec artık 4-baytlı bayraklı CMD53 ile iniyor.
CR4 yürütme hâlâ görünmüyor
Değerler ve taşıma Linux'la aynı olduğu hâlde paylaşımlı bellek boş (SHARED_RAW=0), mailbox ve intstatus sıfır. Yani eksik olan, yazdığımız değerler ya da bu yazmanın taşıması değil.
Kalan iki aday (R140)
(a) firmware staging taşıması — biz CMD52 ile yazıp geri okuyoruz, Linux CMD53 blok yazmalarıyla indiriyor; (b) F1 yazma güvenilirliği — bu koşu kendi el sıkışma yazmamızın tosbmailboxdata (0x18004048) Write32'sinde 0x0020 ile düştüğünü gösterdi.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136 glom biçimi, R133 zinciri ve R138 hostmail tamamlama korundu; R134/R135 deneyleri imajda yok.
- 55.546 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj a7d06727d947bdaa1aad452a83eb9ea21bff8156e35378ee4b65e9b8ed438eaa
kanıt evidence/rpi5/radio/attempt-r139-rstvec-cmd53-uart-capture/
R1402026-09-13
Sorulan: "Host hazır" protokol sürümü yazması CR4 bırakılışından hemen sonra yapılırsa (Linux'un brcmf_sdio_firmware_callback konumu) dongle FWREADY'ye geçer mi?
Cevap: GEÇTİ — ilk kez. Yazma bırakılıştan 5 ms sonra indi (WRITE_OK=1, AFTER=0x00040000) ve dongle 30 ms içinde 0x00040008 (sürüm 4 + FWREADY) yazdı; intstatus 0x208000c0 (I_CHIPACTIVE|HMB_HOST_INT|HMB_FRAME_IND) kalktı. Pencere salt-okunur olduğu için el sıkışma cevaplanmadı ve protokol fazında posta kutusu DEVREADY'ye (0x00040002) geri düştü; koşu F1 Read32 0x18004020 veri CRC'siyle (0x0020) kapandı.
Duvar bir zamanlama duvarıymış
R136–R139 aynı değerleri yazıyordu ama bu yazma bırakılıştan saniyeler sonra gidiyordu; Linux'ta 74 µs sonra gidiyor. Yer değişince dongle aynı sırayla cevap verdi: 5 ms'de yazma, 30 ms'de FWREADY.
Cevapsız el sıkışma geri düşüyor
Salt-okunur pencere dongle'ı memnun etmiyor: FWREADY bir süre sonra DEVREADY'ye dönüyor ve denemeler yine hiç kesme görmüyor (CORE_OR=0x00000000). Linux aynı pencerede postayı ACK'liyor (0x18004040 ← 2) ve intstatus'ı write-1-to-clear ediyor.
Kalan duvar iki parçalı
(a) posta kesmesini erken pencerede cevaplamak (R141'in tek değişkeni), (b) F1 0x18004020 okumasındaki veri CRC'si — bu koşuda da koşuyu kapatan hata oldu.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136 glom biçimi, R133 zinciri, R138 hostmail tamamlama ve R139 CMD53 rstvec korundu; R134/R135 deneyleri imajda yok.
- Erken pencere HİÇ yazma yapmadı (WRITES=0) — bu bir değişken değil, salt-okunur tanıktı.
- 57.712 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 12595cd216f02de34ba7c320360d6abd39aed982c91f41173d46530287cf7471
kanıt evidence/rpi5/radio/attempt-r140-hostready-at-start-uart-capture/
R1412026-09-13
Sorulan: R140'ın salt-okunur penceresinde gelen FWREADY ve host kesmesi Linux ISR'inin yaptığı gibi cevaplanırsa (tosbmailbox ← SMB_INT_ACK, intstatus write-1-to-clear) el sıkışma tamamlanır ve kalıcı olur mu?
Cevap: Cevap İNDİ (ACKS=7 INT_WRITES=2 INT_MASKED=0x200000c0 SETTLED=1 FWREADY_ACKED_MS=25) ama durum KALICI OLMADI: protokol fazında posta kutusu yine 0x00040002'ye düştü ve koşu TRIAL=0'da F1 Read32 0x18004020 veri CRC'siyle (0x0020) kapandı. Arıza makbuzu mekanizmayı gösterdi: HOST_CARD_INT=true (kart DAT1'i sürüyor) ve SDHCI_INT_SIGNAL_ENABLE=0 (kesme servis edilmiyor).
Cevap tasarlandığı gibi çalıştı
El sıkışma oturdu: FWREADY 25 ms'de onaylandı, intstatus 0x200000c0 write-1-to-clear edildi ve pencere erken kapandı (SETTLED=1). R140'ın salt-okunur penceresi artık cevap veriyor.
Dongle durumu yine korumadı
Protokol fazında posta kutusu 0x00040002 (yalnız DEVREADY) ve CHANGES=0; denemeler yine CORE_OR=0x00000000 gördü. Tek kesme onayı el sıkışmayı kalıcı kılmıyor.
Yeni ve doğrudan kanıt: kart DAT1'i sürüyor
SDHCI HOST_CARD_INT=true ve SDHCI_INT_SIGNAL_ENABLE=0; 4 baytlık CMD53 okumaları DAT1 sürülürken veri CRC'siyle düşüyor (0x0020/0x0060). Kartın bu izni bizden: F2 hazırlığında CCCR INT_ENABLE 0x03 → 0x07 yazılıyor, yani master+F1+F2 kesmeleri açık. Yoklamalı tasarımda DAT1'e ihtiyaç yok — R142'nin adayı bu.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136 glom biçimi, R133 zinciri, R138 hostmail, R139 CMD53 rstvec ve R140 host-hazır konumu korundu; R134/R135 deneyleri imajda yok.
- 52.965 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 044266fbe0a4b9b616feca094abab47352bef9c6606e1a69a9e9a090dac5d765
kanıt evidence/rpi5/radio/attempt-r141-mailbox-answer-uart-capture/
R1422026-09-13
Sorulan: Kartın DAT1 kesme hattını sürmesinin izni CCCR INT_ENABLE (F0 0x04) fonksiyon/master bitleri mi? Master biti temiz yazılırsa (0x03→0x02, 0x07→0x06) veri hattı CRC'leri biter mi?
Cevap: Yazma İNDİ (WIFIEN W1=Some(2) W2=Some(6) READBACK=Some(6)) ve koşu ilerledi (TRIALS_RUN=2), ama hipotez ELENDİ: kart DAT1'i yine sürdü (HOST_CARD_INT=true, SDHCI_INT_STATUS=0x101 bit 8) ve koşu yine F1 Read32 0x18004020 veri CRC'siyle kapandı (READ_FAILURES=5).
CCCR fonksiyon bitleri bu silikonda kapı değil
Master bit temizken de kart interrupt hattını sürüyor; SDHCI'nin card-interrupt durum biti (0x101) set kalıyor.
Tanık dinamik
Aynı koşuda HOST_CARD_INT önce false, sonra true okundu — latch'lenmiş bir kalıntı değil, kartın o an hattı sürdüğünü gösteriyor.
Kalan aday: SDIO çekirdeği host kesme maskesi
Bu sürücünün yazdığı tek diğer kesme etkinleştirmesi 0x18004024 (R121'den beri Linux'a benzemek için 0x200000f0). R143 tam onu sınadı.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136 glom, R133 zinciri, R138 hostmail, R139 CMD53 rstvec, R140 host-hazır yeri ve R141 posta cevabı korundu.
- 60.507 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; control reply, READY=1, scan, association, DHCP veya Internet kanıtı değildir.
imaj 6de90c05876cf2fd28fa01781c53e96cecb2fde5392407cb10a31c7cee4edc11
kanıt evidence/rpi5/radio/attempt-r142-int-enable-off-uart-capture/
R1432026-09-13
Sorulan: Kartın DAT1'i sürme izni SDIO çekirdeği host kesme maskesi mi? 0x18004024 ← 0x200000f0 yerine 0 yazılırsa hat susar ve F1 okumaları temiz kalır mı?
Cevap: Yazma İNDİ (hostintmask_written: Some(0)) ve koşu yine ilerledi (TRIALS_RUN=3), ama hipotez ELENDİ: maskeyle de kart DAT1'i sürüyor (HOST_CARD_INT=true ×4) ve koşu F1 Read32 0x18004020 veri CRC'siyle kapandı. Posta kutusu protokol fazında hâlâ 0x00040002, REPLIED=0.
Üç kesme-etkinleştirme hipotezi sırayla elendi
R141 posta cevabı (TRIALS_RUN=0), R142 CCCR master biti (2), R143 SDIO çekirdeği maskesi (3): hepsi indi, hiçbiri hattı kapatmadı, hepsi veri CRC'siyle bitti.
DAT1 tanığı dinamik — çakışma teşhisi ayakta
R142'de önce false sonra true okunması bitin latch olmadığını gösteriyor; dongle host cevap vermediği için hattı sürüyor ve 4-bit veri transferlerimizi aralıklı bozuyor.
Kurtarma yolu çalışıyor ama yoklamaya bağlı değil
WIFIREAD_RECOVERY PRIMARY_ERR=0x0020 → APPLIED=1 CLEARED=1 RECOVERY_OK=1 POST_READ_OK=1 POST_VALUE=Some(0): arıza temizlenebiliyor. R144 bu yolu yoklama döngüsüne bağlar; o zaman koşu protokol sorusuyla biter.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- Önceki tüm zincir (R136–R142) korundu; R134/R135 deneyleri imajda yok.
- 66.321 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 79e05167ce0bf84fbc8d2fdaa2b207f1c08a9f6e6ecc31506be2b91127d2eb80
kanıt evidence/rpi5/radio/attempt-r143-hostintmask-off-uart-capture/
R1442026-09-13
Sorulan: Yoklamadaki aralıklı veri CRC'si (R141–R143'ün üçünü de kapatan hata) turu düşürmesin: taşıma katmanının sınırlı kurtarmasından sonra okuma bir kez yinelenirse koşu protokol sorusuna ulaşır mı?
Cevap: ULAŞTI — bu hattın en ileri noktası. Protokol fazı İLK KEZ dongle'ın kesmelerini gördü (interrupt_status_or=0xc0, frame_ind_seen=1, host_int_seen=1, FRAME_IND=1 HOST_INT=1; R136–R143'te bu alan hep 0x00000000 idi) ve F2 çerçeve okumasını denedi. Yeni duvar F2 okuması: transfer zaman aşımı + veri CRC'si (error_status=0x20, transfer_complete=false, bytes_read=64).
Dongle'ın kesmesi ilk kez görüldü
WIFIFAIL interrupt_status_or=192 (0xc0) = I_HMB_HOST_INT | I_HMB_FRAME_IND ve FRAME_IND=1 HOST_INT=1: dongle veri göndermek istiyor. Bu alan R136–R143 boyunca hep sıfırdı.
F2 okuması denendi ve düştü
ReadFifo function=2 address=0x8000, 64 bayt: command_complete=true, buffer_ready=true, ama transfer_complete=false, bytes_read=64, error_status=0x20, timeout_transfer=true. Duvar artık F2 okuma yolu.
Yoklama hatası artık koşuyu düşürmüyor
WIFIPOLLRETRY RETRIES=0 RETRY_OK=0 RETRY_FAILED=0: bu koşuda R141–R143'ü kapatan hata hiç oluşmadı; koşu F2 okumasına kadar ilerledi.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R140 host-hazır konumu, R141 posta cevabı, R142/R143 kesme-etkinleştirme değişiklikleri ve tüm R136 zinciri korundu.
- İlk boot non-arrival'dı (CR4 dizisi erken durdu, RSTVEC_C53=0); kural gereği yorumlanmadı ve aynı imaj taze güç çevrimiyle yinelendi.
- 52.910 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 81323546eef41f6eff9437e597e5307dad8e8c547988675ef7941486dc09a2f3
kanıt evidence/rpi5/radio/attempt-r144-poll-retry-uart-capture-repeat-01/
R1452026-09-13
Sorulan: R144'ün tek-yeniden-deneme kuralı F2 çerçeve okumalarına da uygulanırsa ilk kez dongle'dan gelen bir çerçeve okunur mu?
Cevap: KISMEN: taşıma artık koşuyu taşıyor (2. boot TRIALS_RUN=8/11, 9 kontrol çerçevesi) ama dongle denemeler boyunca hiç kesme kaldırmadı (CORE_OR=0x00000000, REPLIED=0) ve F2 okuma yoluna hiç çerçeve gelmedi. 1. boot ise F2 yoluna ulaşamadan yoklama okumasında düştü (RETRIES=1 RETRY_FAILED=1).
Taşıma katmanı artık taşıyor
8/11 deneme tamamlandı ve WIFIRECOVER dokuz kez FIFO_OK=1 döndü; R141–R143'te koşuyu kapatan hata artık ölçümü bloke etmiyor.
Dongle susuyor
Her denemede CORE_OR=0x00000000 ve posta kutusu 158 örnek boyunca 0x00040002 (DEVREADY): R140'ın 25 ms'de gördüğü FWREADY (0x00040008) kaybolmuş durumda, dongle bir daha sinyal vermiyor.
Boot'lar arası değişkenlik büyük
Aynı imajın 1. boot'u 1/11 denemede düştü, 2. boot'u 8/11'e çıktı; ölçüm için tek boot yeterli değil.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136–R144 zinciri korundu (glom biçimi, CMD53 rstvec, host-hazır konumu, posta cevabı, yeniden deneme kuralı).
- 100.443 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 167cb2334c20a188c9af717f19c96f3e3b5d235ad049dc7e48f2375f8d163739
kanıt evidence/rpi5/radio/attempt-r145-fifo-retry-uart-capture-repeat-01/
R1462026-09-13
Sorulan: Dongle'ın kendi yayınladığı SDPCM paylaşım alanı (Linux'un brcmf_sdio_readshared yolu: RAM tepesi-4'teki işaretçi + yapının flags/trap/assert/konsol alanları) okunursa firmware'in durumu ne çıkar?
Cevap: Firmware CANLI ve SAĞLIKLI: paylaşım alanı yayınlanmış (PTR=0x00201cc0, PTR_PLAUSIBLE=1, STRUCT_OK=1), W0_FLAGS=0x00000001 (sürüm 1; ASSERT/TRAP/FAIL bitleri yok), konsol adresi W5_CONSOLE=0x0025debc, firmware kimliği W7/W10=0xb677b91b (FWID 01-b677b91b — bizim BRCMFW.BIN ile aynı). Chipid nöbetçisi okuma öncesi/sonrası 0x15264345: kararma yok.
Susma bir çökme değil
Flags alanında ASSERT/ASSERT_BUILT/TRAP/FAIL bitlerinin hiçbiri yok ve trap/assert alanları sıfır: firmware kendini sağlıklı bildiriyor. Paylaşım alanını yayınlaması, protokol katmanına geldiğini gösteriyor.
Firmware kimliği bizim dosyamızla aynı
W7 ve W10 = 0xb677b91b → FWID 01-b677b91b; BRCMFW.BIN'in kuyruğundaki kimlikle birebir. Yanlış blob kuşkusu da böylece kapandı.
Elimizde yeni bir kanal var: firmware konsolu
W5_CONSOLE=0x0025debc RAM aralığımızın içinde; firmware'in kendi log metni orada duruyor ve okunabilir. R147'nin tek işi bu.
Doğru çalışanlar
- Salt-okunur: WRITES=0 — bu koşuda hiçbir kayıt yazılmadı.
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, RETRIES=0, NVRAM OK=1 FW_INTACT=1.
- R136–R145 zinciri korundu; R97'nin kararma uyarısına uyularak okuma koşunun EN SONUNA konuldu ve nöbetçiyle doğrulandı.
- 67.678 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 6b7e0c2116e8c6568b9f30b54f4451c125b58ca066141ec09bac8f2da0314b4e
kanıt evidence/rpi5/radio/attempt-r146-shared-witness-uart-capture/
R1472026-09-13
Sorulan: R146'nın bulduğu konsol adresinden (0x0025debc) firmware'in kendi log metni okunabilir mi?
Cevap: OKUNDU. Yapı tutarlı: tampon 0x0025dab4, boy 0x400 (1024 — metnin '1024..' önekiyle birebir), yazma indeksi 0x177 (367 bayt). Metin firmware'in kendi damgalı log biçimini taşıyor ve ilk satırlar WLC başlatması: 'wl0: wlc_channels_commit: no valid channel for "#n" nbands 2 bandlocked 0', 'wl0: Broadcom BCM4345 80…'.
Konsol yapısı ölçüldü
W2=tampon, W3=boy, W4=yazma indeksi; metnin öneki '1024..' boyla birebir eşleşiyor. Ring tampon olduğu için satır sırası doğrusal değil.
Firmware WLAN yığınını kuruyor
'wl0:' satırları WLC attach ve kanal kararlarının çalıştığını gösteriyor; ilk 62 ms'de kanal uyarısı düşüyor.
239 bayt daha var
Bu koşuda ilk 128 bayt okundu; tamponda 367 bayt yazılı. R148 tam logu okuyacak.
Doğru çalışanlar
- Salt-okunur: WRITES=0.
- 1. boot non-arrival'dı (CR4 dizisi tamamlanmadı, IOCTL_TERM=0); kural gereği yorumlanmadı ve aynı imaj taze güç çevrimiyle yinelendi.
- 55.257 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 9a51d4a3b407a8272bc2a03a73218bf0f6c3fab871d00a6c28c4300ab7e0b147
kanıt evidence/rpi5/radio/attempt-r147-console-witness-uart-capture-repeat-01/
R1482026-09-13
Sorulan: Tam konsol logu (1024 bayt) okunursa firmware çerçevelerimiz hakkında ne yazmış?
Cevap: NEDENİ YAZMIŞ: 'sdpcmd_dpc: Enable' (t=2.919 s) → 'sdpcmd_dpc: Disable' + 'sdpcmd_tx: device disabled' + 'sdpcmd_sendheader: tx submit failed!!' (t=6.022 s) → 'sdpcmd_dpc: Enable'. Yani kontrol çerçevemiz cihaz devre dışıyken gönderildi ve firmware onu düşürdü; cevap bu yüzden yok. Aynı logda 'wl0: wlc_stf_txcore_shmem_write: No clock' ve 'wlc_channels_commit: no valid channel for "#n"' satırları da var.
Dongle nedeni kendi yazdı
sdpcmd_sendheader: tx submit failed!! — çerçevemizin gönderimi tam o anda düştü. Bu, R136'dan beri aranan cevabın doğrudan kanıtı.
Firmware içinde saat yok
wl0: wlc_stf_txcore_shmem_write: No clock — PHY/TX çekirdeğine saat bulunamıyor. Linux bu yüzden CR4 bırakılışından hemen sonra CHIPCLKCSR'yi saveclk|FORCE_HT (0xd2) yapar; bizde 0xd0.
Kanal listesi boş
wlc_channels_commit: no valid channel for "#n" nbands 2 bandlocked 0 — regulatory/CLM yapılandırması boş; ayrıca 'Invalid antennas available in srom' ve 'TCAM: 256 used: 255' satırları var.
Doğru çalışanlar
- Salt-okunur: WRITES=0; nöbetçi temiz (SENT_RETRIES=0).
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- 60.174 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj f5c772b4892b8da5060463a62786f0a1bcad397b7ecb552c22f95e602a108e69
kanıt evidence/rpi5/radio/attempt-r148-console-full-uart-capture/
R1492026-09-13
Sorulan: Linux'un CR4 bırakılışından hemen sonra yazdığı FORCE_HT biti (CHIPCLKCSR 0xd2, bizde 0xd0) firmware'in R148'de kendi yazdığı 'No clock' şikâyetini giderir mi?
Cevap: HAYIR. Bit indi (BEFORE=0xd0 WROTE=0xd2 AFTER=0xd2, HT_CSR_FIN=0xd2) ve firmware bu boot'ta SDPCM veri yolunu kapatmadı (R148'in 'sdpcmd_dpc: Disable' + 'sdpcmd_sendheader: tx submit failed!!' satırları logda yok) — ama 'wl0: wlc_stf_txcore_shmem_write: No clock' satırı t=55 ms'de aynen duruyor: SDIO/backplane HT saatini zorlamak PHY/TX çekirdeğine saat vermiyor.
Bit indi, etkisi ölçüldü
WIFIFORCEHT BEFORE=0xd0 WROTE=0xd2 WRITE_OK=1 AFTER=0xd2 ve CR4START HT_CSR_FIN=0xd2. Yani Linux'un değeri artık bizde de yazılı.
Firmware'in saat şikâyeti sürüyor
Tam konsol logunda 'wl0: wlc_stf_txcore_shmem_write: No clock' (t=55 ms) değişmedi; buna karşılık bu boot'ta veri yolu kapanmadı (log 375 baytta 'sdpcmd_dpc: Enable' ile bitiyor).
Açıklama bizim dizimizde: D11 reset'te
CR4 başlatırken D11 (PHY/TX) çekirdeğini reset'te bırakıyoruz; R139'un Linux tel izinde D11 için hiç reset-ctl yazması yok, yalnız ioctl 0x07 var. Reset'teki çekirdeğin saati olmaz — R150'nin tek değişkeni bu.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Salt-okunur tanıklar yine çalıştı: WIFISHAREDCONSOLE_FULL SIZE=1024 IDX=375 READ=1024 PRINTABLE=992 SENT_RETRIES=0 WRITES=0.
- 55.407 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 3e348bd06eaa86223c7df9470e531a45f1f803bb762c57b8d7705174cab46d27
kanıt evidence/rpi5/radio/attempt-r149-force-ht-uart-capture/
R1502026-09-13
Sorulan: D11 (PHY/TX) çekirdeğinin reset'ini kaldırmak (Linux'ta D11 için reset-ctl yazması hiç yok) firmware'in 'No clock' şikâyetini giderir mi?
Cevap: GİDERDİ. WIFID11RELEASE RST_BEFORE=0x00000001 → RST_AFTER=0x00000000 RELEASED=1 ve tam konsol logunda 'wl0: wlc_stf_txcore_shmem_write: No clock' satırı artık YOK. Yani D11'i reset'te tutmak firmware'in çekirdek saatini gerçekten engelliyormuş. Kalan imza: ~2,97 s'de bir DPC kapanıyor ve çerçevemizin gönderimi düşüyor.
Firmware'in saat şikâyeti kapandı
R148 ve R149'da t=55 ms'de görünen 'No clock' satırı bu koşuda yok; D11 reset'inin kaldırılması firmware'in PHY/TX saatini bulmasını sağladı.
Yeni kalıp: veri yolu ~2,97 s'de bir kapanıyor
'sdpcmd_dpc: Disable' + 'sdpcmd_tx: device disabled' + 'sdpcmd_sendheader: tx submit failed!!' + 'sdpcmd_dpc: Enable' dört kez yinelendi (6.082, 9.048, 12.014, 14.979) ve TRIALS_RUN=4: çerçevemiz her seferinde kapalı pencerede gönderiliyor.
Zaman çizgileri hizalanmalı
Firmware logu kendi damgalarını taşıyor; host tarafı damgasız. R151 bu yüzden host tarafına monoton ms damgası ekler.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- R149'un FORCE_HT değeri ve tüm önceki zincir korundu (HT_CSR_FIN=0xd2).
- 76.580 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 7889fea1c1f8919182fcb96c0abbde04fdca7557ccfe10e391b65e8b406f541d
kanıt evidence/rpi5/radio/attempt-r150-d11-release-uart-capture/
R1512026-09-13
Sorulan: Host olayları CR4 bırakılışına göre damgalanırsa firmware'in kendi damgalı Disable anlarıyla hizalanabilir mi?
Cevap: ALTYAPI KURULDU ama damgalar okunamadı: bütün T_MS alanları 0 çıktı, çünkü T0_MS=2018624513 ham sayacıydı (freq_cached() ilk çağrıda 0). Ölçüm bu yüzden hizalanamadı; R152 kaynağı düzeltti. Aynı koşuda 'No clock' satırı geri gelmişti ve 'tx submit failed' hiç yoktu.
Kaynak hatası makbuzda göründü
T0_MS ham sayac, sonraki çağrılar gerçek ms: saturating_sub her yerde 0 üretti. R152 host_now_ms()'i frekansı kendisi kaydettirecek şekilde düzeltti.
D11 etkisi kararsız
R150'de 'No clock' yoktu, R151'de geri geldi: D11 release'inin firmware'e saat vermesi boot'lar arasında değişiyor.
Veri yolu bu boot'ta kapanmadı
'tx submit failed' 0 kez; koşu yine Read32 0x18004020 ile kapandı (REPLIED=0).
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- WIFITIMELINE ve T_MS alanları basıldı (altyapı çalışıyor).
- 55.720 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj b9b2560f26c6e1208b99a0de2f24c687822a5a2074ac0ef59d266fc2de7d2b27
kanıt evidence/rpi5/radio/attempt-r151-host-timeline-uart-capture/
R1522026-09-13
Sorulan: ms kaynağı düzeltilince host zaman çizgisi firmware'in Disable damgalarıyla hizalanır mı?
Cevap: HİZALANDI ve tetikleyici ortaya çıktı: her 'Disable' + 'tx submit failed!!' olayı bizim bir kontrol çerçevesi gönderimimizden SABİT ~326 ms sonra geliyor (5752↔6095, 8736↔9062, 11703↔12029, 14669↔14996, 17636↔17963 ms). Yani dongle çerçevemizi alıyor, sonra cihaz devre dışı kalıyor ve gönderim düşüyor.
Tetikleyici bizim çerçevemiz
Sabit ~326 ms kayma, firmware saatimin bizim T0'ımıza göre kaymasıdır; her denemede bir Disable ve bir tx submit failed var — tesadüf değil, bizim gönderimimize bağlı.
Kalan çerçeve farkı ölçülü
R136 mühründe Linux'un ilk kontrol çerçevesi seq=0x02, bizimki 0xFF. R136 bunu kapanış notunda açık bırakmıştı; artık tek baytlık bir değişken olarak sınanabilir.
'No clock' bu boot'ta yok
R150 gibi; R151'de vardı. D11 release'inin firmware saatine etkisi boot'lar arasında değişken — kayda geçti.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi altyapısı doğrulandı: T_MS değerleri artan ve gerçek (5702 → 20151 ms).
- 82.550 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 0d6349ce99ca3f35fb0ecbae3c774fb5aa7f0f88107cc07194e3e5ec42b4d7df
kanıt evidence/rpi5/radio/attempt-r152-timeline-fix-uart-capture/
R1532026-09-13
Sorulan: İlk kontrol çerçevesinin SDPCM seq baytı 0xFF yerine Linux'un ölçülmüş değerine (küçük/artan; mühürlü decode'da 0x02) çevrilirse firmware'in 'tx submit failed' deseni kaybolur ve cevap gelir mi?
Cevap: HAYIR — hipotez elendi. seq=0 hatta çıktı (TRIAL=0 SEQ=0, TRIAL=1 SEQ=1) ama firmware yine veri yolunu kapatıp gönderimi düşürdü (t=6.106 s'de bir kez daha Disable + tx submit failed!!) ve REPLIED=0 kaldı; TRIALS_RUN=1/11.
Seq baytı tetikleyici değil
R136'dan beri kalan tek ölçülü çerçeve farkı buydu; değiştirildi ve desen sürdü. Böylece çerçevenin bu alanı da elendi.
Kalan aday kredi/pencere
Çerçevemiz TXWIN=21 ile gidiyor; bu bizim başlangıç varsayımımız ve dongle'ın kendi ilan ettiği pencereyi hiç görmedik. Linux'ta bus->tx_max dongle'ın çerçevelerinden öğrenilir.
'No clock' kararsızlığı dört koşuda iki-iki
R150 ve R152'de yok, R151 ve R153'te var. D11 release'inin firmware saatine etkisi boot'a bağlı; kayda geçti ve tek başına değişken yapılmadı.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi ve konsol tanıkları çalışmaya devam etti (T0_MS=196426, konsol T_MS=22845).
- 71.834 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- 1. boot non-arrival'dı (RSTVEC_OK=0); kural gereği yorumlanmadı ve aynı imaj taze güç çevrimiyle yinelendi.
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj c8a51ce7203b897e56b92e3b7ee0ddd04926da7e188152fcbd2ef83c7ee80b74
kanıt evidence/rpi5/radio/attempt-r153-seq-zero-uart-capture-repeat-01/
R1542026-09-13
Sorulan: Oturumun ilk kontrol çerçevesi Linux'un ölçülmüş preinit çerçevesiyle (SET cur_etheraddr, cmd=263, id=4, len=20) değiştirilirse firmware'in veri yolunu kapatıp gönderimi düşürmesi durur ve cevap gelir mi?
Cevap: Desen DURDU, cevap gelmedi. WIFIPREINIT USED=1 (cmd=263, id=4, SET, 20 bayt) ve konsolda hiç 'Disable' / 'device disabled' / 'tx submit failed!!' satırı yok (R152'de 5, R153'te 1 kez vardı) — ilk olumlu sinyal. Ama REPLIED=0 ve koşu 1. denemede taşıma hatasıyla kapandı; karar için tekrar boot gerekir.
Ölçülen preinit çerçevesi hatta çıktı
WIFITRIAL_RESULT TRIAL=0 REQ_ID=4 CMD=263 FRAMELEN=56 BCDCLEN=20 SEQ=0 — Linux'un mühürlü preinit çerçevesi tel biçimi (R136 glom, dat_offset=20) korunarak gönderildi.
Veri yolu bu boot'ta kapanmadı
Konsolda Disable/tx-submit-failed yok. Bu, R152'de ölçülen 'bizim çerçevemiz veri yolunu kapatıyor' deseninin içerikle ilişkili olduğunu destekliyor.
Tek boot karar için yetmez
Koşu 1. denemede aralıklı Read32 hatasıyla kapandı ve 'No clock' yine var; imajın 2. ve 3. boot'u kuralla bekleniyor.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi (T0_MS, T_MS alanları) ve konsol tanığı çalışmaya devam etti.
- 56.000 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 0d930016cab64c745088291621e130fccd82665f6ca9c4915eeff9b78df98024
kanıt evidence/rpi5/radio/attempt-r154-preinit-first-uart-capture/ · attempt-r154-preinit-first-uart-capture-repeat-01/
R1552026-09-13
Sorulan: Okuma-hatası kurtarmalarına (WIFIREAD_RECOVERY, SDHCI hat sıfırlaması içerir) zaman damgası eklenirse dongle'ın Disable'ını çerçeve mi yoksa kendi hat sıfırlamamız mı tetikliyor, ayırt edilebilir mi?
Cevap: Altyapı kuruldu (T_MS damgaları var) ama bu boot'ta Disable hiç olmadı: 'Disable' ve 'tx submit failed' 0, 'No clock' yok, TRIALS_RUN=4/11 ve REPLIED=0. İki kurtarma da CR4 bırakılışının hemen ardında (T_MS=1 ve 0) oluştu; deneme sırasında hiç kurtarma yok — yani soru bu boot'ta sınanamadı.
Damga çalışıyor
WIFIREAD_RECOVERY artık T_MS taşıyor; zaman çizgisi yardımcıları tüm imajlarda derleniyor, sıfır noktası yalnız ilgili özellik açıkken işaretleniyor.
Desen varyansı netleşti
Son beş koşuda Disable sayısı 5/1/0/1/0; 'No clock' varlığı bağımsız değişiyor (R152 ve R155'te yok, R153/R154'te var). İkisi arasında bağ görünmüyor.
Ortak gözlem: cevap yok
Her denemede CORE_OR=0x00000000 ve REPLIED=0 — dongle kontrol çerçevemize karşılık üretmiyor ya da ürettiğini göremiyoruz. Sıradaki adım: Disable'ın görüldüğü boot'larda kurtarma damgalarını hizalamak.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi, konsol ve preinit tanıkları çalışmaya devam etti; 4 deneme tamamlandı.
- 78.172 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 4f7b59a7b91eae4b7d4a14e75c91c23e3fc52c3e79f9985473c26463aa8a7abe
kanıt evidence/rpi5/radio/attempt-r155-recovery-timeline-uart-capture/
R1562026-09-13
Sorulan: Aynı R155 imajının tekrar boot'unda kurtarma T_MS'leri firmware'in Disable damgalarıyla hizalanırsa deseni çerçeve mi yoksa kendi hat sıfırlamamız mı tetikliyor, kesinleşir mi?
Cevap: Kesinleşti: deseni ÇERÇEVEMİZ tetikliyor. Kurtarmalar T_MS=0/1 (CR4 bırakılışının hemen ardı), çerçevemiz T_MS=5907 ve 'Disable' + 'tx submit failed!!' 6.239 s (≈ bizim 5913 ms'imiz) — yani olay çerçeveden ~6 ms sonra; kurtarma yolu olaydan ~5,9 s önce.
Kurtarma yolu elendi
SDHCI hat sıfırlaması içeren iki kurtarma da CR4 bırakılışının hemen ardında; Disable ile hiç çakışmıyor.
Tetikleyici çerçevenin kendisi
Disable, çerçevemizden ~6 ms sonra (bizim saatimizde) geliyor; bu, R152'de ölçülen sabit kaymayı koruyor ve içerik/seq denemelerinin (R153/R154) neden bir şeyi değiştirmediğini açıklıyor.
Yeni kanıt: glom pazarlığı
Linux'un preinit sırası glomsuz çerçevelerle başlıyor ve glom ikinci çerçevede (bus:rxglom=1) pazarlık ediliyor; bizim ilk çerçevemiz ise glomlu. R157 ölçülen sırayı ve her çerçevenin kendi ölçülen biçimini uygular.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi ve kurtarma damgaları birlikte çalıştı; hizalama ilk kez tam yapıldı.
- 64.275 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj 4f7b59a7b91eae4b7d4a14e75c91c23e3fc52c3e79f9985473c26463aa8a7abe
kanıt evidence/rpi5/radio/attempt-r155-recovery-timeline-uart-capture-repeat-01/
R1572026-09-13
Sorulan: Oturumun ilk üç kontrol çerçevesi Linux'un ölçülmüş preinit sırası olursa (iki glomsuz çerçeveyle glom pazarlığı, sonra glomlu cur_etheraddr) dongle veri yolunu kapatmayı bırakır ve cevap gelir mi?
Cevap: Bu boot'ta sınanamadı: WIFIPREINITSEQ SENT=0 — çağrı "istek gönder" dalının içindeydi ve koşu ondan önce F2 yazma hatasıyla (WriteFifo, F2 0x8000, T_MS=3351) kapandı. Çağrı yoklamanın öncesine taşındı, imaj yeniden üretildi; tekrar boot bekliyor.
İlk RX başarısı
WIFIFAIL frames_received=2, frame_ind_seen=1, host_int_seen=1, fifo_reads=3 ve CORE_OR=0x000000c0: dongle host kesmesini kaldırdı ve iki çerçeve aldık — bu hatta ilk kez. Koşu F2 yazma hatasıyla erken kapandı.
Çağrı yeri düzeltildi
Preinit sırası artık taşıma hazır olur olmaz, yoklamanın ve F2 okuma yolunun öncesinde gönderiliyor (Linux'un gönderdiği yer).
Desen bu boot'ta yok
Konsolda Disable ve tx submit failed yok; No clock var. Erken kapanma yüzünden yorum yapılmıyor.
Doğru çalışanlar
- Firmware/NVRAM PASS: SECTORS_DONE=1191/1191, NVRAM OK=1 FW_INTACT=1.
- Zaman çizgisi, konsol ve paylaşım tanıkları çalışmaya devam etti.
- 74.652 baytlık raw UART 0444 kapandı; yakalama güçten önce arm edildi (WHOLE BOOT).
- Bu kayıt tanı kaydıdır; Wi-Fi PASS değildir.
imaj fccf3ee52e94038d6f521cbf9880f8e3e91425f2c5b0bba9c9f6795f751b408d (düzeltilmiş: 3b3f3a5ae2fa736ccc79f0c03527a447653580cc1d37eaf44820d2e0e2519af0)
kanıt evidence/rpi5/radio/attempt-r157-glom-negotiation-uart-capture/