- 2016 model MacBook Pro'daki Broadcom BCM4350 çipi, FreeBSD'de varsayılan olarak desteklenmiyordu; bu yüzden daha önce Linux VM üzerinden wifibox geçici çözümü kullanmak yaygındı
- Yazar, Linux'taki brcmfmac sürücüsünü FreeBSD'ye taşımak için Claude Code kullanmayı denedi, ancak çekirdek paniği ve LinuxKPI uyumluluk sorunları nedeniyle başarısız oldu
- Daha sonra Pi coding agent kullanarak brcmfmac'in çalışma prensiplerini analiz etti ve BCM4350'ye özel 11 bölümlük teknik bir şartnameyi (specification) yapay zekaya yazdırdı
- Birden fazla yapay zeka modeliyle (Opus, Codex, Gemini vb.) çapraz doğrulama yaparak şartnameyi geliştirdikten sonra, buna dayanarak FreeBSD için yeni bir sürücüyü tamamen otomatik olarak üretti
- Ortaya çıkan çıktı, Wi‑Fi tarama, 2.4/5GHz bağlantı, WPA/WPA2 kimlik doğrulaması destekleyen bir çekirdek modülü oldu ve kod GitHub'da yayımlandı
Arka plan
- 2016 model MacBook Pro, Broadcom BCM4350 Wi‑Fi çipi kullanıyor, ancak FreeBSD'de bu çip için yerel bir sürücü bulunmuyor
- FreeBSD forumlarında genellikle wifibox adlı bir Linux VM üzerinden brcmfmac sürücüsünü kullanma yöntemi öneriliyor
- brcmfmac, Broadcom'un FullMAC çipleri için Linux sürücüsüdür; 802.11 çerçeve işleme ve WPA şifreleme gibi işleri çip içindeki firmware'e devreder
- FreeBSD için yerel bir modül oluşturmak adına, Linux kodunun bir kısmını FreeBSD'ye uyarlayan bir “glue code” dönüşümü gerekir
Act 1 — Claude Code ile ilk deneme
- Yazar, Claude Code kullanarak brcmfmac kodunu FreeBSD için dönüştürmeyi denedi
- FreeBSD'nin LinuxKPI uyumluluk katmanını referans alıp Intel için iwlwifi sürücüsünün yaklaşımını izlemesini istedi
- Modül derlendi, ancak gerçek donanımda çalışmadı ve çekirdek paniği oluştu
- Claude,
#ifdef __FreeBSD__ ifadeleri ekleyerek düzeltmeler yaptı, ancak LinuxKPI'daki kusurlar nedeniyle hâlâ kararsızdı
- Yapay zeka, projenin “karmaşık ve dağınık hâle geleceği” uyarısında bulundu ve sonuçta geriye sadece çalışmayan kod kaldı
Act 2 — Şartname tabanlı yaklaşım
- Daha sonra Pi coding agent ile brcmfmac sürücüsünün yapısını BCM4350 merkezli olarak analiz etti ve clean-room uygulaması için ayrıntılı bir şartname hazırlattı
- Yapay zeka 11 bölümden oluşan bir belge üretti
- Örnek:
00-overview.md, 04-firmware-interface.md, 08-data-path.md vb.
- Yazar, Codex modeli ile şartname ve gerçek kod arasındaki uyumsuzlukları doğrulayıp düzeltti
- Ardından Opus modeli ile yeniden doğrulama yaparak değişikliklerin kodla uyumlu olup olmadığını kontrol etti
- Birden fazla modeli karşılaştırdıktan sonra, en fazla hatayı (“hallucination”) Gemini 3 Pro preview'nun gösterdiğini belirtti
Act 3 — Yeni FreeBSD sürücüsünü oluşturma
- Şartnameye dayanarak BCM4350 için yeni bir FreeBSD sürücüsü yazma projesi başlatıldı
- Yapay zeka; proje yapısı, dil (C kullanılıp kullanılmayacağı), LinuxKPI bağımlılığı, kilometre taşları gibi tasarım kararlarını belgelendirdi
- Başlangıçta LinuxKPI kullanıldı, ancak artan karmaşıklık nedeniyle yerel FreeBSD koduna geçildi
- Yapay zeka, SSH üzerinden derleme ana makinesine ve test VM'ine erişip otomatik derleme ve test döngüsü yürüttü
- VM her çöktüğünde nedeni özetleyip kaydetmesi sağlandı
- Tekrarlanan oturumların sonunda Wi‑Fi tarama, 2.4GHz/5GHz bağlantı, WPA/WPA2 kimlik doğrulaması yapabilen bir çekirdek modülü tamamlandı
Sonuç ve yayımlanma
- Tamamlanan sürücü, GitHub deposu github.com/narqo/freebsd-brcmfmac üzerinde yayımlandı
- Yazar, “kodu doğrudan kendisinin yazmadığını” açıkça belirtti
- Bazı bilinen sorunlar hâlâ mevcut ve şimdilik yalnızca öğrenme amaçlı bir referans olarak kullanılması öneriliyor
3 yorum
Güvenlikte kocaman delikler var~
Böyle yapıp güvenliği güçlendirip incelemeden geçirerek en azından upstream’e bir PR bırakması ya da kendi GitHub’ında daha da geliştirip BSD topluluğuna iyi duyurması gerekirdi; eğer orada bıraktıysa samimiyetinden pek emin değilim. Gerçek bir kullanıcıysa güvenlik açıklarını elle kapatacaktır, bir yandan Windows’u rahatça kullanıp hobi olarak başka işletim sistemleriyle oynayan biriyse de muhtemelen bırakıp gider. 2016 model olduğuna bakılırsa ikincisi gibi görünüyor.
Hacker News yorumları
Bence buradaki temel içgörü spec-first yaklaşımı
Yapay zeka ile kod üretiminde, modele uygulamadan önce ayrıntılı bir spesifikasyon yazdırmak yineleme döngüsünü ciddi ölçüde azaltıyor
Spesifikasyon olmadan başlanınca model kulağa makul gelen yaklaşımlar arasında bocalıyor, ama iyi bir spesifikasyon olunca binlerce satır kodda bile tutarlılığı koruyor
İki aylık geliştirme süresi de ilginç. Sonuçta ortaya yeni bir kernel sürücüsü çıkmış sayılır; API çağrı maliyeti yaklaşık 500 dolarsa, bu gayet değerli bir deney
Kod yerine yeni bir Pi oturumu açıp ajana
brcmfmacsürücüsünün ayrıntılı spesifikasyonunu yazdırdığı kısım etkileyiciydiBöyle bir planlama dokümanı (markdown) yazmak, büyük LLM işleri için gerçekten çok önemli
Yazıda anlatılan örnek sanki o çizgiyi aşmış gibi. Geleneksel clean-room tasarımında bir ekip kodu değil yalnızca arayüzü dokümante eder
Ben de benzer bir deneyim yaşadım. QEMU, eski MacOS sürümünde (M1 mimarisi) artık derlenmiyordu; Sonnet 4.6'ya verdiğimde birkaç dakika içinde yama yazıp kurulumu bile tamamladı
Sadece hatayı gösterip düzeltmesini söylemiştim, ama kusursuz biçimde çözdü. Açıkçası yapay zeka olmasaydı muhtemelen vazgeçerdim
İleride insanların yazılım satın almak yerine kendilerinin yaptığı bir döneme gireceğimizi düşünüyorum
Thunderbird'ün spam filtresi bozulmuştu, ben de kendim yenisini yaptım ve çok daha iyi çalışıyor
Bir CRM'de istediğin özellik yoksa kendin yaparsın. Artık kendi sorunlarını çözen özelleştirilmiş çözümler oluşturup dağıtmak kolaylaşacak
Ailemdeki teknik olmayan mesleklerde çalışanlar gibi insanlar ise hâlâ uygulama mağazalarını ya da web sitelerini kullanacak
Standartlaşmış yazılımın avantajları da büyük. Şirketler Photoshop ya da Xero gibi zaten bilinen araçları tanıyan kişileri işe alabiliyor
Yakında tüm işletim sistemlerinde donanım desteği sorununun tamamen çözülmüş olacağını düşünüyorum
Yapay zeka kodlama ajanları, neredeyse her cihaz için sürücü yazabilecek düzeye doğru ilerliyor
Donanım üreticisi arayüzü bilerek gizlemediği sürece BSD ya da Linux desteği doğal olarak gelecektir
Hatta insanın yönetim ve doğrulama rolü daha da önemli hâle geldi
Yazılımın dünyayı yeme hızı daha da artıyor
Artık her yerde vibe-coded yazılımlar ortaya çıkacak ve insanlar bunları pek sorgulamadan kullanacak gibi görünüyor
Sorun şu ki ortaya kötü amaçlı kod karışmış yazılımlar da çıkabilir. Bütün bunları kim doğrulayacak?
Mesela konser bileti almak istiyorsan yapay zeka ajanı anında kod üretip çalıştırır
Ertesi yıl yine almak istediğinde API sürümüne uygun yeni kodu yeniden üretir
İsraf gibi görünebilir ama çok daha dinamik ve esnek bir yapı
Sonuçta satıcının yalnızca API sağlaması yeterli olur, kullanıcı da kendi arayüzüne sahip olabilir
Örneğin masa oyunu koleksiyonumu yöneten uygulamayı yapay zekaya bırakabilirim, ama finans veya güvenlikle ilgili uygulamalarda uzmanların yaptığı yazılımları kullanırım
Yapay zekanın ürettiği bir kernel modülü ring 0'da yükleniyor ve üreticisi de “çok sorunlu, gerçek kullanımda kullanmayın” diyor
Sanki “varsayılan olarak güvensiz bir çağ”a hızla giriyoruz gibi
Yine de hiçbir şey yapmamaktan iyidir ve kod açık olduğu için geliştirilebilir
GitHub'daki her projenin ticari ürün olması gerekmiyor
Bu çalışma, sıfırdan geliştirmeden çok mevcut bir uygulamayı kullanan bir port etme işine daha yakın
GPL açısından bunun “ilham alma” mı yoksa “temel alma” mı olduğuna bakmak ilginç olabilir
Şirketlerde de ortada mevcut bir uygulama varsa insanlar daha güvenle ilerliyor, ama ilk yolu açanlar pek takdir görmüyor
Yazar, “kodu kendim yazmadım, çok hatası var, yalnızca öğrenme amaçlı bakın” demişti
Birkaç ay içinde üç denemenin sonunda zar zor çalışan bir şey çıktı, ama bazıları bunu “yapay zeka programlamayı fethetti” diye abartıyor
Aslında iyi bir yazı, ama sadece başlığa bakıp yanlış anlayan yorum çok
Donanım ya da sürücü bilgisi olmadan çalışan bir sürücü üretilmiş olması yeni bir kilometre taşı
Böyle bir çıktı, başlangıç noktası olarak büyük anlam taşıyor
Yüksek çözünürlüğü doğrudan render etmek yerine, GPU'nun farkı ‘ikna edici biçimde’ doldurmasına benziyor
Asahi Linux için güncel Mac sürücüleri olsa harika olurdu. Bence bu, yapay zekanın iyi kullanıldığı bir örnek
Yapay zekanın Apple dokümanları ya da binary'leriyle eğitilmiş olma ihtimali dışlanamaz ve üretilen kodun lisans uyumluluğu da garanti edilemez