Проблема была в usblp
драйвере, который автоматически загружался ядром Linux. Добавление его в черный список решило проблему. Вот мой /etc/modprobe.d/blacklistusblp.conf
файл.
blacklist usblp
Обратите внимание, что занесение в черный список usblp
отключает все USB-принтеры, использующие драйвер usblp
, но, к счастью, большинство людей, включая меня, используют CUPS в качестве драйвера принтера.
(обновление) Выяснилось, что было бы лучше написать правило udev, которое автоматически отключает драйверы ядра по умолчанию, а не помещает их в черный список. Вот мой /etc/udev/rules.d/99-escpos.rules
.
SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0202", MODE="0664", GROUP="wheel", RUN+="/bin/sh -c 'echo -n $id:1.0 > /sys/bus/usb/drivers/usblp/unbind && echo -n $id:1.0 > /sys/bus/usb/drivers/usbfs/unbind'"
Это правило также выгружает usbfs
, который иногда загружается ядром при отсоединении usblp
.