1. 程式人生 > >嵌入式Linux下CUPS移植

嵌入式Linux下CUPS移植

一、交叉編譯      交叉編譯的過程不贅述,跟其他開源軟體類似。編譯後將安裝路徑裡的cups資料夾(後用[cups]代替)拷貝到板子上 二、配置並啟動服務      首先注意編譯核心時需要選擇usb printer surpport,支援usb印表機。      把[cups]/bin和[cups]/sbin新增到環境變數      ARM下沒有安裝程式,不會自動啟動,所以一定注意手動啟動:      >cupsd      (可以把啟動指令cuped寫入rcS,開機自動啟動cups服務)      啟動時最好先連線印表機       其他配置:       可以在板子上編輯[cups]/etc/cups/cupsd.conf        將LogLevel info       改為LogLevel debug       就可以在[cups]/var/log/cups/error_log中看到詳細的debug資訊       更多其他配置都在[cups]
/etc/cups/cupsd.conf中進行,對其進行編輯即可。 三、三星系列印表機使用     在官網上下載三星印表機驅動uld        將三星的uld中(下用[uld]代替)的[uld]/arm/rastertospl  拷貝到:        板子[cups]/lib/cups/filter/ 下        將[uld]/arm/libscmssc.so 拷貝到        板子的/lib下        在[uld]/arm/noarch/share/ppd下找到自己印表機型號對應的ppd        我的ML-2166W用的ppd是:Samsung_ML-2160_Series.ppd        將ppd拷貝至板子的[cups]
/share/cups/model下        將已連線的ML-2166W印表機新增至CUPS配置,執行指令:        lpadmin -p [NAME] -E -v [DEVICE] -m [PPD]        例如:進入[cups]/share/cups/model下執行        >lpadmin -p ML-2166W -E -v /dev/lp0 -m  Samsung_ML-2160_Series.ppd        然後執行        >lpstat -t   (檢視印表機狀態)       我的輸出是:

      scheduler is running
      no system default destination
      device for ML-2166W: ///dev/lp0
      ML-2166W accepting requests since Sun Oct 3 18:57:08 2004
      printer ML-2166W is idle. enabled since Sun Oct 3 18:57:08 2004

      說明配置成功,同時可以在[cups]/etc/cups/printer.conf中看到響應的配置       設定預設印表機,執行      >lpoptions -d ML-2166W       把ML-2166W設為預設印表機      然後就可以列印ppm的影象檔案了      例如列印SD卡上的report.pbm檔案:      >lp /mnt/sdcard/report.pbm      注意png jpg等影象檔案還不能列印,如果需要列印,則要安裝ghostScript      通過GS把png等轉換為pbm,再列印 四、部分錯誤解決方式:        報錯: lpadmin: File device URIs have been disabled! To enable, see the FileDevice directive in "/etc/cups/cupsd.conf".        解決: 編輯cupsd.conf,加入一行:
... # Allow new printers to be added using device URIs "file:/filename" FileDevice Yes ...
五、直接使用foo2zjs搞定部分型號印表機
   如果你使用的印表機foo2zjs已支援,可以不使用cups,直接用foo2zjs將ppm檔案轉換成印表機支援的流,傳入印表機即可列印。
   1、交叉編譯foo2zjs
   2、如果你的印表機需要韌體,通過getweb下載韌體,並轉換成dl檔案
   (以上兩步只說思路,具體內容太多,可以自己搜尋)
   3、將韌體刷入印表機(以惠普的hp1020為例)
   > cp sihp1020.dl /dev/lp0  
   4、將ppm格式轉換為印表機支援的流進行列印
   >./foo2zjs -p9 -r600x600 test.pbm > /dev/lp0
   注意:
   部分由foo2xqx支援的型號,引數與foo2zjs不同,例如惠普的p1007
   需要通過-z來選擇型號
>./foo2xqx -z1 -p9 -r600x600 test.pbm > /dev/lp0
   具體的引數可以通過
   >./foo2zjs -h
   檢視
http://blog.sina.com.cn/s/blog_9da24f3b0101otng.html

相關推薦

嵌入式LinuxCUPS移植

一、交叉編譯      交叉編譯的過程不贅述,跟其他開源軟體類似。編譯後將安裝路徑裡的cups資料夾(後用[cups]代替)拷貝到板子上 二、配置並啟動服務      首先注意編譯核心時需要選擇usb printer surpport,支援usb印表機。  

嵌入式LinuxALSA音訊架構ALSA-lib移植與編譯心得

*************************************************************************************************************************** 作者:EasyWave

嵌入式LinuxQt的中文顯示

tdi IT too file ron main.c nts 環境變量 copy 一般情況下,嵌入式Qt界面需要中文顯示,下面總結自己在項目中用到的可行的辦法 1,下載一種中文簡體字體,比如我用的是”方正準圓簡體“,把字體文件放在ARM開發板系統的Qt字庫中,即/usr/l

LVGUI在嵌入式LINUX的編譯

    本文比較亂,算是一個隨筆,記錄一下將LVGUI交叉編譯到MIPS架構的嵌入式Linux裝置中,主要關於自己編寫對應的makefile來對LVGUI進行編譯。 首先,Makefile 最好和lv的幾個工程目錄在同一目錄下,如下圖: 其次,為了讓標頭檔案(h檔

嵌入式LinuxCAN匯流排配置

題背景:本人開發板使用的是迅為iTOP4412精英版,額外購買的CAN/485模組,如下圖:   但是插上模組之後,在終端使用ifconfig can0命令發現開發板讀不到CAN裝置,顯示“ifconfig: SIOCGIFFLAGS: No such device”。如下圖:   在重新配置核心後,可以讀出

嵌入式 Linux開發Kernel移植(二)——kernel核心配置和編譯

嵌入式 Linux開發Kernel移植(二)——kernel核心配置和編譯    本文選擇linux 2.6.35.7版本kernel進行實踐。一、linux kernel原始碼目錄分析Kbuild,K

嵌入式Linux串列埠除錯

By Toradex秦海 1). 簡介 UART串列埠是嵌入式裝置最為常用的除錯和通訊介面之一,無論是RS232還是RS422/485都有著非常廣泛的應用,因此本文就基於嵌入式Linux演示在User Space進行串列埠除錯。 本文所演示的平臺來自於Toradex Co

嵌入式Linux中文字型顯示

By Toradex 胡珊逢 1). 簡介 嵌入式平臺預設釋出的嵌入式Linux版本通常並不包含中文字型支援,本文就通過Toradex計算機模組平臺來演示如何新增中文字型的顯示,因為Toradex的Linux釋出是基於OpenEmbedded/Yocot 專案編譯的,因此這

基於嵌入式linux的libcurl開發

1、ubuntu 交叉編譯環境搭建: 原始碼:curl-7.5.31.tar.gz (https://curl.haxx.se/download.html) 交叉編譯環境:arm-none-linux-gnueabi- [email protected]

嵌入式LinuxGstreamer程式設計示例

By Toradex秦海 1). 簡介 Gstreamer多媒體開發框架是當前嵌入式Linux裝置最為常用的多媒體應用處理平臺,關於Gstreamer開發框架的介紹請參考我們過往發表的其他相關文章,這裡不再贅述而是直接展示使用C語言基於Gstreamer進行攝像頭處理的示例

嵌入式 linux利用backtrace追蹤函式呼叫堆疊以及定位段錯誤

一般察看函式執行時堆疊的方法是使用GDB(bt命令)之類的外部偵錯程式,但是,有些時候為了分析程式的BUG,(主要針對長時間執行程式的分析),在程式出錯時打印出函式的呼叫堆疊是非常有用的。在glibc標頭檔案"execinfo.h"中聲明瞭三個函式用於獲取當前執行緒的函式呼

嵌入式linux復位音效卡驅動

最近在做一個對講系統,平臺是tiny6410搭載的linux.遇到的問題是對講一段時間後音效卡會掛掉,報出的錯誤是s3c64xx_dma_stop: channel still active.經過長

ARM平臺嵌入式Linux使用3G/4G 模組

簡介 隨著工業發展,嵌入式裝置接入網路的需求日益增多,在沒有有線或者無線乙太網的環境下,直接通過3G/4G Modem連線運營商網路來接入網際網路不失為一個好方法,本文就著重介紹基於ARM平臺的嵌入式裝置在Embedded Linux下使用3G/4G Modem的方法。 目

嵌入式LinuxRTC時間的讀寫

參考資料 首先下載ntp的原始碼 解壓縮之後,編譯: ./configure --prefix=/opt/ntp-arm --exec-prefix=/opt/ntp-arm  --host=arm-linux --enable-all-clocks --enable-parse-cloc

嵌入式linux usb wifi移植[s3c6410平臺 轉載]

http://blog.chinaunix.net/uid-8048969-id-3251135.html 重新編譯關於WIFI方面的modules,然後編譯wifi模組的驅動。把模組設定成開機載入模式。

【OpenCV移植系列】02. OpenCV 1.0 在嵌入式Linux 上的移植

1. OpenCV簡介 OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個基於(開源)發行的跨平臺計算機視覺庫,可以執行在Linux、Windows和Mac OS作業系統上。它輕量級而且高效——由一

嵌入式 Linux的動態庫原理和使用

1.編寫庫的標頭檔案和原始檔.   2.把所有涉及到的原始檔用如下方式編譯為目標檔案:   #  g++/gcc  -g  -c  -fPIC  -o  library1.o  library1.cpp   #  g++/gcc  -g  -c  -fPIC  -o  library2.o  libra

ARM平臺嵌入式LinuxSPI裝置連線

在嵌入式ARM平臺裝置上,經常有在一個SPI bus上面掛接一個或者多個SPI裝置的需求,由於掛載一個裝置的情況比較簡單,本文主要就在嵌入式Linux環境下掛載多個SPI裝置進行說明。 本文所採用的硬體為Toradex 公司Colibri VF61計算機模組和開發載板,

嵌入式 Linux段錯誤的原因和除錯方式

[email protected]:~/segfault$ catchsegv ./segfault3 Segmentation fault (core dumped) *** Segmentation fault Register dump: EAX: 00000000 EBX: 00fb3f

嵌入式Linux基於FFmpeg的視訊硬體編解碼

摘要: 對FFmpeg多媒體解決方案中的視訊編解碼流程進行研究。結合對S3C6410處理器視訊硬體編解碼方法的分析,闡述了嵌入式Linux下基於FFmpeg的H.264視訊硬體編解碼在S3C6410處理器上的實現方法,為嵌入式多媒體開發提供參考。 引言 目前,智慧手機、PDA和平板電腦等越來越多的嵌入式裝