Andorid连接USB打印机

来源:互联网 发布:windows专业版激活码 编辑:程序博客网 时间:2024/05/14 23:40


         当时有那么一个情况 验证Andorid连接一个打印机,并成功打印一些无关痛痒的字符。


         首先先介绍一下打印机,是一个连牌子都没有的打印机,一个标准的windows打印机(在winxp上连驱动都没装就直接用了,我之前应该是装了串口驱动的)

         Andorid设备直接可以通过USB连接,如果是手机的话得用OTG先转一下。



        下面就说明一下驱动的步骤

        1.在win xp上验证这个打印机是否能用。(在观察能打印的过程中,找到windows上生成节点的名称的,USB设备关键的PID,和VID)

这里我观察到

VID:067B PID 2303 COM16 打印正常

         2.应该是要在linux系统上看看能否打印的,这里我嫌麻烦就跳过了。直接到安卓上看看,接入设备有什么信息

             连接ADB 

              adb shell 

              cat /proc/kmsg

             插入USB打印机

            

          <6>[ 4601.110632] usb 2-1.3.3: new full-speed USB device number 13 using sw-ehci

            这里只打印了一句话,发现了USB设备后,大概就生成了USB的节点,并没有找到相应的驱动。

            这里我搜索了一下PID和VID 发现这个就是PL2303 usb转串口的, 那么我猜想这个线的另一头就是有个串口打印机。

  

            那么首先确认一下内核中的USB转串口是否有这个驱动文件,没有被编译进内核

             linux-3.4/drivers/usb/serial/  这个目录下运气好正好有pl2303.c  

             那么很简单重新配置一下内核,编译即可(这里也是看着名字选的2302和一个通用串口驱动可能有用吧)。

            Device Drivers  -->

                   USB support   -->

USB Serial Converter support --->

USB Prolific 2303 Single Port Serial Driver    

                         USB Generic Serial Driver

           这里上网查过一下资料说是     usb support 的USB Printer support 选中

           这个我试了一下没有效果,发现驱动是针对一块VID和PID是Hp的某款打印机的驱动,没有用也是正常,谁让我有个山寨打印机


            接着把重新编译好的内核烧录进机器,插入usb 打印机

         <6>[ 4600.745360] scsi2 : usb-storage 2-1.3.1:1.0
        <6>[ 4600.855611] usb 2-1.3.2: new full-speed USB device number 12 using sw-ehci
        <6>[ 4601.258705] pl2303 2-1.3.3:1.0: pl2303 converter detected
        <6>[ 4601.277798] usb 2-1.3.3: pl2303 converter now attached to ttyUSB0

          看到信息就说明成功驱动PL2302了,接下来干的事情就是给打印机发电数据看看有没有反应。


         这里特地查看了一下PL2302的驱动,open中是有设置波特率的,所以我就直接

         echo "111111111" >/dev/ttyUSB0  

         不出所料打印出了信息。



         于是这个打印机接下去的内容就基本上没有了,因为并没有打印机的相关资料,所以根本不知道如何打印其他内容是怎么做了。

      

         还有一些想法就是改造一下pl2302这个驱动,把一些打印机个性化设置加进去。 当然这些需要有相关的打印机的驱动手册帮助了。


     

          当然在andorid上这样打印提苦逼,ANDORID提供了HID的控制和访问方法。相关步骤也比较简单,自行百度吧。

          这里注意pl2302的驱动必须得弄好,不然不设置波特率,没法正常通讯。        

                   


            


            ,


       

0 0