[arm-linux]使用arm驱动hp1020激光打印机
上次讲到交叉编译ghostscript,今天就来看看如何利用gs等软件,在arm开发板上驱动激光打印机,手头只有usb接口的hp 1020 plus,就锁定这款吧。
1)要想Linux支持usb打印机,需要在内核选项中 <*> USB Printer support
2)在网络上搜索,hp 1020 plus如果想在linux下使用,需要一个叫foo2zjs的驱动程序(http://foo2zjs.rkkda.com/),能否通过交叉编译,只能祈求god bless咯
(1)解压foo2zjs,查看Makefile,直接添加CC=arm-linux-gcc,编译。
(2)编了一会就停止了报错make: *** 没有规则可以创建“all”需要的目标“printer-profile”。
幸运的是此时foo2zjs的可执行文件已经编译完成并可用了。
3)下面的操作在arm开发板上进行:
(1)插上usb打印机
/ # usb 1-1: new high speed USB device using s1r72v17 and address 2
usb 1-1: Product: HP LaserJet 1020
usb 1-1: Manufacturer: Hewlett-Packard
usb 1-1: SerialNumber: JL3ESMZ
usb 1-1: configuration #1 chosen from 1 choice
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17
(2)mdev -s生成lp0节点,位于/dev/lp0
(3)使用gs生成pbm文件
./gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPERSIZE=a4 -r300x300 -sDEVICE=pbmraw -sOutputFile=test.pbm test.pdf
(4)调用foo2zjs打印pbm文件
./foo2zjs -z1 -p9 -r600x600 test.pbm > /dev/lp0
可以看看foo2zjs的帮助,修改附带参数
/ # ./foo2zjs -h
Usage:
foo2zjs [options] <pbmraw-file >zjs-file
Convert Ghostscript pbmraw format to a monochrome ZJS stream,
for driving the Minolta/QMS 2300 DL network color laser printer
and other Zenographics-based black and white printers.
gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE \
-sPAPERSIZE=letter -r1200x600 -sDEVICE=pbmraw \
-sOutputFile=- - < testpage.ps \
| foo2zjs -r1200x600 -g10200x6600 -p1 >testpage.zm
foo2zjs [options] <bitcmyk-file >zjs-file
foo2zjs [options] <pksmraw-file >zjs-file
Convert Ghostscript bitcmyk or pksmraw format to a color ZJS stream,
for driving the Minolta/QMS 2300 DL network color laser printer
N.B. Color correction is expected to be performed by ghostscript.
gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE \
-sPAPERSIZE=letter -g10200x6600 -r1200x600 -sDEVICE=bitcmyk \
-sOutputFile=- - < testpage.ps \
| foo2zjs -r1200x600 -g10200x6600 -p1 >testpage.zc
Normal Options:
-c Force color mode if autodetect doesn't work
-d duplex Duplex code to send to printer [1]
1=off, 2=longedge, 3=shortedge
4=manual longedge, 5=manual shortedge
-g <xpix>x<ypix> Set page dimensions in pixels [10200x6600]
-m media Media code to send to printer [1]
1=standard 2=transparency 3=glossy 257=envelope
259=letterhead 261=thickstock 262=postcard 263=labels
-p paper Paper code to send to printer [1]
1=letter, 5=legal 7=executive 9=A4 11=A5 13=B5
20=env#10, 27=envDL 28=envC5 34=envB5 37=envMonarch
-n copies Number of copies [1]
-r <xres>x<yres> Set device resolution in pixels/inch [1200x600]
-s source Source code to send to printer [7]
1=upper 2=lower 4=manual 7=auto
Code numbers may vary with printer model
-t Draft mode. Every other pixel is white.
-J filename Filename string to send to printer []
-U username Username string to send to printer []
Printer Tweaking Options:
-u <xoff>x<yoff> Set offset of upper left printable in pixels [0x0]
-l <xoff>x<yoff> Set offset of lower right printable in pixels [0x0]
-L mask Send logical clipping values from -u/-l in ZjStream [3]
0=no, 1=Y, 2=X, 3=XY
-A AllIsBlack: convert C=1,M=1,Y=1 to just K=1
-B BlackClears: K=1 forces C,M,Y to 0
-A, -B work with bitcmyk input only
-P Do not output START_PLANE codes. May be needed by some
some black and white only printers.
-X padlen Add extra zero padding to the end of BID segments [16]
-z model Model: 0=2300DL 1=hp1020 [0]
Debugging Options:
-S plane Output just a single color plane from a color print [all]
1=Cyan, 2=Magenta, 3=Yellow, 4=Black
-D lvl Set Debug level [0]
-V Version $Id: foo2zjs.c,v 1.84 2009/03/07 21:46:43 rick Exp $
打印效果没的说,就是打印大文件速度慢了点,最快的左边那张也要10s
[arm-linux]使用arm驱动hp1020激光打印机相关推荐
- arm linux免驱usb声卡,arm linux利用alsa驱动并使用usb音频设备
一.背景: arm linux的内核版本是3.13.0 二.准备工作 添加alsa驱动到内核中,也就是在编译内核的时候加入以下选项: 接下来就重新编译内核即可 三.交叉编译alsa-lib和alsa- ...
- linux usb网卡驱动 ko,qf9700 USB网卡在x86 linux和arm linux上的驱动安装以及配置
最近要在一块老板子上面移植openwrt,需要扩展网口,于是选择了qf9700这款USB网卡,附赠的光盘里面有提供在linux下面安装的驱动源代码,所以我们要自己编译驱动源代码生成内核加载模块,加载模 ...
- arm linux i2c 总线驱动,ARM-Linux中I2C总线驱动开发
摘 要: 针对I2C总线的特点,Linux内核中定义了I2C驱动体系结构.在分析Linux的I2C总线驱动体系结构基础上,介绍了在S3C2410中设计I2C总线驱动的方法. 关键词: ARM-Lin ...
- 嵌入式arm linux工控机,ARM工控机和X86嵌入式工控机的区别
四信工控机采用ARM架构的处理器结合Android操作系统,动力强劲,轻盈优雅,为移动互联网时代的智能售货机带来全新的解决方案.ARM工控机和X86有什么不一样的地方呢? arm和x86这两个架构之间 ...
- ffmpeg arm linux编译,arm linux 移植 ffmpeg 库 + x264 + x265
背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...
- glib 2.0 arm linux,为ARM编译Glib
一些有用的参考: http://gtk-doc-cn.googlecode.com/svn/docs/glib/glib-cross-compiling.html http://blog.sina.c ...
- arm linux 中断优先级,ARM中断处理过程
以s3c2440 ARM9核为例: 一:s3c2440 ARM处理器特性: 1.S3C2440支持60个中断源,含子中断源: 2.ARM9采用五级流水线方式: 3.支持外部中断和内部中断: 二.s3c ...
- arm linux fpu,ARM处理器的浮点运算单元(FPU)
浮点运算单元(FPU)简介 Float Point Unit,浮点运算单元是专用于浮点运算的协处理器,在计算领域,例如三角函数以及时域频域变换通常会用到浮点运算.当CPU执行一个需要浮点数运算的程序时 ...
- arm linux tcp,ARM Linux多连接TCP服务器的应用程序设计
嵌入式Linux工控主板EM9160的主要功能之一就是作为网络平台,工控领域中比较常见的网络应用是利用TCP/IP协议进行数据通讯.在网络应用中,通常都实现多连接的应用需求,本文主要介绍EM9160作 ...
最新文章
- 为了方便读者检索和阅读以往的内容,已开通“号内搜”功能
- mysql主从切换机制torch_Mysql主从复制 - osc_y0vjyklt的个人空间 - OSCHINA - 中文开源技术交流社区...
- python画三维立体图-Python 竟能绘制出如此酷炫的三维图
- 原始代理需要改进的地方
- 数据中台到底包括什么内容?一文详解架构设计与组成
- Fiddle:使用断点:bpu,bpafter
- “滚!”央视、腾讯暂停NBA季前赛转播,NBA被中国市场“下架”!
- css3中transition和display的坑
- 整理了10个行业的30份可视化大屏模板,可直接拿走套用
- Jenkins持久化集成使用
- Linux firewall防火墙详解(一)——firewall基础知识简介
- 小米平板2wifi驱动下载_小米平板2windows系统无线网怎么连接
- 数学基础(9)--MATLAB 数据拟合 SSE,MSE,RMSE,R-square
- python编写鸡兔同笼程序_Python解决鸡兔同笼问题的方法
- php调查问卷数据库,关于一个问卷调查的程序,如何插入数据库
- 性能测试——jmeter性能测试——重点—核心——线程组、Ramp-Up Period、Loop Count 次采样...
- 阿里云服务器地域节点测试IP分享(国内+海外)Ping值延迟测试
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- CASA(Carnegie-Ames-Stanford Approach)模型、MAXENT模型
- 通过L0phtcrack 7进行账号口令破解
热门文章
- maven install 提示:Process terminated
- Java程序占用 CPU 过高怎么排查
- iOS11降级到iOS10.3.3/10.3.2教程
- 高性能RTMP推流服务器软件EasyDSS如何支持推流摄像机推流直播进行云端录像存储及计划保存
- 第三方SDK:百度地图(二)定位 + 鹰眼轨迹
- Burpsuite配置抓apk流量代理设置脚本
- python从入门到入土表情包-我用Python一键保存了半佛老师所有的骚气表情包
- c++ notes (very basic)
- nginx如何解析html响应,在nginx中,如何返回http 500返回码并包含响应客户端的响应体...
- 出色性能+创新设计 新华三AMD服务器