天天看點

Andorid連接配接USB列印機

         當時有那麼一個情況 驗證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的驅動必須得弄好,不然不設定波特率,沒法正常通訊。        

            ,

繼續閱讀