Поборол.
Наслоилось несколько ошибок. Ниже гайд по включению.
(Сорри, здесь правила форматирования не дают сделать красивый текст)
1. В системе установлен пакет brltty, который мешал нормальной работе с tty сh341.
Выяснилось это по логу в dmesg.
$ dmesg | grep ch34
Если последнее сообщение типа
ch341 1-4.1.3:1.0: device disconnected
Значит что то пошло не так.
При более детальном просмотре dmesg обнаружил, что пакет brltty конфликтует с ch341 за /dev/ttyUSB0
Удаляем пакет brltty из системы.
sudo apt remove brltty
2. У меня получалось запрограммировать Arduino Nano через программатор и я наивно полагал, что программирование через usb это то же самое. Ан нет. Это другой интерфейс.
Смотрим как он видится в системе (я убрал строки не относящиеся к нашему устройству):
$ lsusb
...
Bus 001 Device 015: ID 1a86:7523 QinHeng Electronics CH340 serial converter
...
У меня он подключен к Bus 001, как Device 015. Эта завист от того в какой разъем usb воткнута Arduino.
Важным является ID 1a86:7523
Нужно разрешить системе работать с этим устройством.
Для этого создаем файл /etc/udev/rules.d/99-Arduino.rules и прописываем в него такое правило:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666″, GROUP:="dialout"
Чтобы правила заработали нужно дать в терминале команду:
$ sudo udevadm control --reload-rules
3. В предыдущем пункте я указал группу dialout.
Эта группа создана для доступа к последовательным портам. Нужно проверить что вы включены в эту группу. Можно просто дать команду:
$ usermod -aG dialout $USER
Если пользователь уже в группе dialout, тогда ничего делаться не будет
4. Проверяем результат предыдущих выполения предыдущих пунктов. Для этого открываем терминал и вводим команду:
$ tail -f /var/log/syslog | grep ch34
Подключаем нашу Arduino к usb. Должно появиться что то вроде этого:
Apr 11 14:00:19 x-270 kernel: [ 2911.934831] ch341 1-4.1.3:1.0: ch341-uart converter detected
Apr 11 14:00:19 x-270 kernel: [ 2911.936002] usb 1-4.1.3: ch341-uart converter now attached to ttyUSB0
Отключаем от usb:
Apr 11 14:00:17 x-270 kernel: [ 2909.300300] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
Apr 11 14:00:17 x-270 kernel: [ 2909.303921] ch341 1-4.1.3:1.0: device disconnected
Отлично. Наша Arduino подключается к ttyUSB0
5. Все. Система настроена. Теперь выбираем в IDE следующие параметры
Board: Arduino Nano
Port: /dev/ttyISB0
Processor: ATMega328P (Old Bootloader)
Programmer можно выбрать любой. В данном случае от этого ничего не зависит.
После указанных действий Arduino Nano должна шиться через свой USB разъем.
Вроде все. Спасибо всем, кто принял участие в обсуждение и направил меня на решение это задачи.