初始提交:中兴B863AV3.2-M刷Armbian + CUPS打印服务教程

包含:
- 刷机教程.md - 完整刷机和CUPS配置文档
- setup_cups.sh - 一键安装CUPS脚本(支持换源、多驱动选择、中文界面)
- cups-templates-zh_CN/ - CUPS中文界面模板

🤖 Generated with Claude Code
This commit is contained in:
2025-11-30 20:44:20 +08:00
commit d83a3bc977
67 changed files with 1877 additions and 0 deletions

415
刷机教程.md Normal file
View File

@@ -0,0 +1,415 @@
# 中兴B863AV3.2-M 刷 Armbian + CUPS打印服务 完整教程
## 风险警告
> **刷机前请务必阅读**
> - 刷机会**清除原有系统**无法恢复运营商IPTV功能
> - 操作失败可能导致**变砖**需要TTL救砖
> - 建议有一定Linux基础再操作
> - 请确保有备用设备,刷机过程中断电可能导致不可逆损坏
---
## 目录
1. [设备信息](#设备信息)
2. [第一部分:刷机准备](#第一部分刷机准备)
3. [第二部分:刷机步骤](#第二部分刷机步骤)
4. [第三部分:系统初始化](#第三部分系统初始化)
5. [第四部分安装CUPS打印服务](#第四部分安装cups打印服务)
6. [第五部分:客户端连接](#第五部分客户端连接)
7. [常见问题排查](#常见问题排查)
8. [参考资料](#参考资料)
---
## 设备信息
| 项目 | 信息 |
|------|------|
| 型号 | 中兴 B863AV3.2-M |
| 芯片 | 晶晨 S905L3A |
| 设备树 | `meson-g12a-s905l3a-m401a.dtb` (编号306) |
> **注意**: B863AV3.2-M有两种主控版本本教程仅适用于**S905L3A**版本。刷机前请确认芯片型号。
---
## 第一部分:刷机准备
### 1.1 所需工具
| 工具 | 说明 |
|------|------|
| 公对公USB线 | 连接盒子与电脑 |
| U盘 x2 | 8G以上建议有一个USB2.0的 |
| HDMI短接器(可选) | 替代手动短接 |
| 镊子/导线 | 用于短接 |
| 刷机软件 | USB Burning Tool v2.2.0 |
| 写盘工具 | Rufus 或 balenaEtcher |
### 1.2 下载资源
**1. Armbian镜像**
从 https://github.com/ophub/amlogic-s9xxx-armbian/releases 下载
- 选择带 `s905l3a``s905l3-cm211` 字样的镜像
- 推荐 Debian Bookworm server 版本
**2. 安卓底包**(可选)
用于恢复或开启ADB建议从网盘或论坛获取对应型号的底包
---
## 第二部分:刷机步骤
### 2.1 拆机找短接点
1. 拧开机器背面两颗螺丝(在防滑垫下)
2. 用拆机片从后面划开取出主板
3. 找到短接点 **C79A8**
> **提示**: 如果有HDMI短接神器可以跳过拆机直接插HDMI口
<!-- 建议在此处添加主板短接点位置图片 -->
### 2.2 线刷安卓底包(可选但推荐)
1. 打开 USB Burning Tool
2. 导入安卓刷机包
3. 勾选「擦除Flash」和「擦除Bootloader」
4. **用镊子短接 C79A8不要松手**
5. 插入双公头USB线到盒子**靠近网口**的USB口
6. 接通盒子电源
7. 软件显示连接成功后松开短接
8. 等待刷机完成约3-5分钟
### 2.3 开启ADB
刷入安卓底包后需要开启ADB才能从U盘启动Armbian。
**方式一:二维码验证**
1. 进入 设置 → 关于 → 连续点击「版本号」7次
2. 返回设置,进入「开发者选项」
3. 出现二维码验证使用「中兴STB工具」扫描
4. 输入工具返回的验证码
5. 开启「USB调试」和「网络ADB调试」
**方式二:随机码验证**
1. 进入 设置 → 高级设置
2. 记录屏幕上显示的随机码
3. 使用「算号器」计算开发者密码
4. 输入密码进入开发者选项
5. 开启「USB调试」和「网络ADB调试」
> **验证ADB是否开启**: 在同一局域网的电脑上执行 `adb connect 盒子IP`,返回 `connected` 表示成功
### 2.4 制作Armbian启动U盘
1. 使用 Rufus 将 Armbian 镜像写入U盘选择DD模式
2. 写入完成后打开U盘根目录
3. 编辑 `uEnv.txt` 文件
4. 找到 `FDT=` 行,修改为:
```
FDT=/dtb/amlogic/meson-g12a-s905l3a-m401a.dtb
```
5. 保存并安全弹出U盘
### 2.5 从U盘启动Armbian
将U盘插入盒子**靠近网口**的USB接口然后在电脑上执行
```bash
adb connect 192.168.x.x # 替换为盒子IP
adb shell reboot update # 重启进入U盘系统
```
> **提示**: 如果无法启动尝试换一个USB2.0的U盘
### 2.6 写入eMMC
成功从U盘启动后通过SSH登录Armbian
- 默认用户: `root`
- 默认密码: `1234`
执行安装命令:
```bash
armbian-install
```
按提示操作:
1. 选择 **306: M401A,UNT403A,B863AV3.2-M**
2. 文件系统选择 **ext4**
3. 等待写入完成根据提示拔掉U盘并重启
**如果写入失败**,尝试以下步骤:
```bash
# 清除分区表
dd if=/dev/zero of=/dev/mmcblk2 bs=4096 count=4
# 重新安装
armbian-install -m yes
```
---
## 第三部分:系统初始化
### 3.1 首次登录设置
从eMMC启动后首次登录会提示
1. 修改root密码
2. 创建普通用户(可跳过)
3. 选择默认Shell
### 3.2 网络配置
**设置静态IP推荐用于服务器场景**
```bash
# 使用图形界面配置
nmtui
```
或手动编辑配置:
```bash
nano /etc/network/interfaces
```
### 3.3 基础优化
```bash
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 更新系统
apt update && apt upgrade -y
# 减少swap使用延长eMMC寿命
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
```
---
## 第四部分安装CUPS打印服务
### 一键安装(推荐)
提供一键脚本,自动完成 CUPS 安装和配置:
```bash
# 下载并运行一键脚本
wget -O setup_cups.sh https://你的地址/setup_cups.sh
chmod +x setup_cups.sh
./setup_cups.sh
```
或者如果脚本已在本地:
```bash
chmod +x setup_cups.sh
./setup_cups.sh
```
脚本功能:
- 自动安装 CUPS 和 Avahi
- 交互式选择打印机驱动
- 自动配置局域网访问权限
- 自动启动服务并设置开机自启
- 检测 USB 打印机连接状态
> 如果想手动安装,请继续阅读以下步骤。
---
### 4.1 安装CUPS和依赖手动
```bash
apt update && apt upgrade -y
apt install cups avahi-daemon -y
```
### 4.2 安装打印机驱动
根据打印机品牌选择安装:
```bash
# HP打印机
apt install hplip -y
# 爱普生
apt install printer-driver-gutenprint -y
# 兄弟
apt install printer-driver-brlaser -y
# 通用驱动(推荐都装)
apt install printer-driver-all -y
```
### 4.3 配置CUPS允许远程访问
```bash
nano /etc/cups/cupsd.conf
```
修改以下内容:
```conf
# 修改监听地址允许所有IP访问
Listen 0.0.0.0:631
Listen /run/cups/cups.sock
# 启用网络浏览
Browsing Yes
BrowseLocalProtocols dnssd
# 修改访问权限(允许所有网络)
<Location />
Order allow,deny
Allow all
</Location>
<Location /admin>
Order allow,deny
Allow all
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all
</Location>
```
> **说明**: 内网环境无公网IP可直接使用 `Allow all`。如需限制访问,可改为 `Allow from 192.168.*.*` 等。
### 4.4 将用户添加到打印组
```bash
usermod -aG lpadmin root
```
### 4.5 启动服务
```bash
systemctl restart cups
systemctl enable cups
systemctl restart avahi-daemon
systemctl enable avahi-daemon
```
### 4.6 访问Web管理界面
```
浏览器打开: https://盒子IP:631
用户名: root
密码: 你的SSH密码
```
> **注意**: CUPS默认使用HTTPS浏览器可能提示证书不安全选择继续访问即可
### 4.7 添加打印机
1. 点击 **Administration** → **Add Printer**
2. 选择你的USB打印机Local Printers下
3. 填写打印机名称和描述
4. 勾选 **Share This Printer**
5. 选择对应的驱动型号
---
## 第五部分:客户端连接
### Windows
```
设置 → 蓝牙和其他设备 → 打印机和扫描仪 → 添加打印机
```
如果自动发现不到,手动添加:
```
http://盒子IP:631/printers/打印机名称
```
### macOS / iOS
自动通过AirPrint发现需要avahi-daemon正常运行
### Linux
```bash
# 使用 IPP 协议添加
lpadmin -p 打印机名 -E -v ipp://盒子IP:631/printers/打印机名
```
### Android
安装「Mopria Print Service」或「CUPS Printing」应用可自动发现打印机
---
## 常见问题排查
| 问题 | 可能原因 | 解决方案 |
|------|----------|----------|
| USB Burning Tool 识别不到设备 | 驱动未安装/短接失败 | 1.安装LibUSB驱动 2.换USB口 3.确认短接成功 |
| U盘启动后黑屏 | 设备树错误/U盘兼容性 | 1.检查uEnv.txt配置 2.换USB2.0 U盘 3.TTL查看日志 |
| armbian-install 选项没有306 | 脚本版本过旧 | 运行 `armbian-update` 更新脚本 |
| eMMC写入失败 | 分区表损坏 | 执行 `dd if=/dev/zero of=/dev/mmcblk2 bs=4096 count=4` |
| CUPS打印机不显示 | USB未识别 | 运行 `lsusb` 确认识别检查USB线 |
| Windows找不到打印机 | 防火墙/网络问题 | 1.关闭防火墙测试 2.手动输入IPP地址 |
| macOS无法发现AirPrint | avahi服务问题 | 运行 `systemctl status avahi-daemon` 检查状态 |
| 打印乱码 | 驱动不匹配 | 在CUPS中更换其他驱动测试 |
### TTL调试接线
如遇启动问题建议连接TTL查看日志
| TTL线 | 盒子 |
|-------|------|
| GND | GND |
| RX | TX |
| TX | RX |
波特率: **115200**
---
## 注意事项
1. **刷机有风险**,建议先备份原系统
2. 如果U盘无法识别换一个**USB2.0**的U盘
3. 建议连接**TTL调试**观察启动日志排查问题
4. CUPS驱动建议用apt安装**不要从厂商网站下载**
5. B863AV3.2-M有两种主控版本确认是S905L3A
6. 首次启动Armbian可能较慢请耐心等待
---
## 测试环境
| 项目 | 版本 |
|------|------|
| Armbian | Debian Bookworm (建议使用最新Release) |
| 内核 | 6.1.x LTS |
| 测试日期 | 2024年 |
---
## 参考资料
- [ophub/amlogic-s9xxx-armbian #741](https://github.com/ophub/amlogic-s9xxx-armbian/issues/741)
- [ophub/amlogic-s9xxx-armbian #313](https://github.com/ophub/amlogic-s9xxx-armbian/issues/313)
- [ophub/amlogic-s9xxx-armbian #2587](https://github.com/ophub/amlogic-s9xxx-armbian/issues/2587)
- [中兴盒子刷机教程 - 博客园](https://www.cnblogs.com/imagecc/p/17904264.html)
- [S905L3A刷Armbian - 博客园](https://www.cnblogs.com/modys/p/17701772.html)