Show HN: 在 Linux 上替代 Tamron Lens Utility 的工具

Hacker News Top 工具

摘要

一款社区驱动的 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 适配版

Hacker News Top

NMLinux 是 NETworkManager 的免费、开源 Linux 适配版,为常用网络工具提供统一的图形界面。它基于 Python 和 PySide6 构建,包含 SSH、RDP、VNC、Wi-Fi、路由追踪、网速测试等模块,面向系统管理员和高级用户。

microsoft/Lens

Hugging Face Models Trending

微软发布了Lens,一个38亿参数的基础文本到图像模型,专为高效训练和快速高分辨率生成而设计,以更少的计算量实现了具有竞争力的质量。