您尚未登录。

楼主 #1 2019-05-02 17:26:17

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

测试测试 g_serial / g_ether USB Gadget (RNDIS)

1. make menuconfig 勾选对应的 gadget 驱动程序.

然后执行模块安装:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_install INSTALL_MOD_PATH=/opt/buildroot-2018.08.2/output/target/

2. 开发板执行: modprobe g_serial, 驱动会生成 /dev/ttyGS0 设备

3. 开发板执行: cat /dev/ttyGS0, 电脑发送,开发板接收:
QQ20190502172555.png

4. 开发板执行: echo "xxxx" > /dev/ttyGS0, 电脑接收:
QQ20190502172742.png

可以参考这个帖子: http://guochongxin.github.io/acm/bbb/beaglebone-black/gadget/g_serial/%E5%BC%80%E6%BA%90%E7%A1%AC%E4%BB%B6/2015/02/12/shi_yong_bbb_de_usb_gadget_gong_neng_zhi_g_serial

最近编辑记录 路人乙 (2019-05-02 18:39:30)

离线

楼主 #2 2019-05-02 20:32:17

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

QQ20190502202930.png


modprobe g_ether 测试 usb IP网络.

离线

楼主 #3 2019-05-02 21:35:40

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

QQ20190502213413.png

https://www.kernel.org/doc/Documentation/usb/linux.inf

Windows10 被识别成 串口设备了, 根据网上的办法都装不了驱动.

离线

楼主 #4 2019-05-02 21:54:32

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

【原始问题】
·特别是在Windows 10上(撰写本文时为1511 / TH2版),操作系统识别带USBNetwork的Kindle(Linux USB Gadget productId 0x0525,vendorId 0xA4A2)作为“ 串行USB设备 ”而不是“Linux-USB以太网/ RNDIS小工具”(或需要驱动程序的未知设备)
请参阅:http://answers.microsoft.com/en-us/w...5590447 ?AUTH = 1

引用:
最初由MS论坛上的dlech发表
Linux rndis小工具函数的USB类为2,子类为2,与usbser.inf文件中的“USB \ Class_02&SubClass_02”相匹配。这就是为什么对于某些人来说,他们的设备最初被检测为COM端口而不是RNDIS。
通过一些快速的Google搜索,似乎有些VM用户没有遇到此问题,可能是因为类/子类对在呈现给访客时被篡改了?

无论如何,因此,如果你试图更新它的驱动程序,Windows将只显示兼容的驱动程序,即串口驱动程序


【基本原理】

解决方案是提供一个专门处理USB \ PID_0525和VID_A4A2的驱动程序。它只是一个虚拟驱动程序,告诉操作系统我们的“Linux USB Gadget”应该作为远程NDIS设备处理。Windows已经捆绑了RNDIS驱动程序很长一段时间了,所以它基本上是一个简单的声明问题。

但是,从Vista(编辑:可能是Windows 8,如下所述)开始,Windows一直在执行64位驱动程序的强制签名要求。
这意味着,驱动程序包的每个部分都必须在目录文件(* .cat)中进行散列和引用; 此目录本身经过加密签名,以确保真实性和完整性。
对于WHQL驱动程序,Microsoft是签署目录的人(经过一系列测试后)。
您可以通过运行“pnputil -e”来查看已安装的驱动程序。其中大多数应该由“Microsoft Windows硬件兼容性发布者”签名。
如果您打开计算机证书存储区(运行:certlm.msc)并浏览到“受信任的发布者”,您可能会看到其他人,具体取决于您的PC品牌。

我们的想法是生成代码签名密钥对(私钥+证书),将“自签名”(发行人==主题)。这个想法来找我,因为我使用由Fernando的WinRAID证书颁发机构签名的自定义驱动程序。
如他们的帖子所述:

即使在运行Win8 / 10时也可轻松安装我的所有“mod + signed”驱动程序,而无需禁用“Driver Signature Enforcement”。
这是一个关键点。你不希望随机的人在没有某种检查的情况下安装内核模式驱动程序,无论是稳定性(bsods)还是完整性(篡改/ rootkit)。

在我们的特定情况下,“驱动程序”仅仅是一个.inf文件。
它基本上说的是,“嘿,将这种类型视为RNDIS设备(USB /以太网适配器);驱动程序已经在Windows中(并已签名),因此您无需复制任何内容。”

2019-05-02_215349.png


千辛万苦找到这个帖子:
https://www.mobileread.com/forums/showthread.php?p=3283986

下载了这个文件: kindle_rndis_inf_amd64-v1_0_0_1.zip

最近编辑记录 路人乙 (2019-05-02 21:55:51)

离线

楼主 #5 2019-05-02 21:59:03

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

QQ20190502215812.png

终于药到病除了, 经过上面两个步骤驱动装上了.

离线

楼主 #6 2019-05-02 22:02:20

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

QQ20190502220129.png

网络正常了!

离线

楼主 #45 2019-08-12 11:04:46

路人乙
会员
注册时间: 2017-09-26
已发帖子: 57
积分: 57

Re: 测试测试 g_serial / g_ether USB Gadget (RNDIS)

https://stackoverflow.com/questions/24426410/how-to-set-usb-serial-as-debug-port-console

/etc/inittab 加上 下面的配置,轻轻松松用 USB 口作为终端, 倍儿爽,以后去客户那里可以免拆机,免带串口线 ^_^

::respawn:/sbin/getty -L ttyAM0 115200 vt100
::respawn:/sbin/getty -L ttyGS0 115200 vt100




上面记得放这个前面才行:

console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

否则串口终端貌似有点问题.

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn