Hướng dẫn nâng cấp SMB3 cho AirPort TimeCapsule
/ 5 min read
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ợ AFP và SMB1, 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ư:
| Model | Generation | Hệ điều hành |
|---|---|---|
| A1254 | Gen 1 | NetBSD 4 |
| A1302 | Gen 2 | NetBSD 4 |
| A1355 | Gen 3 | NetBSD 4 |
| A1409 | Gen 4 | NetBSD 4 |
| A1470 | Gen 5 | NetBSD 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
git clone https://github.com/jamesyc/TimeCapsuleSMB.git
cd TimeCapsuleSMBToàn bộ script cài đặt đều nằm trong thư mục này.
Bước 2. Bootstrap
./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
.venv/bin/tcapsule configure
Đây là bước quan trọng nhất.
Script sẽ:
- dò Time Capsule bằng Bonjour (mDNS)
- hỏi mật khẩu quản trị
- nếu cần sẽ tự bật SSH
- 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)
Nó không được copy lên Time Capsule. (GitHub)
Bước 4. Deploy
.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
.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 CapsuleMở:
\\<IP>\DATAVí dụ:
\\10.0.0.102\DATASau khi đăng nhập thành công, có thể kiểm tra phiên bản SMB bằng PowerShell:
Get-SmbConnectionVí dụ:
ServerName ShareName Dialect---------- --------- -------10.0.0.102 DATA 3.1.1Nếu Dialect là 3.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)
.venv/bin/tcapsule flashLệ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ệnh | Chức năng |
|---|---|
bootstrap | Tạo môi trường Python và cài dependency |
configure | Tạo file .env, cấu hình thiết bị |
deploy | Cài hoặc cập nhật Samba |
doctor | Kiểm tra trạng thái hệ thống |
discover | Tìm Time Capsule qua Bonjour |
fsck | Kiểm tra và sửa lỗi ổ cứng trước khi deploy |
uninstall | Gỡ TimeCapsuleSMB |