From 4bb4d1706477f87d844df258058a4342e119fb48 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 26 Aug 2026 20:02:03 +0600 Subject: [PATCH] [2026-08-26] eagle: family/how-to/samsung.md family/how-to/truenas-infrastructure.md personal/tech/mac-print-shared-services.md --- family/how-to/samsung.md | 17 +++++-- family/how-to/truenas-infrastructure.md | 22 ++++++++- personal/tech/mac-print-shared-services.md | 55 ++++++++++++++++++---- 3 files changed, 78 insertions(+), 16 deletions(-) diff --git a/family/how-to/samsung.md b/family/how-to/samsung.md index 6f550cc1..1a33f809 100644 --- a/family/how-to/samsung.md +++ b/family/how-to/samsung.md @@ -16,12 +16,19 @@ updated: "2026-08-26" Симптом: с телефона не виден принтер. -Ключевые факты из CUPS на этом Маке: -- `Listen localhost:631` — служба печати CUPS слушает **только локально**, наружу не отдаёт. -- `SharePrinters` в `/etc/cups/cupsd.conf` не активен — **шеринг печати выключен** (оба принтера `Shared: No`). -- Для печати с телефона через этот Мак нужно включить шеринг (`sudo cupsctl WebInterface=yes` + Enable Printer Sharing в Системных настройках), либо принтеру самому быть AirPrint-совместимым в той же сети. +### ✅ Корень проблемы (подтверждено SSH на TrueNAS) -Внимание на подсеть: Мак в этом сеансе был на `192.168.6.x` (192.168.6.173), а основная инфраструктура (TrueNAS/принтеры/OpenWrt) живёт на `192.168.2.x` (192.168.2.197). `192.168.2.197` — это адрес TrueNAS, принтер CLX прописан на том же IP-хосте. Мак вне основной сети → `192.168.2.197` не пингуется. Расхождение возможно из-за того, что Мак был подключён не к основной сети/роутеру (или смена сети), а не из-за принтера. +**Samsung CLX-216x физически подключён к TrueNAS (USB) и обслуживается docker-контейнером `cups-splix` (драйвер splix). Контейнер НЕ запущен** — образ не собран, контейнер отсутствует после пересоздания пула. Поэтому принтер не виден по сети → телефон не печатает. + +- На TrueNAS нет другой службы печати: `lpstat`/`cupsd` не установлены, порт 631 закрыт. +- `192.168.2.197` — это адрес TrueNAS (не принтер); запись `ipps://192.168.2.197:631/...` = расшаренная печать TrueNAS. +- **Фикс:** пересобрать `cups-splix` и поднять — см. `[[truenas-infrastructure]]` (раздел «cups-splix — принтер») и `[[mac-print-shared-services]]`. + +### Факты из CUPS на этом Маке (вторичны для этой проблемы) +- `Listen localhost:631` — служба печати CUPS слушает **только локально**, наружу не отдаёт. +- `SharePrinters` в `/etc/cups/cupsd.conf` не активен — **шеринг печати выключен** (оба принтера `Shared: No`). Шеринг на Маc актуален только для принтера, висящего на Маcе (Samsung M2020). + +Подсеть: Мак в этом сеансе был на `192.168.6.x`, инфраструктура живёт на `192.168.2.x` — расхождение из-за того, что Мак был вне основной сети, а не из-за принтера. Примечание: `sudo -n cupsctl` не работает без пароля — шеринг удалённо через SSH проверить нельзя. diff --git a/family/how-to/truenas-infrastructure.md b/family/how-to/truenas-infrastructure.md index 2146372f..53c6e00c 100644 --- a/family/how-to/truenas-infrastructure.md +++ b/family/how-to/truenas-infrastructure.md @@ -4,7 +4,7 @@ > ## ✅ СТАТУС на 2026-08-25: пул ONLINE, docker поднят, почти все контейнеры Up > **Пул RED_2TB пересоздан (2026-08-21) и работает:** `zpool status` ONLINE, rsync возврата данных завершён, `/mnt/RED_2TB/` смонтирован. -> **Docker: ПОДНЯТ на 2026-08-25.** Почти все контейнеры Up (zigbee2mqtt, webdav, vless-proxy, homeassistant, caddy, transmission, syncthing, mosquitto, nodered, immich*, gitea, filebrowser, portainer*, hermes-taiga и др.). Ещё не подняты/падают отдельные (library был Restarting; inpxer/inpx-web/arr/cups/ser2net не в списке — проверить при надобности). +> **Docker: ПОДНЯТ на 2026-08-25.** Почти все контейнеры Up (zigbee2mqtt, webdav, vless-proxy, homeassistant, caddy, transmission, syncthing, mosquitto, nodered, immich*, gitea, filebrowser, portainer*, hermes-taiga и др.). Ещё не подняты/падают отдельные (library был Restarting; inpxer/inpx-web/arr/cups/ser2net не в списке — проверить при надобности). **Подтверждено 2026-08-26: `cups-splix` (принтер Samsung CLX-216x) НЕ запущен — образ не собран, контейнер отсутствует. Фикс: пересобрать образ и поднять (см. раздел «cups-splix — принтер»).** > **⚠️ Известная проблема modbus-bridge/mbusd — гонка с udev при рестарте TrueNAS:** > - После перезагрузки docker стартует раньше udev, поэтому `/dev/ttyZONT` и `/dev/ttyVent` на момент старта контейнеров ещё не существуют. > - Контейнеры с `devices: /dev/ttyZONT:...` падают на `start` с `error gathering device information while adding custom device "/dev/ttyZONT": no such file or directory` (ExitCode 128/255, RestartCount=0). @@ -115,6 +115,26 @@ TrueNAS использует **NFSv4 ACL**, а не стандартный POSIX | modbus-bridge | modbus-bridge | — | — | | cups-splix | cups-splix | — | принтер | +### cups-splix — принтер Samsung CLX-216x (⚠️ не поднят 2026-08-26) + +**Статус:** контейнер НЕ запущен. Образ `cups-splix` не собран (пропал — `.ix-apps` docker data-root не переносился при пересоздании пула; локальная сборка не «перекачается»). Папка конфига цела. + +Папка: `/mnt/RED_2TB/docker/cups/` → `Dockerfile`, `docker-compose.yml`, `docker build.txt`, `data/`→`/etc/cups`, `cache/`→`/var/cache/cups`, `spool/`→`/var/spool/cups`, `uld/`. + +- **Image:** `cups-splix` (локальная сборка из Dockerfile) +- **Dockerfile** (debian:12-slim): `cups-daemon cups-client cups-common printer-driver-splix avahi-utils dbus usbutils nano`; `cupsadmin:admin` (группа lpadmin); `EXPOSE 631`; CMD `cupsd -f` +- **compose:** `network_mode: host`, `privileged: true`, volume `/dev/bus/usb:/dev/bus/usb`, restart `unless-stopped` +- **Сборка/поднятие:** +```bash +cd /mnt/RED_2TB/docker/cups/ +docker build -t cups-splix . +docker compose up -d +# проверка: порт 631 открылся, принтер подцепился +``` +- **Проверка доступности сейчас:** `lpstat`/`cupsd` на хосте НЕ установлены, порт 631 закрыт (local и снаружи) — подтверждает, что печать не работает. + +> Полный разбор и симптом «телефон не видит принтер»: [[mac-print-shared-services]] + ### Инвентарь compose-файлов по папкам (проверено 2026-08-24) Каждый контейнер = своя папка `/mnt/RED_2TB/docker//`. Модель — **не один общий compose, а per-service compose** (контейнеры поднимались `docker compose up -d` из своей папки / `docker run`). diff --git a/personal/tech/mac-print-shared-services.md b/personal/tech/mac-print-shared-services.md index a8b19ff1..9505c4c4 100644 --- a/personal/tech/mac-print-shared-services.md +++ b/personal/tech/mac-print-shared-services.md @@ -29,21 +29,56 @@ created: 2026-08-26 ## ⚠️ Важное наблюдение (пересечение с TrueNAS) -Адрес **`192.168.2.197` в памяти — это TrueNAS** (truenas_admin, SSH через `mallexxx.duckdns.org`, он же `192.168.2.197`; см. память/инфраструктуру). В системе печати тот же адрес числится как Samsung CLX-216x. +Адрес **`192.168.2.197` — это TrueNAS** (truenas_admin, SSH через `mallexxx.duckdns.org`), НЕ сам принтер. Samsung CLX-216x физически подключён к TrueNAS (USB) и печатается через docker-контейнер **cups-splix** (драйвер splix). Запись `ipp://192.168.2.197/printers/Samsung_CLX-216x_Series` в системе Мака — результат обнаружения расшаренной печати TrueNAS на этом адресе. -Вероятно одно из двух: -1. Samsung CLX-216x физически подключён к TrueNAS и расшаривается через него на этом адресе — тогда «принтер» на 192.168.2.197 это на самом деле TrueNAS, отдающий печать. -2. Конфиг печати помнит устаревший адрес/принтер, которого больше нет. +## ✅ НаСТОЯЩИЙ ДИАГНОЗ (2026-08-26, подтверждено SSH на TrueNAS) -Требуется уточнить у владельца, какой принтер физически в наличии. +**Корень проблемы: cups-splix контейнер НЕ запущен на TrueNAS.** + +- На TrueNAS **нет ни одной работающей службы печати**: `lpstat`/`cupsd` в системе не установлены, порт 631 закрыт (и локально, и снаружи). +- Ни одного docker-контейнера по печати в `docker ps` нет (cup/sprint/ipp — пусто). **Официальный список контейнеров** (docker ps -a): immich(redis/server/postgres), modbus-bridge, mbusd, zigbee2mqtt, webdav, vless-proxy, hermes-taiga, portainer(-mcp), homeassistant, caddy, watchtower, transmission, syncthing, ser2net, rclone, nodered, mosquitto, library, inpxer, inpx-web, gitea, filebrowser. **`cups-splix` отсутствует.** +- Образ `cups-splix` не собран (`docker images | grep cups|splix` → пусто). + +### Конфиг cups-splix (цел, на месте) + +Папка `/mnt/RED_2TB/docker/cups/`: `Dockerfile`, `docker-compose.yml`, `docker build.txt`, `data/`, `cache/`, `spool/`, `uld/`. + +**docker-compose.yml:** +```yaml +services: + cups-splix: + image: cups-splix + container_name: cups-splix + command: ["/usr/sbin/cupsd", "-f"] + network_mode: host + privileged: true + volumes: + - /dev/bus/usb:/dev/bus/usb + - /mnt/RED_2TB/docker/cups/data:/etc/cups + - /mnt/RED_2TB/docker/cups/cache:/var/cache/cups + - /mnt/RED_2TB/docker/cups/spool:/var/spool/cups + restart: unless-stopped +``` + +**Dockerfile** (debian:12-slim): ставит `cups-daemon cups-client cups-common printer-driver-splix avahi-utils dbus usbutils nano`, пользователь `cupsadmin:admin` (в группе lpadmin), `EXPOSE 631`, CMD `cupsd -f`. + +**Как поднять** (из доки, раздел «Сборка»): +``` +cd /mnt/RED_2TB/docker/cups/ +docker build -t cups-splix . +docker compose up -d # или docker run из build.txt +# проверить: порт 631 открылся, принтер подцепился +``` + +### Почему выпал +`.ix-apps` вызов docker data-root при пересоздании пула НЕ переносился → образы (=кеш) потеряны, перекачиваются заново. `cups-splix` — локальная сборка, она не «перекачается», нужно пересобрать. Конфиги целы. ## Что НЕ запушено из-за запрета -Запуск сканирования подсети был запрещён пользователем — активного поиска принтера по сети не проводилось. +Запуск сборки/поднятия cups-splix НЕ выполнялся — ждёт подтверждения Alex. ## Вывод/нерешенное -- Телефон не видит принтер, потому что: (а) служба печати на Mac не отдаёт принтеры наружу (Listen localhost), и (б) принтеры не отвечают по сети. -- Для AirPrint-печати с телефона на принтерах, висящих на Mac, нужно включить **Printer Sharing** (**System Settings → Printers & Scanners → Share this printer**) — это поднимет `SharePrinters` и разлочит порт 631 для локальной сети. -- Для сетевого принтера (через TrueNAS) — проверить, что TrueNAS и расшаренная печать живы. -- Требуется ответ владельца: какой принтер физически и где. +- **Почему телефон не видит принтер:** cups-splix на TrueNAS не запущен → Samsung CLX-216x физически не обслуживается → принтера нет по сети. +- **Фикс:** пересобрать образ и поднять контейнер cups-splix (шаги выше), затем проверить порт 631. +- Шеринг печати на Маc не критичен для этого пути — реальная печать идёт через TrueNAS cups-splix. Включение Printer Sharing на Маc было бы актуально только для принтера, висящего на Маcе.