Files
S905L3A/刷机教程.md
yuyx d83a3bc977 初始提交:中兴B863AV3.2-M刷Armbian + CUPS打印服务教程
包含:
- 刷机教程.md - 完整刷机和CUPS配置文档
- setup_cups.sh - 一键安装CUPS脚本(支持换源、多驱动选择、中文界面)
- cups-templates-zh_CN/ - CUPS中文界面模板

🤖 Generated with Claude Code
2025-11-30 20:44:20 +08:00

416 lines
9.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 中兴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)