Show HN: 在 Linux 上替代 Tamron Lens Utility 的工具
摘要
一款社区驱动的 Linux 命令行工具,复刻了官方 Tamron Lens Utility 的功能,让用户能够查看和更改通过 USB 连接的兼容 Tamron 镜头的设置。
查看缓存全文
缓存时间: 2026/08/12 08:26
yikerman/tamron-lens-control
Tamron Lens Control
tlc 是一个仅适用于 Linux 的命令行工具,用于查看和更改兼容的 Tamron 镜头的设置。它旨在 Linux 上复刻官方 Tamron Lens Utility 所提供的功能。
免责声明
- 无关联
tamron-lens-control是一个独立的社区项目,与 Tamron Co., Ltd. 无任何关联、未经其认可,也未受其赞助。“Tamron” 是相应所有者的商标,此处仅用于标识兼容产品。 - 无保修
tamron-lens-control基于 GNU GPL v3 或更高版本 许可,且不提供任何形式的保修。虽然我希望它确实有用,但使用本软件即表示您接受以下可能:您的镜头可能会变砖、弹飞、像受惊的麻雀一样在房间里乱窜,或者离开地球和太阳系。参见LICENSE。
安装
使用较新的 Rust 工具链从本仓库构建并安装:
bash cargo install --path .
将镜头通过 USB 直接连接,然后确认 tlc 能够检测到它:
bash tlc devices tlc info
当连接了多个镜头时,可通过 tlc devices 显示的序列号或端口来选择某一个:
bash tlc --device SERIAL info tlc --device /dev/ttyUSB0 info
使用
``bash
每条命令都会连接镜头、执行一个操作,然后断开连接。
请注意,镜头可能只支持其中一部分操作。
查看对焦环设置
tlc ring get
反转对焦环方向
tlc ring set direction reverse
查看对焦设定按钮和自定义开关的分配
tlc button get
将对焦预设分配给对焦设定按钮
tlc button set focus function focus-preset
更多操作……参见 tlc –help
微调自动对焦精度
tlc focus-calibration set 2 ``
运行 tlc --help,或在任意命令后添加 --help,可查看可用设置、可接受的值以及镜头相关要求。
在命令前加上 -v 可显示发送到镜头的每个操作,加 -vv 还会以十六进制打印所有原始发送和接收的字节。
备份
在进行大量修改之前,请先备份所有当前设置:
bash tlc settings save my-lens.tlc tlc settings load my-lens.tlc
备份文件只能恢复到同型号的镜头上。
Linux 驱动设置
如果镜头出现在 lsusb 中,但未出现在 tlc devices 中,则可能需要告诉 Linux 为它使用 cp210x USB 串行驱动程序。
一次性设置
使用以下命令立即测试驱动设置:
bash sudo modprobe cp210x echo 2cd1 0002 | sudo tee /sys/bus/usb-serial/drivers/cp210x/new_id echo 2cd1 0005 | sudo tee /sys/bus/usb-serial/drivers/cp210x/new_id
重新连接镜头,然后检查其串口:
bash tlc devices
如果 /dev/ttyUSB0 存在但无法打开,请为当前用户授予临时访问权限:
bash sudo setfacl -m u:"$USER":rw /dev/ttyUSB0
持久化设置
创建一条 udev 规则,使系统在连接兼容镜头时注册 Tamron USB ID,并授予当前桌面用户访问权限:
bash sudoedit /etc/udev/rules.d/70-tamron-lens.rules
添加以下内容:
udev ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", DRIVER=="", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0002", RUN+="/bin/sh -c '/sbin/modprobe cp210x && echo 2cd1 0002 > /sys/bus/usb-serial/drivers/cp210x/new_id'" ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", DRIVER=="", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0005", RUN+="/bin/sh -c '/sbin/modprobe cp210x && echo 2cd1 0005 > /sys/bus/usb-serial/drivers/cp210x/new_id'" SUBSYSTEM=="tty", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0002", TAG+="uaccess" SUBSYSTEM=="tty", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0005", TAG+="uaccess"
重新加载规则,然后拔下并重新连接镜头:
``bash sudo udevadm control –reload-rules
重新连接
tlc devices && tlc info getfacl /dev/ttyUSB0 ``
对于 SSH 或无头系统,uaccess 可能不适用。请检查设备组:
bash stat -c '%G' /dev/ttyUSB0
如果显示为 dialout,请将您的用户添加到该组并完全注销:
bash sudo usermod -aG dialout "$USER"
请注意,组成员身份将授予对 dialout 所拥有的所有设备的访问权限,而不仅仅是镜头。
安全与范围
- 在命令完成前,请保持镜头连接。
- 在更改设置之前,先使用相应的
get命令查看该设置。 - 在加载另一个备份或执行重置之前,请使用
settings save保存设置。 - 镜头固件更新和在线固件检查尚不支持(参见 TODO.md)。
相似文章
Show HN:BornToBeRoot 的 NETworkManager 的免费 Linux 适配版
NMLinux 是 NETworkManager 的免费、开源 Linux 适配版,为常用网络工具提供统一的图形界面。它基于 Python 和 PySide6 构建,包含 SSH、RDP、VNC、Wi-Fi、路由追踪、网速测试等模块,面向系统管理员和高级用户。
Show HN: Imagin Raw – 一款9MB大小的开源Adobe Bridge替代品,适用于Mac
Imagin Raw 是一款轻量级、开源的macOS应用,用于浏览和管理RAW照片,提供比Adobe Bridge更快、更高效的替代方案,功能包括XMP sidecar支持、实时文件监控和SD卡导入。
Uhubctl – 控制智能USB集线器上每个端口的USB电源
uhubctl 是一个命令行工具,用于控制智能USB集线器上每个端口的USB电源,支持多种兼容的集线器。
Claude Code 成功让 Adobe Lightroom 在 Linux 上运行
一个 GitHub 仓库记录了如何使用 Wine 在 Linux 上运行 Adobe Lightroom CC,其中包含由 Claude Opus 4.7 通过 Claude Code 创建的脚本和补丁。
microsoft/Lens
微软发布了Lens,一个38亿参数的基础文本到图像模型,专为高效训练和快速高分辨率生成而设计,以更少的计算量实现了具有竞争力的质量。