Raspberry Pi Zero Wでガジェットモードを使用しようとしていますが、デバイスはプリンタをg_printer
エミュレートしてデータをキャプチャして処理し、Wi-Fi経由で一部のAPIに送信できます。以下の指示に従ってボードを設定しました。https://gist.github.com/gbaman/50b6cca61dd1c3f88f41。このg_ether
デバイスを使用すると、ボードは私のMacbookにネットワークデバイスとして表示されます。ただし、代わりに/etc/modules
埋め込むように編集すると(1つだけを含めてから再起動)、ボードはMacbookで利用可能なプリンタとして表示されません。g_printer
g_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_printer
。cmdline.txt
g_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
ロードされたすべてのモジュールが表示されます。
答え2
デフォルトでは、使用するにはモジュールパラメータ、をg_printer
使用する必要があります。これは自分のプリンタからインポートまたは検索できます。vendorID
productID
iPNPstring
ここ。ただ追加することをお勧めします。
dtoverlay=dwc2,dr_mode=peripheral
最後までconfig.txt
。g_printer
後で起動したら、このモジュールをロードします。
クレイグ W. ナドラー (Craig W. Nadler) 公開良いサンプルコード記述子の使用方法について/dev/g_printer device
。
私リポジトリRaspberry Pi Zeroをプリンタとして使用する方法の詳細については、詳細な手順を確認してください。