我正在尝试使用Raspberry Pi和g_printer设备上的小工具模式来模拟打印机,这样我就可以捕获数据,处理数据,并通过wi将其发送到一些API中。我已经使用https://gist.github.com/gbaman/50b6cca61dd1c3f88f41的指令建立了董事会。使用g_ether设备,板将显示为网络设备,我的Macbook。但是,如果我编辑/etc/modules以包含g_printer而不是g_ether (只有一个,并重新启动),板就不会显示为Macbook可用的打印机。
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所以看起来是装上子弹的。董事会还需要什么才能作为打印机出现?
发布于 2017-12-01 23:19:48
g_printer模块可以以与g_ether模块相同的方式添加到cmdline.txt中。
编辑cmdline.txt文件并将其直接添加到rootwait之后
modules-load=dwc2,g_printer编辑config.txt文件并将其直接添加到文件的最后一行之后:
dtoverlay=dwc2当Raspberry Pi用USB电缆插入GNU/Linux系统启动时,您将收到类似于系统消息的消息:
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应该被看作是一种打印机设备。
查看加载了哪些模块的
modinfo没有显示哪些模块正在运行。lsmod将显示所有加载的模块。
发布于 2021-01-19 07:14:28
https://unix.stackexchange.com/questions/408293
复制相似问题