skip to content
namnh
Table of Contents

Giới thiệu

Apple đã ngừng phát triển dòng AirPort Time Capsule từ nhiều năm trước. Thiết bị này chỉ hỗ trợ AFPSMB1, trong khi các phiên bản macOS mới đã loại bỏ AFP và từ lâu cũng không còn hỗ trợ SMB1.

TimeCapsuleSMB là một dự án mã nguồn mở giúp Time Capsule chạy trực tiếp Samba 4, hỗ trợ SMB3, giúp thiết bị tiếp tục hoạt động như một NAS hiện đại, đồng thời vẫn có thể dùng cho Time Machine trên các phiên bản macOS mới. (GitHub)

TimeCapsuleSMB hoạt động như thế nào?

Thay vì thay thế firmware của Apple, dự án chỉ cài thêm một runtime Samba vào thiết bị.

Sau khi cài đặt:

  • firmware gốc của Apple vẫn được giữ nguyên
  • AirPort Utility vẫn hoạt động
  • Time Capsule tự chạy Samba khi khởi động
  • hỗ trợ SMB3 thay cho SMB1

Trên các thiết bị NetBSD 6 (Gen 5 như A1470), Samba sẽ tự khởi động sau mỗi lần reboot. Các thiết bị NetBSD 4 (Gen 1–4) cần thêm boot hook nếu muốn tự khởi động sau khi bật nguồn. (GitHub)

Xem Model bạn đang dùng

Lật mặt dưới của Time Capsule, bạn sẽ thấy mã như:

ModelGenerationHệ điều hành
A1254Gen 1NetBSD 4
A1302Gen 2NetBSD 4
A1355Gen 3NetBSD 4
A1409Gen 4NetBSD 4
A1470Gen 5NetBSD 6

Cách 1: Cài bằng macOS App

Nếu sử dụng macOS 14 trở lên, đây là cách cài đặt nhanh nhất. Ứng dụng sẽ tự động tìm Time Capsule, bật SSH (nếu cần) và triển khai Samba.

1. Tải ứng dụng

Tải bản phát hành mới nhất từ TimeCapsuleSMB Releases, sau đó giải nén và mở ứng dụng.

Nếu macOS chặn ứng dụng, hãy cho phép chạy trong System Settings → Privacy & Security rồi mở lại ứng dụng.

2. Cấp quyền Local Network

Vào System Settings → Privacy & Security → Local Network, bật quyền cho TimeCapsuleSMB, sau đó đóng và mở lại ứng dụng.

3. Thêm Time Capsule

Chọn Add Device. Chọn Time Capsule được tìm thấy. Nhập mật khẩu quản trị của Time Capsule. Nhấn Save Device.

Ứng dụng sẽ tự động bật SSH nếu cần. Nếu thất bại, hãy mở lại ứng dụng, xóa thiết bị đã lưu và thử lại. Nếu vẫn không được, hãy khởi động lại Time Capsule rồi thử lại.

4. Cài đặt

Chọn Time Capsule trong thanh bên trái. Mở tab Install / Update. Nhấn Install / Update để triển khai Samba.

Nếu deploy thất bại, hãy xóa thiết bị đã lưu, thêm lại từ đầu rồi chạy Install / Update lần nữa. Một số trường hợp cần deploy nhiều hơn một lần để chép đầy đủ các tệp.

5. (Chỉ dành cho Gen 1-4)

Mở Maintenance → Persistent NetBSD4 Boot Hook, sau đó lần lượt chọn:

Back Up and Inspect Plan Patch Write Patch

Bước này giúp Samba tự khởi động sau mỗi lần reboot và không cần thực hiện trên A1470 (Gen 5 / NetBSD 6).

6. Kiểm tra

Đợi khoảng 5-10 phút để Samba khởi động hoàn tất, sau đó mở tab Checkup và chạy kiểm tra. Nếu không có lỗi, bạn đã có thể kết nối Time Capsule bằng SMB3 từ macOS, Windows hoặc Linux.


Cách 2: Cài bằng Python

Yêu cầu

Chuẩn bị:

  • Time Capsule
  • Python 3.9 trở lên
  • mật khẩu quản trị của Time Capsule

Bước 1. Clone project

Terminal window
git clone https://github.com/jamesyc/TimeCapsuleSMB.git
cd TimeCapsuleSMB

Toàn bộ script cài đặt đều nằm trong thư mục này.

Bước 2. Bootstrap

Terminal window
./tcapsule bootstrap

Lệnh này sẽ tự động:

  • tạo Python virtual environment (.venv)
  • cài toàn bộ package Python cần thiết
  • kiểm tra các dependency như smbclient
  • chuẩn bị CLI tcapsule

Bạn chỉ cần chạy một lần trên máy cài đặt. (GitHub)

Bước 3. Configure

Terminal window
.venv/bin/tcapsule configure

Đây là bước quan trọng nhất.

Script sẽ:

  1. dò Time Capsule bằng Bonjour (mDNS)
  2. hỏi mật khẩu quản trị
  3. nếu cần sẽ tự bật SSH
  4. tạo file .env

File .env chỉ lưu cấu hình trên máy cài đặt, ví dụ:

  • địa chỉ IP
  • SSH target
  • mật khẩu quản trị (để script dùng cho các lệnh sau)

không được copy lên Time Capsule. (GitHub)

Bước 4. Deploy

Terminal window
.venv/bin/tcapsule deploy

Đây là bước thực sự cài Samba.

Script sẽ:

  • copy Samba runtime lên ổ cứng Time Capsule
  • copy boot script vào /mnt/Flash
  • copy trình quảng bá Bonjour
  • reboot thiết bị

Trên A1470 (NetBSD 6), sau khi reboot Samba sẽ tự chạy. (GitHub)

Bước 5. Doctor

Terminal window
.venv/bin/tcapsule doctor

Lệnh này dùng để kiểm tra:

  • SSH
  • Bonjour
  • SMB
  • Samba

Nếu có lỗi kết nối hoặc Finder không nhìn thấy Time Capsule thì nên chạy doctor trước. (GitHub)

Bước 6. Kiểm tra trên Windows

Khác với Samba thông thường, TimeCapsuleSMB hiện sử dụng:

Username:

bất kỳ

Password:

mật khẩu quản trị của Time Capsule

Mở:

\\<IP>\DATA

Ví dụ:

\\10.0.0.102\DATA

Sau khi đăng nhập thành công, có thể kiểm tra phiên bản SMB bằng PowerShell:

Terminal window
Get-SmbConnection

Ví dụ:

ServerName ShareName Dialect
---------- --------- -------
10.0.0.102 DATA 3.1.1

Nếu Dialect3.1.1, bạn đã kết nối bằng SMB3.

Bạn cũng có thể tạo Network Drive

Bước 7. Chạy flash (Chỉ dành cho Gen 1-4)

Terminal window
.venv/bin/tcapsule flash

Lệnh flash --patch chỉ dành cho Gen 1-4 (NetBSD 4) để thêm boot hook giúp Samba tự khởi động sau khi reboot. Nếu không patch, các model cũ sẽ phải chạy activate thủ công sau mỗi lần khởi động. (GitHub)

Các lệnh hữu ích

LệnhChức năng
bootstrapTạo môi trường Python và cài dependency
configureTạo file .env, cấu hình thiết bị
deployCài hoặc cập nhật Samba
doctorKiểm tra trạng thái hệ thống
discoverTìm Time Capsule qua Bonjour
fsckKiểm tra và sửa lỗi ổ cứng trước khi deploy
uninstallGỡ TimeCapsuleSMB