• 2016 MacBook Pro में इस्तेमाल होने वाला Broadcom BCM4350 चिप FreeBSD में डिफ़ॉल्ट रूप से सपोर्टेड नहीं है, इसलिए पहले Linux VM के ज़रिए wifibox workaround आम तरीका था
  • लेखक ने Claude Code का उपयोग करके Linux के brcmfmac ड्राइवर को FreeBSD पर पोर्ट करने की कोशिश की, लेकिन kernel panic और LinuxKPI compatibility issues की वजह से असफल रहे
  • इसके बाद Pi coding agent का उपयोग करके brcmfmac के काम करने के तरीके का विश्लेषण किया गया, और BCM4350 के लिए 11 अध्यायों वाली तकनीकी specification AI ने तैयार की
  • कई AI मॉडल्स (Opus, Codex, Gemini आदि) से cross-validation करके specification को सुधारा गया, और इसके आधार पर FreeBSD के लिए नया ड्राइवर पूरी तरह अपने-आप जनरेट किया गया
  • अंतिम परिणाम Wi‑Fi scan, 2.4/5GHz connection, WPA/WPA2 authentication सपोर्ट करने वाले kernel module के रूप में तैयार हुआ, और कोड GitHub पर सार्वजनिक किया गया

पृष्ठभूमि

  • 2016 MacBook Pro में Broadcom BCM4350 Wi‑Fi चिप इस्तेमाल होती है, लेकिन FreeBSD में इस चिप के लिए native driver नहीं है
    • FreeBSD फ़ोरम में आम तौर पर wifibox नाम के Linux VM के ज़रिए brcmfmac ड्राइवर इस्तेमाल करने का तरीका सुझाया जाता है
  • brcmfmac Broadcom के FullMAC चिप्स के लिए Linux ड्राइवर है, जो 802.11 frame handling और WPA encryption जैसे काम चिप के अंदर के firmware को सौंप देता है
  • FreeBSD के लिए native module बनाने के लिए Linux कोड के कुछ हिस्सों को FreeBSD के अनुरूप पोर्ट करने वाली “glue code” conversion की ज़रूरत होती है

Act 1 — Claude Code के साथ पहली कोशिश

  • लेखक ने Claude Code का उपयोग करके brcmfmac कोड को FreeBSD के लिए बदलने की कोशिश की
    • FreeBSD की LinuxKPI compatibility layer को देखते हुए, उससे Intel के iwlwifi ड्राइवर जैसा तरीका अपनाने को कहा गया
  • module compile तो हुआ, लेकिन असली hardware पर काम नहीं किया और kernel panic हुआ
  • Claude ने #ifdef __FreeBSD__ statements जोड़कर बदलाव किए, लेकिन LinuxKPI की खामियों की वजह से यह फिर भी unstable रहा
  • AI ने चेतावनी दी कि यह project “जटिल और बिखरा हुआ” हो जाएगा, और अंत में केवल काम न करने वाला कोड बचा

Act 2 — specification-आधारित approach

  • इसके बाद Pi coding agent का उपयोग करके BCM4350-केंद्रित brcmfmac ड्राइवर संरचना का विश्लेषण कराया गया, और clean-room implementation के लिए विस्तृत specification तैयार कराई गई
  • AI ने 11 अध्यायों वाला document बनाया
    • उदाहरण: 00-overview.md, 04-firmware-interface.md, 08-data-path.md आदि
  • लेखक ने Codex model का उपयोग करके specification और असली कोड के बीच के mismatch की जाँच की और उन्हें ठीक किया
  • फिर Opus model से दोबारा validation करके सुनिश्चित किया गया कि बदलाव कोड से मेल खाते हैं
  • कई मॉडल्स की तुलना में, Gemini 3 Pro preview में सबसे ज़्यादा errors (“hallucination”) पाए गए, ऐसा उल्लेख किया गया

Act 3 — नया FreeBSD ड्राइवर बनाना

  • specification के आधार पर BCM4350 के लिए नया FreeBSD ड्राइवर लिखने का project शुरू किया गया
  • AI ने project structure, language (C का उपयोग करना है या नहीं), LinuxKPI dependency, milestones जैसी design decisions को document किया
  • शुरुआत में LinuxKPI का उपयोग किया गया, लेकिन बढ़ती complexity के कारण बाद में native FreeBSD code पर स्विच किया गया
  • AI ने SSH के ज़रिए build host और test VM तक पहुँचकर automated build-test loop चलाया
    • VM crash होने पर हर बार कारण का सारांश बनाकर रिकॉर्ड करने के लिए सेट किया गया
  • कई sessions की पुनरावृत्ति के बाद Wi‑Fi scan, 2.4GHz/5GHz connection, WPA/WPA2 authentication करने वाला kernel module तैयार हो गया

परिणाम और सार्वजनिक रिलीज़

  • पूरा हुआ ड्राइवर GitHub repository github.com/narqo/freebsd-brcmfmac में सार्वजनिक किया गया
  • लेखक ने स्पष्ट रूप से कहा कि “उन्होंने खुद कोड नहीं लिखा”
  • कुछ ज्ञात समस्याएँ अभी भी बाकी हैं, और फ़िलहाल इसे केवल सीखने के संदर्भ के रूप में उपयोग करने की सलाह दी गई है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.