LINUX.ORG.RU

О настройке принтера

 ,


0

1

https://wiki.gentoo.org/wiki/Printing

Для того, чтобы заработал принтер, нужно аккуратно пересобрать ядро.

Для того, чтобы убедиться, что текущее ядро не подходит, нужно погрепать константы в zgrep "???" /proc/config.gz но имена констант не указаны в wiki:

Device Drivers -->
  <*> Parallel port support
  <*> PC-style hardware
  [*] IEEE 1284 transfer modes
  Character Devices -->
    <*> Parallel printer support

Крайне неудобно. Что именно грепать, чтобы проверить?

Я считаю это неправильно, нужно дописать имена констант рядом с пунктами, или перечислить константы списком ниже с указанием из каких пунктов они получаются.

Я считаю это неправильно, нужно дописать имена констант рядом с пунктами

wiki

Разрешаю, добавляй.

/thread

gremlin_the_red ★★★ ()
Ответ на: комментарий от irton

У меня какие-то другие слова:

$ zgrep "PARPORT" /proc/config.gz 
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_COMEDI_PARPORT=m
$ zgrep "PRINTER" /proc/config.gz 
CONFIG_USB_PRINTER=m
CONFIG_USB_F_PRINTER=m
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_G_PRINTER=m

Во-первых нет CONFIG_PRINTER, во вторых нет CONFIG_PARPORT_1284

То, что придётся пересобирать ядро, потому что «CONFIG_PARPORT is not set» я осознал.

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

То, что придётся пересобирать ядро, потому что «CONFIG_PARPORT is not set» я осознал.

Осталось понять, где в 2020м ты нашёл LPT-принтер.

gremlin_the_red ★★★ ()
Ответ на: комментарий от irton

Я пересобрал ядро и загрузился с новым.

# zgrep "PRINTER" /proc/config.gz
CONFIG_PRINTER=y
CONFIG_USB_PRINTER=m
CONFIG_USB_F_PRINTER=m
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_G_PRINTER=m
# zgrep "PARPORT" /proc/config.gz
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_SERIAL=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set
CONFIG_COMEDI_PARPORT=m

Про CONFIG_PARPORT_1284 пишут:

If you have a printer that supports status readback or device ID, or want to use a device that uses enhanced parallel port transfer modes such as EPP and ECP, say Y here to enable advanced IEEE 1284 transfer modes. Also say Y if you want device ID information to appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.

Однако ничего не поменялось. В том смысле, что я не могу зайти на адрес localhost:631 и добавить там принтер, потому что Firefox не может приконнектиться к вебсерверу из состава cups.

Наверное что-то не так с настройками cups, или systemd его запускать не хочет.

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от irton

дело в чём-то ещё...

PARPORT_SERIAL это

--- PC-style hardware                                                                                                              <*>   Multi-IO cards (parallel and serial) 

$ lspci -v | grep -A 11 Parallel 
03:00.2 Parallel controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi-I/O Controller (prog-if 03 [IEEE1284])
	Subsystem: Device a000:2000
	Flags: bus master, fast devsel, latency 0, IRQ 16
	I/O ports at b200 [size=8]
	I/O ports at b300 [size=8]
	Memory at f8104000 (32-bit, non-prefetchable) [size=4K]
	Memory at f8105000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Power Management version 3
	Capabilities: [80] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Kernel driver in use: parport_serial

То есть, модуль к PCIe-карте есть и загружен (вкомпилирован).

Пакет cups тоже установлен

# emerge -pv cups

These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R    ] net-print/cups-2.3.3-r1::gentoo  USE="X acl pam ssl systemd threads -dbus -debug -kerberos -lprng-compat (-selinux) -static-libs -usb -xinetd -zeroconf" ABI_X86="(64) -32 (-x32)" 7 950 KiB

Total: 1 package (1 reinstall), Size of downloads: 7 950 KiB
и процесс запущен:
$ ps -A|grep cupsd
   5212 ?        00:04:04 cupsd

Вот так ещё можно:

# systemctl status cups.service
● cups.service - CUPS Scheduler
     Loaded: loaded (/lib/systemd/system/cups.service; disabled; vendor preset: disabled)
     Active: active (running) since Thu 2020-06-11 07:25:47 -00; 23min ago
       Docs: man:cupsd(8)
   Main PID: 5212 (cupsd)
      Tasks: 1 (limit: 9504)
     Memory: 8.6M
        CPU: 23min 21.630s
     CGroup: /system.slice/cups.service
             └─5212 /usr/sbin/cupsd -l

июн 11 07:25:47 hostname systemd[1]: Started CUPS Scheduler.

Пользователь добавлен в группу lpadmins:

# groupmems --list -g lpadmin
user 

Конфиг дефолтовый:

# grep -A 2 listen /etc/cups/cupsd.conf
# Only listen for connections from the local machine.
Listen 127.0.0.1:631
Listen /run/cups/cups.sock

Файрволла вроде бы нет:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

В строке браузера ввожу http://127.0.0.1:631

и не коннектится!

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Однако ничего не поменялось. В том смысле, что я не могу зайти на адрес localhost:631 и добавить там принтер, потому что Firefox не может приконнектиться к вебсерверу из состава cups.

У вас конфиг cupsd не включает Вэб-интерфейс. По умолчанию он отключен. man cupsd.conf на предмет WebInterface

sigurd ★★★★ ()
Ответ на: комментарий от sigurd

man cupsd.conf на предмет WebInterface

       WebInterface yes

       WebInterface no
            Specifies whether the web interface is enabled.   The  default  is
            "No".

По умолчанию он отключен.

Хорошая гипотеза, но к сожалению не подтверждается:

# grep -B 1 «WebInterface» /etc/cups/cupsd.conf

# Web interface setting...
WebInterface Yes

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Anoxemian

netstat -tunlp

$ sudo netstat -tunlp

Password: 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      5209/systemd-resolv 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      5209/systemd-resolv 
tcp        4      0 127.0.0.1:631           0.0.0.0:*               LISTEN      10498/cupsd         
tcp6       0      0 :::5355                 :::*                    LISTEN      5209/systemd-resolv 
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           5209/systemd-resolv 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           5209/systemd-resolv 
udp        0      0 0.0.0.0:631             0.0.0.0:*                           10499/cups-browsed  
udp6       0      0 :::5355                 :::*                                5209/systemd-resolv 

Номер процесса совпадает:

# ps -eax | grep cupsd
  10498 ?        Rs   238:30 /usr/sbin/cupsd -l LANG=ru_RU.utf8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin INVOCATION_ID=00092494fd694c1dbdcbd4dcdc335842 JOURNAL_STREAM=8:110457170

4 увеличивается до 5, если в Firefox ввести адрес ещё раз.

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair
tcp        4      0 127.0.0.1:631           0.0.0.0:*               LISTEN      10498/cupsd

все работает. ищи дальше, попробуй телнетом зайти. чудес-то не бывает, сам понимаешь. проблема локализована до браузера.

Anoxemian ★★★★★ ()
Ответ на: комментарий от Anoxemian

ищи дальше

а как?

# journalctl -u cups.service

июн 11 08:06:10 hostname systemd[1]: Started CUPS Scheduler.

попробуй телнетом зайти

Ну зайдёт, ведь и от браузера счётчик соединений увеличивается.

# emerge -av net-misc/telnet-bsd
[ebuild  N     ] net-misc/telnet-bsd-1.2-r1::gentoo  USE="nls -xinetd" 190 KiB
# telnet 127.0.0.1 631
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
$ sudo netstat -tunlp | grep cupsd
Password: 
tcp        6      0 127.0.0.1:631           0.0.0.0:*               LISTEN      10498/cupsd
Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

крайняк запусти капс по strace и коннекты покидац посмотри что за магия происходит например

вербосити еще покрутить капса если оно вообще предусмотрено

Anoxemian ★★★★★ ()
Ответ на: комментарий от Anoxemian

проблема локализована до браузера.

Я не уверен. Применил «модульное тестирование», т.е. заменил браузер firefox на браузер chromium и вроде так же не работает.

Надо сказать, что принтер виден в логе:

# dmesg | grep -B2 -A4 Printer
[    3.122197] parport0: PC-style at 0xb200 (0xb300), irq 16, using FIFO [PCSPP,TRISTATE,COMPAT,EPP,ECP]
[    3.152591] parport0
[    3.152592] : Printer
[    3.152667] , Hewlett-Packard HP LaserJet 1100

[    3.152948] lp0: using parport0 (interrupt-driven).
[    3.153021] lp0: console ready
и даже в устройствах:
# ls -1l /dev/lp0
crw-rw---- 1 root lp 6, 0 июн 11 07:25 /dev/lp0
и у меня даже есть на него права:
# groupmems --list -g lp
lp  user 

Пристально рассматривал страницу
https://wiki.gentoo.org/wiki/HPLIP

Бродя по сайтам в интернете, обнаружил, что у капса есть лог.

посмотри что за магия происходит

и он весь такой:

# tail /var/log/cups/error_log -n 4
E [11/Jun/2020:17:49:01 +0000] File \"/usr/libexec/cups/notifier/dbus\" not available: No such file or directory
W [11/Jun/2020:17:49:01 +0000] Notifier for subscription 18 (dbus://) went away, retrying!
E [11/Jun/2020:17:49:01 +0000] File \"/usr/libexec/cups/notifier/dbus\" not available: No such file or directory
W [11/Jun/2020:17:49:01 +0000] Notifier for subscription 18 (dbus://) went away, retrying!

Einstok_Fair ★★☆ ()
Ответ на: комментарий от irton

Это не всё, что там можно прочекать!

 * hplip-3.20.3.tbz2 MD5 SHA1 size ;-) ...                               [ ok ]
>>> Extracting info
 * Checking for suitable kernel configuration options...
 *   CONFIG_PPDEV:	 is not set when it should be.
 * Please check to make sure these options are set correctly.
 * Failure to do so may cause unexpected problems.
>>> Extracting net-print/hplip-3.20.3
Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

Ты решай проблемы по одной. Наличие или отсутствие принтера или его драйвера никак не влияет на работоспособность вэб-интерфейса cupsd. Проверь наличие страниц, показываемых через cupsd. У меня это /usr/share/cups/www и /usr/lib/cups/cgi-bin. B /var/log/cups пишутся логи при каждом обращении к вэб-интерфейсу.

sigurd ★★★★ ()
Ответ на: комментарий от sigurd

решай проблемы по одной.

Для этого нужно понимание системы компонентов. Какие компоненты есть и как они между собой соединяются. Для этого хорошо бы прочитать учебник по этой теме. Но это долго и я не знаю какую книжку читать.

Einstok_Fair ★★☆ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей