# 中兴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 # 修改访问权限(允许所有网络) Order allow,deny Allow all Order allow,deny Allow all AuthType Default Require user @SYSTEM Order allow,deny Allow all ``` > **说明**: 内网环境无公网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)