مشکل پرینتر در دبیان wheezy

بعد از کلی سرو کله زدن بالاخره فهمیدم مشکل پرینتر توی wheezy چیه؟ حالا اصلا خود مشکل چی بود؟ مشکل این بود که من هر دفعه سیستم را ریستارت می کردم باید مجدد دستور hp-plugin را می زدم تا درایور پرینتر را لود کنه.

خلاصه توی یکی از این ریستارت ها متوجه شدم که udev داره روی یک سری از rule های تعریف شده ، پیغام خطا می ده. مشکل این بود که پیغام می داد کلید SYSFS را نمی شناسم. این یکی از rule هایی که hplip اضافه کرده بوده:

# Load hp firmware for this printer.

ACTION!=”add”, GOTO=”hpmud_rules_end”

# hp_laserjet_1020 for Suse 10.3
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, SYSFS{idVendor}==”03f0″, SYSFS{idProduct}==”2b17″, PROGRAM=”/bin/sh -c ‘logger -p user.info loading hp_laserjet_1020 firmware $env{BUSNUM} $env{DEVNUM}'”, RUN+=”/bin/sh -c ‘/usr/bin/hp-firmware -y3 -s$env{BUSNUM}:$env{DEVNUM} &'”

# hp_laserjet_1020
SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”03f0″, SYSFS{idProduct}==”2b17″, PROGRAM=”/bin/sh -c ‘X=%k; X=$${X#usbdev}; B=$${X%%%%.*}; D=$${X#*.}; logger -p user.info loading hp_laserjet_1020 firmware $$B $$D; printf %%03i:%%03i $$B $$D'”, RUN+=”/bin/sh -c ‘/usr/bin/hp-firmware -y3 -s%c &'”

LABEL=”hpmud_rules_end”

خوب بعد از کلی جستجو متوجه شدم که در کرنل های جدید و udev جدید اثر از sysfs نیست و باید به جای اون از کلید ATTRS استفاده کرد. خوب پس من کل کلید ها را بادستور زیر در کلیه rule ها اصلاح کردم:

sed -i ‘s/SYSFS/ATTRS/g’ /etc/udev/rules.d/86-hpmud-hp_laserjet_*

و به این ترتیب پس از ریستارت سرویس udev صدای آشنای پرینتر من باز به گوش رسید. این دفعه بدون نیاز به نصب مجدد درایور 😉

2 پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *