tlc — это консольная утилита только для Linux, которая умеет смотреть и менять настройки совместимых объективов Tamron через USB. Проект называется tamron-lens-control, он независимый, с Tamron Co., Ltd. не связан, спонсором не поддерживается. Код распространяется под GNU GPL v3 или новее, и никаких гарантий нет: автор прямо предупреждает, что объектив может «кирпичнуться», улететь в угол или покинуть Солнечную систему. Всё на свой страх и риск.
Собирается утилита из исходников свежим Rust-тулчейном. Объектив подключается напрямую по USB, затем проверяем, видит ли его tlc. Если подключено несколько линз, можно выбрать нужную по серийнику или порту: tlc --device SERIAL info или tlc --device /dev/ttyUSB0 info. Каждая команда подключается к объективу, делает одно действие и отключается. Набор поддерживаемых функций зависит от конкретной модели.
Что умеет: смотреть настройки кольца фокусировки (tlc ring get), развернуть направление кольца (tlc ring set direction reverse), посмотреть назначение кнопки Focus Set и кастомного переключателя (tlc button get), назначить на кнопку сохранение фокусного положения (tlc button set focus function focus-preset). Есть и точная подстройка автофокуса: tlc focus-calibration set 2. Полный список опций — через tlc --help. Если поставить -v перед командой, утилита покажет каждую операцию, отправленную объективу, а -vv добавит ещё и сырые байты передачи и приёма в hex.
Перед массовыми изменениями стоит сохранить текущие настройки: tlc settings save my-lens.tlc, потом их можно вернуть командой tlc settings load my-lens.tlc. Важно: бэкап восстанавливается только на ту же модель объектива.
Если объектив виден в lsusb, но его нет в tlc devices, Linux, скорее всего, нужно заставить использовать для него USB-драйвер cp210x. Для быстрой проверки подойдут команды sudo modprobe cp210x и запись в /sys/bus/usb-serial/drivers/cp210x/new_id идентификаторов 2cd1 0002 и 2cd1 0005. После переподключения появится последовательный порт. Если /dev/ttyUSB0 есть, но не открывается, можно временно выдать себе доступ через sudo setfacl -m u:"$USER":rw /dev/ttyUSB0.
Для постоянного решения создаётся udev-правило /etc/udev/rules.d/70-tamron-lens.rules. Оно регистрирует USB ID Tamron, подгружает cp210x и через TAG+="uaccess" даёт активному пользователю доступ. После этого нужно перезагрузить правила и переподключить объектив.
Для SSH или headless-систем uaccess может не работать. Тогда смотрим группу устройства: если это dialout, добавляем пользователя в группу sudo usermod -aG dialout "$USER" и полностью выходим из системы. Но членство в группе даёт доступ ко всем устройствам этой группы, а не только к объективу.
И ещё пара советов: не отключайте объектив, пока команда не завершилась; перед изменением параметра смотрите его через get; перед загрузкой чужого бэкапа или сбросом делайте settings save. Прошивка объектива и онлайн-проверка обновлений пока не поддерживаются.