Hồi sinh ổ cứng Drobo 'mồ côi' bằng AI: Hành trình vibe-coding driver macOS từ con số 0

Công nghệ20 tháng 8, 2026·5 phút đọc

Một nhà phát triển đã dùng Claude để viết driver và ứng dụng thay thế cho ổ RAID Drobo 5D đã ngừng hỗ trợ, giúp thiết bị 14 năm tuổi này tiếp tục hoạt động trên macOS hiện đại. Bài viết chi tiết quá trình đảo ngược giao thức, vượt qua các rào cản kỹ thuật và bảo mật của Apple cũng như những bài học về giới hạn của lập trình bằng AI.

Hồi sinh ổ cứng Drobo 'mồ côi' bằng AI: Hành trình vibe-coding driver macOS từ con số 0

Khi một công ty phá sản, phần cứng của họ thường trở thành "mồ côi" — không còn driver, không còn cập nhật, và sớm muộn gì cũng bị bỏ lại phía sau bởi các hệ điều hành mới. Nhưng một lập trình viên đã chứng minh rằng với sự trợ giúp của AI, việc tự tay "hồi sinh" một thiết bị tưởng chừng đã chết lại khả thi hơn bao giờ hết.

Câu chuyện bắt đầu từ một bài đăng trên Hacker News về việc dùng Claude để viết driver macOS cho một máy in HP "bỏ rơi". Lấy cảm hứng từ đó, tác giả quyết định thử sức với chiếc Drobo 5D — một hệ thống RAID đã trung thành phục vụ suốt 14 năm — trước khi nó trở thành cục gạch vì macOS 27 sắp tới sẽ không còn hỗ trợ Rosetta 2, khiến bộ phần mềm Drobo Dashboard cũ không thể chạy.

Thách thức: Vì sao Drobo "chết" trên macOS mới?

Drobo đã chính thức ngừng hoạt động từ năm 2023. Driver và Dashboard của họ không tương thích với macOS mới, và ổ cứng chỉ được nhận diện như một ổ ngoài thông thường — mất hết các tính năng quản lý, theo dõi sức khỏe, và dung lượng hiển thị sai lệch nghiêm trọng.

Tác giả đưa ra yêu cầu rõ ràng cho Claude: phân tích firmware và phần mềm cũ, tìm hiểu nguyên nhân gốc rễ, và đề xuất giải pháp — từ vá lỗi đơn giản đến viết lại toàn bộ driver.

Kế hoạch 5 giai đoạn từ AI

Nhận được prompt, Claude nhanh chóng vạch ra một kế hoạch chi tiết gồm 5 giai đoạn:

  • Bảo vệ dữ liệu trước tiên
  • Xác thực giao thức (so sánh dữ liệu giữa máy có driver và máy không có)
  • Giải mã các bản ghi dữ liệu
  • Xây dựng CLI để xuất thông tin
  • Viết driver và ứng dụng thay thế hoàn chỉnh

Vượt qua "bức tường" bảo mật của Apple

Giai đoạn đầu tiên đã gặp ngay trở ngại lớn. SCSITaskUserClient — API của Apple dành cho việc giao tiếp với thiết bị SCSI — không hoạt động với Drobo vì thiết bị này đã bị kernel macOS "chiếm" bởi driver IOSCSIPeripheralDeviceType00. May mắn thay, một hướng đi khác đã được tìm thấy: trích xuất bảng dispatch của kernel extension (kext) cũ từ chiếc iMac 2017 vẫn đang chạy macOS Ventura.

Từ đó, Claude viết hai tiện ích C là droboprobedroboesa để khám phá giao thức quản lý ESA độc quyền của Drobo — một bước đệm quan trọng để tái tạo driver mới.

Cuộc chiến với DriverKit, entitlements và SIP

Phần khó khăn nhất là xây dựng một driver thực thụ. Tác giả phải lựa chọn giữa việc xin Apple cấp entitlement đặc biệt (gần như bất khả thi với một lập trình viên vô danh) hoặc tắt System Integrity Protection (SIP) để nạp driver không được ký bởi Apple. Anh chọn cách thứ hai nhưng thử nghiệm trên một chiếc Mac Mini M1 riêng chạy bản beta macOS 27 để đảm bảo an toàn.

Quá trình này là một chuỗi dài các lỗi liên tiếp: sai entitlement, sai cấu trúc bundle, biên dịch sai kiến trúc CPU, lỗi code signing... Đến mức Claude còn khuyên tác giả nên bỏ cuộc. Nhưng với sự kiên trì, họ đã tìm ra thủ phạm cuối cùng — một entitlement bị thiếu — và driver (DroboDext) cùng ứng dụng ReDrobo.app chính thức hoạt động.

"You were right to refuse to give up. That's a genuine breakthrough, and my 'definitive' conclusion three messages ago was wrong twice over." — Claude

Screenshot quá trình phát triển driverScreenshot quá trình phát triển driver

ReDrobo 1.0.0: Hơn cả một driver tạm bợ

Vì đã "lỡ" tạo ra driver, tác giả quyết định biến nó thành một ứng dụng hoàn chỉnh với đầy đủ tính năng:

  • Menu bar với thông báo khi cần chú ý
  • Hiển thị chi tiết sức khỏe ổ cứng, số serial, firmware
  • Hỗ trợ nhiều thiết bị Drobo (chưa được kiểm thử do chỉ có một máy)
  • Chế độ xuất chẩn đoán và logging 4 cấp độ
  • Công cụ gỡ cài đặt sạch sẽ

Một số tính năng như đọc dữ liệu SMART từ RAID tỏ ra bất khả thi và bị loại bỏ, nhưng phần lớn chức năng của Dashboard gốc đều đã được tái tạo thành công.

Bài học về vibe-coding: Nhanh nhưng chưa chắc sâu

Tác giả thẳng thắn thừa nhận rằng nếu tự làm, anh sẽ không bao giờ hoàn thành được công việc này trong một buổi chiều. Tuy nhiên, quá trình này quá "nhẹ tay" khiến anh không học được nhiều về cơ chế driver macOS. Đây là một điểm trừ đáng lưu ý cho phương pháp vibe-coding — bạn có thể nhận được kết quả nhanh chóng, nhưng kiến thức sẽ không đọng lại nhiều.

Toàn bộ mã nguồn của ReDrobo đã được công khai trên GitHub, mở đường cho những ai còn giữ Drobo có thể "kéo dài tuổi thọ" cho thiết bị của mình. Tuy nhiên, ứng dụng không được notarize bởi Apple và yêu cầu tắt SIP, nên người dùng cần cân nhắc giữa rủi ro bảo mật và lợi ích mang lại.

Câu chuyện này cho thấy một tương lai thú vị: AI không chỉ giúp viết code nhanh hơn mà còn cho phép cả những người không chuyên đối mặt với những vấn đề kỹ thuật phức tạp — miễn là họ đủ kiên nhẫn, chấp nhận rủi ro, và có một chút may mắn bên cạnh.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗