Giới thiệu
Chiếc MacBook Pro 2016 cũ của tôi đã bị xếp xó vì lỗi “flexgate”. Tôi muốn biến nó thành nơi thử nghiệm cho FreeBSD, một hệ điều hành mà tôi đã muốn tìm hiểu từ lâu.
Bối Cảnh
MacBook Pro 2016 sử dụng chip Wi-Fi Broadcom BCM4350, nhưng FreeBSD lại không hỗ trợ chip này. Giải pháp thường thấy là sử dụng wifibox, một VM nhỏ của Linux, để quản lý thiết bị qua driver brcmfmac của Linux.
Hành Động 1
Một ý tưởng cơ bản trong năm 2026 là dùng AI để chuyển mã. Tôi đã thử yêu cầu Claude Code chuyển đổi brcmfmac cho FreeBSD, sử dụng mã nguồn iwlwifi của Linux làm ví dụ. Mặc dù module đã được biên dịch, nhưng không có tác dụng.

Khi cài thiết bị PCI vào VM, kernel gặp lỗi “panic” và module hoàn toàn không hoạt động.
Hành Động 2
Tôi đã thử nhiều phiên, nhưng mã nguồn phát triển quá phức tạp mà không hoạt động như mong đợi. Một video từ Armin Ronacher gợi ý rằng cách tiếp cận của tôi cần thay đổi. Thay vì tiếp tục với mã, tôi đã yêu cầu AI viết một đặc tả chi tiết về driver brcmfmac cho chip BCM4350.
AI đã tạo ra một tài liệu gồm 11 chương, giải thích từng chi tiết cách driver hoạt động.
% ls --tree spec/
spec
├── 00-overview.md
├── ...
└── 10-structures-reference.md
Hành Động 3
Khởi tạo dự án mới, tôi đề nghị AI xây dựng driver FreeBSD mới cho chip BCM4350. Chúng tôi đặt câu hỏi về các quyết định quan trọng trước khi bắt đầu mã hóa. Quy trình trở nên nhàm chán nhưng hiệu quả.
AI đã có quyền truy cập SSH để xây dựng và thử nghiệm module. Cuối cùng, chúng tôi đã có một module kernel FreeBSD hoạt động cho chip BCM4350. Nó hỗ trợ quét mạng và kết nối Wi-Fi 2.4GHz/5GHz.

Mã nguồn được lưu trữ tại github.com/narqo/freebsd-brcmfmac. Mặc dù đã hoàn thành, nhưng tôi khuyên không nên sử dụng cho mục đích khác ngoài nghiên cứu.