413 lines
9.8 KiB
Markdown
413 lines
9.8 KiB
Markdown
# 中兴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
|
||
# 方式一:直接运行(最简单)
|
||
curl -fsSL https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||
|
||
# 方式二:使用wget
|
||
wget -qO- https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||
|
||
# 方式三:先下载再执行(更安全)
|
||
curl -fsSL https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh -o setup_cups.sh && 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)
|