Hello I'm working on a project where I have to send print commands to a USB printer (HP Deskjet D2660) from a Mini2440 ARM9. I was wondering if anyone here knows about a Linux image with printer utilities/support which I can download somewhere or find on the CD? I've been searching for days but with no luck. Would it else be better if I made the image myself? I've tried that too, by trying to cross compile CUPS and HPLIP, but I keep getting issues and errors while trying to cross compile. Configure seems to go fine, but make always gives errors. I really need guidance on this. I've only been working with Linux since November last year, so I still have lots to learn.
Image with printer support
I think I successfully cross compiled CUPS. I did a configure, make and make install without getting errors. I had to remove man and doc directories from the makefile though. And it seemed very important to use chown to get ownership of everything. And also, I couldn't do make install without putting sudo in front of it. Now I'm going to try to cross compile HPLIP. When that's successful too, I'll try to get it on my mini2440.
Considering I only need the driver for the HP Deskjet D2660 printer, couldn't I just copy said driver to the mini2440?
I think I'm going to try to cross compile the drivers with Buildroot. Hopefully that will get me somewhere.. More info on what I found out and what I'm going to do now: http://www.friendlyarm.net/forum/topic/439?lang=en#2880 If everything else fails I'll try to look into a printer that has better support for Embedded Linux. Regards, PJvG
Hello again! I don't know if anyone is reading this but I'm sure it might help someone someday again.. I wanted to share with you that I have been able to cross compile HPIJS with Buildroot. First of all I followed the Buildroot usage documentation located here: http://buildroot.uclibc.org/buildroot.html After having obtained Buildroot I added the HPLIP package by following the tutorial "Makefile for autotools-based packages" in the Buildroot documentation. (It's located under "Adding new packages to Buildroot") These are the steps I took: First cd to the package directory in your buildroot directory .../buildroot-2010.02/package/ Make directory hplip with "mkdir hplip" and enter it with "cd hplip" Create a file named Config.in with "touch Config.in" Edit the file with "gedit Config.in" Don't have to be much, these are my contents of the file: config BR2_PACKAGE_HPLIP bool "hplip" help HP Linux imaging and printing. Print, scan and fax drivers for Linux. http://hplipopensource.com/ Next go back to the package directory ("cd ..") and edit the Config.in in that directory. Simply add this line: source "package/hplip/Config.in" This is where I placed it: ... 66. source "package/gamin/Config.in" 67. source "package/hplip/Config.in" 68. source "package/icu/Config.in" ... Now go back to the hplip directory ("cd hplip") Do "touch hplip.mk" and "gedit hplip.mk" These are my contents of the file hplip.mk: (I configured it for hpijs only. --build, --host, --target and --prefix all are unneeded because they are being taken care off by Buildroot) ################################################################################ # # hplip # ################################################################################ HPLIP_VERSION:=3.10.2 HPLIP_SOURCE:=hplip-$(HPLIP_VERSION).tar.gz HPLIP_SITE:=http://prdownloads.sourceforge.net/hplip/ HPLIP_INSTALL_STAGING = YES HPLIP_INSTALL_TARGET = YES HPLIP_CONF_OPT = --enable-shared --disable-network-build --enable-hpijs-only-build --enable-hpijs-install --enable-foomatic-ppd-install HPLIP_DEPENDENCIES = $(eval $(call AUTOTARGETS,package,hplip)) After making these files go back to the buildroot directory with "cd ../..". (You should be in .../buildroot-2010.02/ again now) Run "make menuconfig" As you can see the HPLIP package should be available now. Choose the target architecture (in my case arm920t) and other options. Choose the packages you want in your root file system (probably going to be at least cups and perhaps jpeg and png libraries.. I'm not sure what precisely is needed for hplip) Don't choose hplip just yet!! Else make will fail! because Buildroot wants some of hplip's dependencies to be made after hplip. (I suppose this could be fixed by assigning the right dependencies in the hplip.mk file after this line: "HPLIP_DEPENDENCIES = ") After you're done with "make menuconfig" simply run "make". You'll see the toolchain and the libraries for your root file system will compile... For my project this takes about 2 hours, so best is to take a coffee or something while you let your build system run. When your system is done with make run "make menuconfig" again, this time choose the hplip package, exit the menuconfig. Run "make" again, this will only take a few minutes now. I managed to get no errors on this. So this should do the trick to cross compile HPLIP with Buildroot. ;) I'm still struggling with actually getting my cross compiled root file system on my embedded computer. I will notify you when I've done that successfully and when I managed to print from the embedded system. Thanks, PJvG
I am trying to create PDF files using a Mini2440 ARM9. I am about to embark on cross compiling CUPS-pdf. Were you able to cross compile CUPS? What about the line printer deamon - is lpd functioning for you? Any hints you could provide would be appreciated.
Hello Allen, I was successful in cross compiling CUPS manually as well as with Buildroot. However, I did not configure with the option for pdf on, for I had no use of it. I haven't had the chance to test lpd yet, I had planned to do that later this week. Regards, PJvG
Hello PJvG, Thanks so much for this feedback. Let me know how it goes with lpd if you ever get around to it. Thanks, Allen
Hi Allen, I managed to get a working root file systems with cups and hplip libraries on the Mini2440. However, I'm having problems with getting the cups scheduler to run.. Also trying to do lpd simply returns something like "connection to 127.0.0.1 refused". I can't remember the exact message.. I think I should look more in how to configure cups. It might be better for me to experiment with cups on a PC, instead of doing it directly on an embedded platform. Thanks, PJvG
Hello anyone who's reading this. I came to tell you the project I've been working on isn't an Embedded Linux project anymore. The people I'm working for have let me know it was taking too long with Linux, so now they want me to use Windows. I won't be using the Mini2440 FriendlyARM Embedded Computer anymore, instead I'm going to use a laptop with Windows 7. I enjoyed working with the Mini2440, it's a nice thing.. too bad I had only two months to play with it. Maybe in the future I'll get to do more with it. :) Regards, PJvG
Hi PJvG, I am a newbie to linux. I am trying to cross compile CUPS to ARM9 architecture. I am using Freescale imx25pdk and ltib to cross build. The CUPS seems to be building fine. But on the target board when i try to configure cups by editing cupsd.conf file I find that the paths mentioned in the file for socket listening are the ones on the development host. That is instead of /usr/var/run/cups/cups.sock it was /home/ltib/ltib/tmp/opt/freescale/rootfs/arm/usr/var/run/cups/cups.sock. I also noticed that when i type "cups-config --datadir" in the command line it gives the path /home/ltib/ltib/tmp/cups//opt/freescale/rootfs/arm//usr/share/cups and when i do lpinfo -v it says lpinfo: cups-deviced failed to execute. I believe all these problems are because of the wrong paths being taken while building. Please help me if you happen to know the solution to these problems. I don,t know where i am going wrong. Thank you.
i am trying to cross compile CUPS for arm, but i am getting error like Generating localization strings... ./genstrings: 1: Syntax error: word unexpected (expecting ")") make[1]: *** [genstrings] Error 2 make: *** [all] Error 1 i dont know how to solve this, please anyone help me, how to solve this...
Hi Parvathi, For arm, we have a readymade package for cups. its "cups_1.2.12-r2.1_armv5te.ipk". So no need to cross compile. Just download and install it on ur board. Let me know if it works for you at pankajcambure@gmail.com. All the best Pankaj C
Hi PJvG, I would like to know if you finally suceeded in compiling CUPS and printing from your ARM. I am trying to cross compile CUPS for an ARM Cortex A9, running Debian And since a lot of people seem to have trouble doing this i'd like to know if we are not trying something we can't achieve. We are trying to do this because we want to install and configure a printer on our board, we only have the .PPD file, everything is working fine with CUPS on our x86 architecture under ubuntu, but the final project will be on ARM, do you think that cross compiling CUPS for our ARM is possible or do you see an other easier solution, giving that we are 2 students, from engineering school involved in the project. The final aim in only to print a given image and not to use all the functionality of the printer. Best regards.