LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
Search this Thread
Old 11-13-2008, 04:52 AM   #1
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Rep: Reputation: 0
laser printer support for ARM target on linux 2.6


hi All,
I am working on a embedded system which is having ARM processor. I want to interface laser printer to it. I have linux kernel 2.6 which is having support for only HP deskjet printers for USB interface.

How can i add support for laser jet printer drivers(Network / USB interface) in my kernel?

Waiting for a favorable reply.
 
Old 11-13-2008, 07:25 AM   #2
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
I don't think printer drivers are actually kernel modules. There are some config settings such as CONFIG_USB_PRINTER but these drivers just enable a serial interface to the printer via USB. For printers attached to the ethernet port, you obviously need a working ethernet port, so compile the necessary drivers for the hardware on your board.

The actual printer control can be accomplished through a number of mechanisms. One of the most popular by far is ghostscript + foomatic filters + gutenprint. Since you mention HP laserjet printers, you're primarily interested in ghostscript + foomatic + hpijs driver.

What I would suggest, especially if you have a spare x86 machine, is to install a base system - no gui or other unnecessary toys. From there, get your network and USB printers of interest set up and determine the minimum software you will need to build for your ARM board to be able to get the best print quality from those printers. This is much easier than fiddling with an ARM board to figure things out, especially if that board has no keyboard and screen (do you really want to do this work on a slower computer which may have no HD storage and using a serial port?) How you configure your ARM board later on is another issue.
 
Old 11-14-2008, 12:05 AM   #3
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by pinniped View Post
I don't think printer drivers are actually kernel modules. There are some config settings such as CONFIG_USB_PRINTER but these drivers just enable a serial interface to the printer via USB. For printers attached to the ethernet port, you obviously need a working ethernet port, so compile the necessary drivers for the hardware on your board.

The actual printer control can be accomplished through a number of mechanisms. One of the most popular by far is ghostscript + foomatic filters + gutenprint. Since you mention HP laserjet printers, you're primarily interested in ghostscript + foomatic + hpijs driver.

What I would suggest, especially if you have a spare x86 machine, is to install a base system - no gui or other unnecessary toys. From there, get your network and USB printers of interest set up and determine the minimum software you will need to build for your ARM board to be able to get the best print quality from those printers. This is much easier than fiddling with an ARM board to figure things out, especially if that board has no keyboard and screen (do you really want to do this work on a slower computer which may have no HD storage and using a serial port?) How you configure your ARM board later on is another issue.


Hi pinniped,
Thanks for your prompt reply.
Actually i am confused with your sentence saying to install linux on spare x86 machine and figure out necessary software needed to support laser printer. but my doubt is, these necessary softwares needed for x86 platform are given by printer manufacturer/ redhat in form of binaries. I can not get the source code so that i can cross compile it for ARM. How can i figure our that, which softwares are necessary for me for this printer and how can i use these softwarse for ARM?

Hope i have explained my query properly.
 
Old 11-14-2008, 03:52 AM   #4
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
If there is no source code then you will need to ask the manufacturers about support for ARM. If you're lucky there will already be something; sometimes there is nothing and no reasonably priced solution.
 
Old 11-14-2008, 11:21 PM   #5
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by pinniped View Post
If there is no source code then you will need to ask the manufacturers about support for ARM. If you're lucky there will already be something; sometimes there is nothing and no reasonably priced solution.
I have browsed my filesystem which is shared to my board, i found all lp commands' (lpadmin, lpq, lpr etc) binaries, a .PPD file for HP laserjet printer located at "~/filesys/usr/share/cups/model/laserjet.ppd".

So i am planning to configure one of the available HP laserjet printer as my default printer through "lpadmin" and want to access Network printer through my board.

I believe that in my kernel i found CUP and .PPD file/ folder, my kernel should allow me to access this printer.

Please give comments on my approach.
 
Old 11-15-2008, 12:10 AM   #6
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
I can't comment much because I don't know enough of what you want to achieve. All I know is that you have an ARM board and you want to connect 'an HP printer' (whatever that may be) via an ethernet or USB port. Do you want to make a printer hub or some such device or what? Why only HP? See - I have no idea of what you're doing.
 
Old 11-15-2008, 03:16 AM   #7
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by pinniped View Post
I can't comment much because I don't know enough of what you want to achieve. All I know is that you have an ARM board and you want to connect 'an HP printer' (whatever that may be) via an ethernet or USB port. Do you want to make a printer hub or some such device or what? Why only HP? See - I have no idea of what you're doing.
Actually we are developing firmware for medical instrument. For that we need any one of the laserjet printer support for experiment. So i select HP as its easily available and popular. This product will give prints of analysis result of patient which can have images even taken by doctors while surgeries.
 
Old 11-15-2008, 04:35 AM   #8
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
Ah, OK. Black/white only or color? There are still so many things to look at; for example, if the ARM board's resources will allow, you may as well support the IPP protocol and PostScript printers (since GS will have to be installed to use the hpijs software anyway). For PS you only need to support a generic BW and Color printer - say 300 or 600 dpi single-side only (though for medical equipment I doubt anyone will ever use duplex printing).

How will a user configure the device to use? This may be a good job for CGI and a lightweight web server. Then again, if you have CUPS set up appropriately you don't even need to bother with CGI and a web server, and it supports IPP as well - although you could have some issues configuring through the ethernet when planning to use an ethernet printer.

Well, good luck - there's still a lot to think through and a lot to try out. CUPS would be nice, but if it takes too much space you'll have to settle for other means of managing printers.
 
Old 11-15-2008, 07:32 AM   #9
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by pinniped View Post
Ah, OK. Black/white only or color? There are still so many things to look at; for example, if the ARM board's resources will allow, you may as well support the IPP protocol and PostScript printers (since GS will have to be installed to use the hpijs software anyway). For PS you only need to support a generic BW and Color printer - say 300 or 600 dpi single-side only (though for medical equipment I doubt anyone will ever use duplex printing).

How will a user configure the device to use? This may be a good job for CGI and a lightweight web server. Then again, if you have CUPS set up appropriately you don't even need to bother with CGI and a web server, and it supports IPP as well - although you could have some issues configuring through the ethernet when planning to use an ethernet printer.

Well, good luck - there's still a lot to think through and a lot to try out. CUPS would be nice, but if it takes too much space you'll have to settle for other means of managing printers.
I am planning for color printer as we need to print patients snap of surgeries. I am planning to go with CUPs to begin with as i felt that my kernel is having support for cups. The reason behind i feel that my monta vista linux kernel is having support for cups is, i found simillar directories/ files as redhat kernel in my ARM's kernel. I also found laserprinter.ppd in my filesystem.

So, i want to ask that how can i confirm that my monta vista linux kernel is having support for cups. And how can i start my cup server on port 631? I have modified /etc/cups/cupd.conf file by adding "Listen 127.0.0.1:631" in my board's file system. But i got the message that "Unable to contact to server". So, i could not start cups server to go further.
 
Old 11-15-2008, 03:10 PM   #10
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
Go through your source trees and scripts and see if there is an option to build and configure CUPS. You may have to edit the scripts to start CUPS at boot time. Since you're using MontaVista Linux, you'll probably get a better response if you check out their forum.
 
Old 11-17-2008, 06:03 AM   #11
chiragshah
LQ Newbie
 
Registered: Nov 2008
Posts: 8

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by pinniped View Post
Go through your source trees and scripts and see if there is an option to build and configure CUPS. You may have to edit the scripts to start CUPS at boot time. Since you're using MontaVista Linux, you'll probably get a better response if you check out their forum.
Finally i was able to print .jpg image on my b/w printer. But i am not able to print simple .vi file or .txt file on same printer under same configurations. I think printer is not taking it as printable format. so it is showing in queue in reply of "lpq" command but printer is neglecting it because it is not in printable format.

My bottom line confusion is, how to print .txt or .vi files?
 
Old 11-17-2008, 03:54 PM   #12
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
Quote:
Originally Posted by chiragshah View Post
My bottom line confusion is, how to print .txt or .vi files?
You need to put them through filters; the first to convert to PostScript and the second to actually print. Of course if you have a filter which can print this stuff directly to the printer without the PostScript stage that would be nice. Remember that if you're dealing with GhostScript for printing, everything must be PS or PDF for GS to be able to feed the rendered image to the printer. If you printed a raw jpg it was probably stuffed into a PS file then processed (although in principle the software can cheat and skip the PS conversion since it will only be reading out and rendering the jpg anyway).
 
Old 01-22-2012, 11:32 AM   #13
andyew
LQ Newbie
 
Registered: Sep 2011
Posts: 3

Rep: Reputation: Disabled
How do you cross-compile Gutenprint on your ARM board? What ./configure settings you used?

I'm using iMX53 Quick Start Board and LTIB to cross-compile the Gutenprint or CUPS but get error when the building process is executing binary file (Gutenprint: ./extract-strings & CUPS: ./mantohtml). I have no idea how to suppress this. Any ideas?

Thanks alot for reading my question.
 
  


Reply

Tags
embedded, printer, system


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Laser printer, cheap to operate, Great driver support! Lola Kews Linux - Hardware 2 11-13-2007 01:26 AM
LXer: Configurable ARM-powered SoCs target Linux devices LXer Syndicated Linux News 0 03-09-2007 11:46 AM
Laser printer for Linux senlleiro Linux - Hardware 1 10-03-2006 08:10 AM
USB Laser jet printer interface on AT91RM9200 target with ARM Linux 2.6.x kernel vers jagan_pss Linux - Hardware 1 02-08-2006 11:46 AM


All times are GMT -5. The time now is 05:13 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration