Raspberian Piでg_printer(USBガジェットプリンタ)を操作する方法

Raspberian Piでg_printer(USBガジェットプリンタ)を操作する方法

Raspberry Pi Zero Wでガジェットモードを使用しようとしていますが、デバイスはプリンタをg_printerエミュレートしてデータをキャプチャして処理し、Wi-Fi経由で一部のAPIに送信できます。以下の指示に従ってボードを設定しました。https://gist.github.com/gbaman/50b6cca61dd1c3f88f41。このg_etherデバイスを使用すると、ボードは私のMacbookにネットワークデバイスとして表示されます。ただし、代わりに/etc/modules埋め込むように編集すると(1つだけを含めてから再起動)、ボードはMacbookで利用可能なプリンタとして表示されません。g_printerg_ether

modinfo は以下を返します。

pi@raspberrypi:~ $ modinfo g_printer
filename:       /lib/modules/4.9.65+/kernel/drivers/usb/gadget/legacy/g_printer.ko
license:        GPL
author:         Craig Nadler
description:    Printer Gadget
srcversion:     2F1D50E570B8D48FA4C2DD9
depends:        libcomposite,udc-core
intree:         Y
vermagic:       4.9.65+ mod_unload modversions ARMv6 p2v8 
parm:           idVendor:USB Vendor ID (ushort)
parm:           idProduct:USB Product ID (ushort)
parm:           bcdDevice:USB Device version (BCD) (ushort)
parm:           iSerialNumber:SerialNumber string (charp)
parm:           iManufacturer:USB Manufacturer string (charp)
parm:           iProduct:USB Product string (charp)
parm:           iSerialNum:1 (charp)
parm:           iPNPstring:MFG:linux;MDL:g_printer;CLS:PRINTER;SN:1; (charp)
parm:           qlen:uint

だからロードされたようです。ボードがプリンタとして表示されるには何が必要ですか?

ベストアンサー1

モジュールはモジュールと同じ方法で追加できますg_printercmdline.txtg_ether

cmdline.txtファイルを編集してすぐに追加します。rootwait

modules-load=dwc2,g_printer

config.txt ファイルを編集し、ファイルの最後の行の直後に次を追加します。

dtoverlay=dwc2

GNU/Linux システムに接続された USB ケーブルから Raspberry Pi を起動すると、システムメッセージで次のような内容が表示されます。

dmesg

[40692.579011] usb 2-1.4.3: New USB device found, idVendor=0525, idProduct=a4a8
[40692.579014] usb 2-1.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[40692.579016] usb 2-1.4.3: Product: Printer Gadget
[40692.579018] usb 2-1.4.3: Manufacturer: Linux 4.9.59+ with 20980000.usb
[40692.579020] usb 2-1.4.3: SerialNumber: 1
[40692.600820] usblp 2-1.4.3:1.0: usblp0: USB Bidirectional printer dev 18 if 0 alt 0 proto 2 vid 0x0525 pid 0xA4A8
[40692.600851] usbcore: registered new interface driver usblp

テストに便利なMacOSxシステムはありませんが、Raspberry Piはプリンタデバイスと見なされるべきです。

どのモジュールがロードされているかを確認する

modinfo実行中のモジュールを表示しません。 lsmodロードされたすべてのモジュールが表示されます。

おすすめ記事