kraynel/sane-mustek-a3-1200pro
GitHub: kraynel/sane-mustek-a3-1200pro
通过对厂商遗留驱动的逆向工程,为Mustek ScanExpress A3 USB 1200 Pro扫描仪提供适配现代macOS与Linux的SANE backend补丁,解决设备无可用驱动的问题。
Stars: 0 | Forks: 0
# Mustek ScanExpress A3 USB 1200 Pro 的 SANE 驱动
这是一个 SANE backend 补丁,添加了对 **Mustek ScanExpress A3 USB 1200 Pro**
平板扫描仪(USB ID `055f:040b`,SQ113 芯片组)的支持,并附带了在**现代 macOS**
(Apple Silicon / Intel)上的构建说明,因为该扫描仪在 macOS 上已经十多年
没有可用的驱动程序了。
## 为什么会有这个项目
A3 USB 1200 Pro 早已失去了厂商驱动支持。专有的 macOS 驱动仅提供 `ppc`/`i386`
二进制文件,这些文件自 Catalina 以来就无法在任何 macOS 版本上运行(没有 32 位 / PPC 运行时)。
官方 SANE 的 `mustek_usb2` backend 针对的是相同的 SQ113 芯片,但仅声明支持
Mustek BearPaw 2448TA Pro (`055f:0409`)。本项目对厂商的 Linux SANE backend
(一个经过 Mustek 修改的、已经包含 A3 参数的 `mustek_usb2`)进行了逆向工程,
提取了设备特定的常量,并将它们应用到当前上游的 `mustek_usb2` backend 中。
完整的逆向工程报告位于 [`docs/REVERSE-ENGINEERING.md`](docs/REVERSE-ENGINEERING.md) 中。
## 本仓库包含的内容
- `patches/` - 针对上游 `sane-backends` 添加 A3 1200 Pro 支持的补丁。
- `scripts/build-macos.sh` - 一键在 macOS (Homebrew) 上构建已打补丁的 SANE。
- `docs/` - 逆向工程笔记和提取的硬件参数。
它**不会**在项目中附带 SANE 源码的副本。你需要在上游的 `sane-backends`
应用补丁后进行构建。
## 快速开始 (macOS)
```
# 前提条件 (Homebrew)
brew install libusb autoconf automake libtool pkg-config autoconf-archive
# Build 一个打过 patch 的 SANE 到 ./sane-install
./scripts/build-macos.sh
# plug in 并 power on 扫描仪,然后:
./sane-install/bin/sane-find-scanner # should show 0x055f:0x040b
./sane-install/bin/scanimage -L # should list "ScanExpress A3 USB 1200 Pro"
./sane-install/bin/scanimage --format=pnm > test.pnm
```
要通过 AirScan 将扫描仪暴露给原生 macOS 应用(Image Capture、Preview),
请参阅 [`docs/MACOS.md`](docs/MACOS.md)。
## Linux
同样的补丁也适用于 Linux 上的上游 `sane-backends`。应用
`patches/0001-add-mustek-a3-usb-1200-pro.patch`,然后像往常一样构建 SANE。
逆向工程得出的厂商 backend 最初是 Linux 的 `.deb` 包,因此 Linux 是
风险最低的目标平台。
## 状态
| 项目 | 状态 |
|---|---|
| Backend 构建 (arm64 macOS) | 完成 |
| Backend 在 SANE 下加载 / 初始化 | 完成 |
| `055f:040b` 的 USB 枚举 | 完成 (逻辑部分),等待真机测试 |
| 真实扫描 (图像获取) | **等待硬件验证** |
| 色彩 / 分辨率校准 | 待定 |
| 双型号支持 (保留 BearPaw 2448TA) | 计划中 (参见 CONTRIBUTING-UPSTREAM) |
## 与上游 SANE 的关系
我们的目标是在真机验证通过后,将其合并到 SANE 项目中。
本仓库是暂存区:它记录了这项工作,并让扫描仪的所有者能够
从今天开始使用它。请参阅 [`CONTRIBUTING-UPSTREAM.md`](CONTRIBUTING-UPSTREAM.md),了解
将此转化为一个干净的合并请求的计划。
## 许可证
GPL-2.0-or-later,与其派生自的 SANE `mustek_usb2` backend 保持一致。请参阅
[`COPYING`](COPYING)。
`mustek_usb2` backend 的版权归属于:
- Copyright (C) 2000-2005 Mustek.
- Copyright (C) 2001-2005 Henning Meier-Geinitz.
本仓库中针对 A3 1200 Pro 的添加内容均在相同的许可证下贡献。
标签:Cutter, SANE, 云资产清单, 扫描仪, 硬件驱动, 逆向工程