Geri Dön
AI kullanarak hw-harness ile donanım sürücülerinin tersine mühendisliği
SiTech AI Team3 dk okuma

AI kullanarak hw-harness ile donanım sürücülerinin tersine mühendisliği

Geliştirici, Claude kullanarak USB trafiğini Windows ve Linux arasında yakalayan ve karşılaştıran genel bir harness oluşturmayı anlattı; bu sayede AI, SANE tarayıcı arka uçlarını ve MIPI kamera yamalarını yazabilmektedir.

AI'nin yardımıyla sürücü geliştirme iş akışı

Kristian F.K. Şalerm, donanım sürücülerinin tersine mühendisliği için Claude'u nasıl kullandığını, AI araçlarını yapılandırılmış araştırma ve karşılaştırma iş akışıyla birleştirdiğini açıkladı. Başkalarının AI ajanlarını Windows sanal makinelerinde tam kontrolle nasıl kullandığını gördükten sonra, bu süreci otomatikleştirmek için genel bir harness oluşturdu. Temel gözlem, AI modelinin trafik kod çözme, probe yazma ve sabitliklerin çapraz kontrolünde son derece yetkin olmasıdır; bu geleneksel olarak haftalarca el işini gerektirirdi.

hw-harness nasıl çalışır

Harness, üreticinin Windows sürücüsünü KVM sanal makinesinde çalıştırır, burada cihaz konukta iletilir. Trafik, Linux konakta, passthrough alt katmanında bulunan usbmon ile yakalanır, bu nedenle konuk bunu algılayamaz. Ardından aynı işlem, Linux'ta özel bir sürücüyle tekrarlanır ve benzer şekilde kaydedilir. İki trafik karşılaştırılarak sürücüsünün hatalarının somut bir listesi elde edilir. Veri yolu dinlemesi olmayan cihazlar için, örneğin dahili MIPI kameralar, harness Windows tarafından INF dosyalarını, kayıt defteri verilerini, ACPI tablolarını ve cihaz özelliklerini inceler. Yaklaşım kod kopyalamasına dayanmaz; yeni sürücüdeki tüm sabitler gözlemlenen davranışa dayanır.

Üç tamamlanmış proje

İlk proje sonucunda, Genesys GL128 kontrolcü kullanan ve daha önce Linux desteği olmayan Plustek OpticFilm 8200i film tarayıcısı için SANE arka ucu oluşturuldu. Arka uç, 7200 dpi'ye kadar renk, gri tonlamalı ve kızılötesi modları ve ayrıca toz ve çizgi gidermeyi destekler. 3600 dpi'de tarama 34,6 saniyede tamamlandı, upstream genesys arka ucu için 54,4 saniyeye karşı; bu arka uç bu tarayıcıyı 2026 Eylül'de desteklemeye başladı. Her ikisi de aynı film detayını işler. Arka uç Fedora RPM paketi olarak dağıtılıyor.

İkinci proje, Rust ile yazılmış GNOME uygulaması olan Negative Vibes'tir; herhangi bir film taşıyıcı SANE tarayıcısında negatifleri ve slaytları taramak için kullanılır. 16-bit satır tarama verilerini kızılötesi bilgilerle kaydeder ve ArgyllCMS aracılığıyla kalibrasyon ile non-destruktif inversiyon gerçekleştirir; TIFF, JPEG, PNG ve DNG formatlarında dışa aktarır. Flatpak paketi olarak dağıtılır ve tarayıcı arka ucunu içerir.

Üçüncü proje, Sony IMX471 sensörlü Lenovo ThinkPad X1 Carbon Gen 14'teki MIPI kamera sorunlarını düzeltti. Kernel yamaları crop-selection hatasını, yanlış test-pattern kayıt genişliğini ve yaklaşık 1,8 stop hassasiyet kaybına neden olan analog gan üst sınırını giderdi. libcamera yazılım ISP yamaları, köşeleri 2,7 stop daha karanlık bırakan eksik lens gölgeliği düzeltmesini ekledi ve 8-bit siyah seviyesine karşı native bit depth'te tıkanıklık yaratan beyaz denge istatistiklerini düzeltti. Kontrollü düşük ışık testinde kare gürültüsü 31,1'den 90,9'a arttı, renk katsayıları ise USB webcam referansına belirgin şekilde yaklaştı. Kernel yamaları zaten gönderildi, libcamera yamaları ise inceleme aşamasında.

Temel dersler

Şalerm, referans trafiğinin büyük bir avantaj olduğunu belirtti: AI'ye bilinen iyi trafiği kötü trafikle karşılaştırdığımda, temel sorun somut farklar listesi haline gelir. AI, kod çözme ve probeme işine uyum sağlamakta yetkin olsa da, gerçek donanım yine de tek hakemdir. Desteklenmeyen donanımı olan herkesi, hw-harness yaklaşımını denemeye davet ediyor.

Kaynaklar: blogs.gnome.org

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.