CUPS - Сетевой принтер - Ошибка подключения: разрешение отказано, принтер не отвечает

Я пытаюсь устранить проблему с печатью, но сначала мне нужно описать мою среду (это немного нестандартно) .

У меня есть USB-принтер HP 1102, подключенный к системе Ubuntu 20.04, которая запускает CUPS и использует принтер совместно с другими системами в локальной сети. Печать из других систем (Ubuntu 18.04, Ubuntu 20.04, Windows 10) отлично работает через IPP.

У меня есть клиент, работающий под управлением Android 10, и поверх него Linux Deploy с Linux 18.04 в chroot в той же локальной сети. В системе linux есть XFCE и CUPS, и я настроил принтер так же, как и для других систем.

Когда я пытаюсь напечатать (с локальными чашками, настроенными на отладку), вот что я получаю для своей работы:

D [25/Nov/2020:10:12:01 +0200] [Job 8] Connecting to 192.168.1.13:631
D [25/Nov/2020:10:12:01 +0200] [Job 8] Connecting to printer.
D [25/Nov/2020:10:12:01 +0200] [Job 8] Connection error: Permission denied
E [25/Nov/2020:10:12:01 +0200] [Job 8] The printer is not responding.
D [25/Nov/2020:10:12:31 +0200] [Job 8] Connecting to 192.168.1.13:631
D [25/Nov/2020:10:12:31 +0200] [Job 8] Connecting to printer.
D [25/Nov/2020:10:12:31 +0200] [Job 8] Connection error: Permission denied
E [25/Nov/2020:10:12:31 +0200] [Job 8] The printer is not responding.

Я выполняю захват пакетов на стороне сервера cups, и нет пакетов, когда он говорит, что это пытаюсь подключиться к принтеру. Подключение вручную ( telnet 192.168.1.13 631 открывает сокет и TCP-соединение работает).

Должно быть, что-то не так внутри CUPS, запущенного на Android Linux chroot, но я не могу понять, что именно. Локальное задание печати выглядит нормально, права доступа к файлам для каталога / var / spool / cups выглядят нормально, cups работает от имени пользователя root.

Я не знаю, где искать дальнейшие способы устранения неполадок ...

Я смотрю android logcat, пытаясь понять, есть ли проблема в то же время, и вот оно:

11-25 10:28:29.179  2980  3091 W Netd    : No subsystem found in netlink event
11-25 10:28:31.012 20789 20789 I printers.cgi: type=1400 audit(0.0:785): avc: denied { ioctl } for path="socket:[151451]" dev="sockfs" ino=151451 ioctlcmd=0x8933 scontext=u:r:magisk:s0 tcontext=u:r:magisk:s0 tclass=unix_dgram_socket permissive=1

Итак - я думаю, cups пытается создать сокет, а android это отрицает? Есть идеи, если это файловый сокет, как его называть и где он будет расположен в файловой системе?

Есть предложения?

0
задан 25 November 2020 в 10:34
1 ответ

Мне удалось найти решение моей проблемы. Мне удалось обойти CUPS в Linux (работает поверх Android) и подключить систему к удаленному серверу чашек (на котором размещен принтер в моей локальной сети). Мне пришлось добавить файл /etc/cups/client.conf со следующим содержимым:

AllowAnyRoot Yes
AllowExpiredCerts Yes
Encryption IfRequested
ServerName 192.168.1.13:631

192.168.1.13 работает на моем реальном сервере CUPS. Теперь печать работает из chroot Linux под Android!

0
ответ дан 24 December 2020 в 08:44

Теги

Похожие вопросы