
2026/08/07 22:36
Show HN: Linux 向け Tamron レンズユーティリティの代替
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
## 概要: `tlc`ユーティリティは、Tamron Lens Utilityのコア機能をサポートされるレンズ向けに再現するLinux専用コマンドラインツールであり、プロプライエタリなソフトウェアなしでフォーカスリングの制御、ボタン割り当て、センサー較正などに対する完全な制御を提供します。Tamronとの関連性がない独立したコミュニティプロジェクトとして、GNU GPL v3 以降の下で動作し、無保証です。ユーザーはレンズの焼き付き(brick)、動作不良、または物理的損傷などのリスクを負います。機能させるためには、ビルドおよびインストールに最新の Rust ツールチェーンが必要です。基本的使用法は「接続 - 操作 - 切断」モデルに従います: まず `tlc devices`(シリアル番号またはポートを使用)を使用してデバイスの可視性を確認し、その後 `tlc ring get/set`, `tlc button get/set`, または `tlc focus-calibration set` のような単一コマンドを実行します。`focus-calibration` を使用して自動フォーカスの精度を微調整でき、変更前にすべての設定を確認(`get`)することでエラーを防ぐことができます。このツールには公式のファームウェア更新またはリモートチェック機能がないため、広範な変更を行う前に手動でのバックアップ(`tlc settings save`)は必須であり、復旧は同じレンズモデルのみに行う必要があります。レンズが `lsusb` には表示されるが `tlc devices` には表示されない場合、ベンダー ID 2cd1/0002 または 2cd1/0005 を使用して cp210x USB シリアルドライバを一度限りの方法または永続的な udev ルールで構成し、`/dev/ttyUSB0` がアクセス可能であることを確保してください(例:`setfacl` の使用やユーザーを `dialout` グループに追加など)。コマンド中はレンズを接続したままにし、常にコマンド固有の設定と値については `--help` を使用してください。カスタム制御には強力ですが、`tlc` は不可逆的なエラーを防ぐために慎重な手動管理が必要です。
本文
tlc — Tamron レンズコントロールユーティリティ for Linux
tlc は、Tamron レンズの設定を表示・変更するための、Linux 専用に設計されたコマンドラインツールです。本ツールの目標は、Tamron の公式「Tamron Lens Utility」で提供されている機能を、Linux システムにおいても再現することにあります。
ご留意事項
- 無関係のプロジェクト:
は独立したコミュニティ主導のプロジェクトです。tamron-lens-control- 株式会社 Tamron からの承認、推薦、または支援を受けたものではありません。
- 「Tamron」という名称は各所有者の商標であり、本文脈では互換製品を特定する目的のみで使用されています。
- 免責事項:
- GNU GPL バージョン 3 またはそれ以降のライセンスの下で配布され、一切の保証(いかなる種類の保証も)を提供しておりません。
- レンズの破損、制御不能、あるいは予期せぬ不祥事(例:想像力を掻き立てられるようなリスク)を引き起こす可能性があります。これについてはユーザーが同意したものとみなされます。
- 詳細は LICENSE ファイル をご覧ください。
インストールとセットアップ
最新バージョンの Rust ツールチェーンを使用し、このリポジトリからビルドしてインストールしてください。
レンズを USB で直接接続した後、
tlc がそれを検知できていることを確認します:
# レンズを USB で直接接続し、tlc が検出できているかを確認します tlc devices # 複数のレンズを接続している場合、対象を選択できます: tlc --device SERIAL info tlc --device /dev/ttyUSB0 info
使用方法
各コマンドはレンズに接続し、特定の動作を実行した後に接続を切断してください。なお、すべてのレンズが以下の全コマンドをサポートしているとは限りません(一部のみ対応する場合があります)。
基本コマンド
-
フォカスリングの設定を表示
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- 利用可能な設定、受け入れられる値、およびレンズ固有の要件については、コマンドに
を追加して確認できます(例:--help
)。tlc --help
- 利用可能な設定、受け入れられる値、およびレンズ固有の要件については、コマンドに
デバッグ情報の出力
- 操作情報表示: コマンドの前に
を付けます。-vtlc -v <コマンド> - 生データ出力 (十六進数): さらに
を付けて、すべての中継された生データを十六進数形式で出力します。-vvtlc -vv <コマンド>
設定のバックアップ
大幅な変更を行う前に、現在のすべての設定をバックアップしてください:
tlc settings save my-lens.tlc # 復元例(同じモデルのレンズにのみ有効) tlc settings load my-lens.tlc
注意: バックアップファイルは、同じモデルのレンズにのみ復元することができます。
Linux ドライバーのセットアップ
lsusb で検出されるのにともかく tlc devices では表示されない場合、Linux システムに cp210x USB セリアルドライバを使用してレンズを認識させるよう指示する必要があります。
一時的なセットアップ(テスト用)
ドライバーのセットアップを即座にテストするには:
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
その後、レンズを再接続し、シリアルポートが検出されるか確認してください。
もし
/dev/ttyUSB0 が存在するが開けない場合、現在の実行中のユーザーに一時的なアクセス権を付与する必要があります:
sudo setfacl -m u:"$USER":rw /dev/ttyUSB0
永続的なセットアップ
互換性のレンズが接続されるたびに Tamron の USB ID を登録し、アクティブなデスクトップユーザーにアクセス権を付与する udev ルールを作成します。
以下の内容を
/etc/udev/rules.d/70-tamron-lens.rules に記述・編集してください:
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"
ルールの読み込みをリフレッシュし、その後レンズを再接続して確認してください:
sudo udevadm control --reload-rules # 再接続する tlc devices && tlc info getfacl /dev/ttyUSB0
ヘッドレスシステムや SSH 接続時の対処
SSH 接続時やヘッドレスシステム(モニターやキーボードなしで動作するシステム)の場合、「uaccess」タグは適用されない可能性があります。その際はデバイスのグループを確認してください:
stat -c '%G' /dev/ttyUSB0
もし
dialout が表示された場合、あなたのユーザーをそのグループに追加し、完全にログアウト(またはセッションをリブート)する必要があります:
sudo usermod -aG dialout "$USER"
注意: グループへの所属は「dialout」グループに属するすべてのデバイスに対するアクセス権限が付与されることに留意してください(レンズだけでなく他機器にも影響します)。
安全性と範囲
- コマンドが完了するまで、レンズを接続した状態に保ってください。
- 設定を変更する前に、
コマンドでその現在の設定内容を確認してください。get - 他のバックアップファイルを読み込む際やリセットを実行する前に必ず
を使用して現状の設定を保存してください。settings save - レンズファームウェアの更新およびオンラインでのファームウェアチェックは、現時点ではサポートされていません(詳細は TODO.md をご参照ください)。