Налаштовуємо USB принтер під Linux, Linux, Операційні системи, статті

Юрій Лушня, Linux RSP Web Site

Ні для кого не секрет (а може і секрет), що 2.2.х ядра мають вбудовану підтримку USB. Якщо хтось стикався з цією ось підтримкою, то, напевно, не дуже був радий цьому (може і до цих пір згадує з жахом). Вся справа в тому, що в цій підтримці є купа помилок.

2.3.х та 2.4.х мають більш поліпшену і доопрацьовану USB підтримку, але не кожен захоче копатися з налаштуванням нового ядра, перевстановлювати його, компілювати і т.д. На щастя, підтримка USB в 2.3.х ядрах пропатчена і може працювати з ядрами 2.2.х. Для цього потрібно завантажити і поставити цей патч.

Процедура “патчінга”

Спочатку набираємо uname -r. Система виводить версію ядра. Якщо версія вашого ядра вище ніж 2.2.14, то його можна і не патчити. Вам просто потрібно перекомпілювати ядро ​​(про це ми поговоримо нижче) і поставити підтримку USB (я використовую Linux-Mandrake 7.0, версія ядра – 2.2.14-2.2.15mdk). Інструкція по компіляції ядра знаходиться тут, А якщо проблеми з доступом в INTERNET, то цю інструкцію можна переглянути в / usr / doc / kernel-HOWTO (по-моєму). Зараз, практично, в кожному релізі Linux є російські man’и, тому з компіляцією ядра, я думаю, у вас проблем не виникне. Якщо ж у вас ядро ​​”молодший” версії 2.2.14, тоді доведеться його пропатчити.

Для цього йдемо сюди і закачуємо патч, написаний Vojtech Pavlik Якщо з цією адресою проблеми, то можна зайти на цей сайт і з пошуку знайти потрібний патч (usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz) Або посилання на інший сайт з потрібною інформацією (в даному випадку – патчем).

Після отримання даного патча, за допомогою команди cd заходимо в директорію, в яку скопійований патч і набираємо [patch file name]. Одним словом, ми розпаковуємо цей gz. файл і встановлюємо його. На стадії розпакування даного файлу можливі проблеми. Так, gunzip може “лаятися”, що цей файл не з розширенням .gz. Справа в тому, що деякі програми (в тому числі і Mozilla) автоматично розпаковують одержувані файли. Так що на gunzip можете не звертати уваги (якщо тільки він лається через вищеописаної проблеми, а не чомусь ще :).

Далі заходимо root’ом і набираємо cd /usr/src/linux.
Потім patch-p1 [path для вашого patch файлу]

Якщо ваш патч знаходиться у файлі /usr/downloads/usb-2.4.0-test2-pre2-for-2.2.16-v3.diff, Тоді набираємо patch -p1 /usr/downloads/usb-2.4.0-test2-pre2-for-2.2.16-v3.diff. Тепер набираємо make menuconfig (Або make xconfig якщо ви працюєте в Х’ах). Вибираємо USB Support (USB підтримку) і натискаємо ENTER. Потім вибираємо:
Support for USB (підтримку USB)
Preliminary USB Device Filesystem
A USB Controller suited to your system (USB контролер, підтримуваний вашою системою. З цим, я думаю, у вас проблем не виникне, оскільки help в цьому питанні просто чудовий).
USB Printer Support (підтримка USB принтера)
Any other USB devices that you have (інші USB пристрою, які ви маєте)

Перевіряємо настройки, зберігаємо і виходимо. Компілюємо ядро ​​і вносимо зміни в LILO. Перезавантажуємося. Якщо ви все нормально налаштували, то при завантаженні буде присутній повідомлення про підтримку USB (support USB).

Після входу в систему набираємо: mount -t usbdevfs usbdevfs /proc/bus/usb для монтування USB filesystem (USB-файлової системи). Якщо ви хочете, щоб ця файлова система автоматично монтувалася при запуску, то слід додати наступний рядок в /etc/fstab: usbdevfs /proc/bus/usb usbdevfs defaults 0 0.

Тепер ми маємо повну підтримку USB в ядрі. Переходимо до наступного пункту (до безпосередньої теми даної статті) – конфігурації USB принтера

Я дуже сподіваюся, що ви маєте RedHat Printtool. Це чудова програма з прекрасним інтерфейсом для зміни файлу / etc / printcap (тут знаходяться дані вашого принтера). Ця програма також допоможе вам роздрукувати тестові сторінки (хоча, я думаю, що при роздруківці тестових сторінок можуть виникнути проблеми). Справа в тому, що мені довелося перезапускати свій lpd демон кожен раз після друку кожної тестової сторінки: (. Пакет Printtool поставляється разом з RedHat і інсталюється як частина контрольної панелі. Для користувачів Debian цей пакет відомий як. Deb файл. Сама остання версія (якщо не випустили новіше, поки я пишу цю статтю) – 3.41-4. Користувачі Debian можуть закачати її по цією адресою, А користувачі RedHat по цього.

Після всіх “закачувань” і установок рухаємося далі. Набираємо cd /dev. Якщо ваша USB директорія знаходиться тут, то набираємо ls і знаходимо файл під ім’ям lp0. Якщо цей файл присутній, тоді вам залишається тільки настроїти свій принтер за допомогою пакета Printtool.

А от якщо цього файлу немає, тоді доведеться його створити: mknod /dev/usb/lp0 c 180 0

Тепер ви маєте lp0, з його допомогою ви зможете друкувати на свій USB принтер. Якщо ж у вас виникнуть якісь проблеми з конфігурацією (конфігуруванням) принтера, то рекомендую вам почитати USB HOWTO

Далі. Запускаємо Х’и (як правило, startx) І конфігуруємо принтер. Відкриваємо XTerm (Або інший термінал-емулятор за вибором) і набираємо printtool. “Кількома” на кнопці Add, Вибираємо “Local Printer” і натискаємо ОК. Тепер переходимо в текстове вікно секції “Printer Device” і набираємо /dev/usb/lp0. Далі за допомогою кнопки вибору (select) вибираємо “робочий” драйвер вашого принтера. За більш повною інформацією звертайтеся до Printing HOWTO. Після вибору драйвера “клікаємо” на ОК. Далі виходимо в головне вікно (там повинен з’явиться ваш принтер) і друкуємо ASCII і Postscript тестові сторінки.

Додаток “А”. Компіляція ядра

Вище я навів приклади настройки USB принтера для 2.2.х ядер. Тепер я спробую ввести в той же курс володарів 2.3.х ядер (в тому випадку, якщо ви відмовилися ставити вищевказаний патч на свою машину, навіть якщо у вас ядро ​​”старше” 2.2.14). Цей курс, головним чином, буде складатися з прикладу компіляції ядра для USB Support. Власникам 2.2.х ядер це теж може стати в нагоді.

Після включення всіх необхідних пунктів у “USB Support” (При компіляції ядра – це описано вище) для нормальної роботи USB принтера, набираємо наступне (по порядку):
make dep
make clean
make bzImage
make modules
make modules_install

Якщо в процесі роботи “полізуть” які-небудь помилки, я вам рекомендую повернутися назад до вікна компіляції, а ще краще перед цим почитати Kernel-HOWTO. і спробувати настроїти ще раз своє ядро.

Тепер нам потрібно скопіювати наше новостворене ядро ​​в /boot директорію, щоб LILO міг знайти і нове і старе ядро ​​при завантаженні. Робимо це так: cp arch/i386/boot/bzImage /boot/vmlinuz-usb. Тепер вашим улюбленим редактором (Pico або Vim – не вгадав?) Відкриваємо файл lilo.conf (cd /etc/lilo.conf). Знаходимо рядок (вона мені дуже подобається 🙂 default=Linux. Цей рядок говорить про те, що за замовчуванням на вашому комп’ютері вантажиться Linux OS. Опускаємося нижче і знаходимо рядки
image=/boot/vmlinuz
label=Linux
read-only.

Міняємо рядок label=Linux на label=old. Цей “old” нам знадобиться в тому випадку, якщо наше нове ядро ​​з підтримкою USB не запуститься (всяке буває). Якщо нове ядро ​​не запускається, тоді в LILO набираємо “old” (Без лапок) і пробуємо скомпілювати старе ядро ПРАВИЛЬНО (Читайте Kernel-HOWTO).

Тепер вводимо ще одну секцію в lilo.conf (Бажано вище тієї секції, де ми ввели label = old):
image=/boot/vmlinuz-usb
label=Linux
read-only

Як ви зрозуміли, ця секція вводить в LILO інформацію про те, що у нас з’явилося нове ядро ​​(з підтримкою USB). Тепер воно буде грузиться за замовчуванням. Зберігаємо введену інформацію і виходимо з Editor’а. Набираємо в консолі lilo. Якщо немає ніяких помилок, то залишається тільки набрати shutdown -r now (Для перезавантаження системи).

Після перезавантаження, LILO буде чекати від вас подальших “вказівок”. Ви можете набрати old (для завантаження старого ядра – В тому випадку, якщо нове ядро ​​налаштоване неправильно і видає помилки), linux (для завантаження нового ядра з підтримкою USB) або натиснути TAB для виведення всіх присутніх операційних систем на вашому ПК. УДАЧІ

При написанні цієї статті були використані наступні матеріали:
сайт Linux-USB.org (На цьому сайті знаходиться купа документації, в тому числі і USB-HOWTO, а також link’і на різні сайти, де згадується слово Linux. Одним словом, не проходьте повз)


Linuxdoc.org (Документації – видимо-невидимо. Більше документації я бачив тільки на російських сайтах, наприклад, тут 🙂

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*