WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

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

路人乙
会员
注册时间: 2017-09-26
累计积分: 31

测试测试 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
累计积分: 31

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
累计积分: 31

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
累计积分: 31

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
累计积分: 31

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

QQ20190502215812.png

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

离线

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

路人乙
会员
注册时间: 2017-09-26
累计积分: 31

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

QQ20190502220129.png

网络正常了!

离线

#7 2019-05-02 22:05:52

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

感谢分享!!!

离线

#8 2019-05-20 09:55:27

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 88

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

请问楼主用的是荔枝派zero吗,内核是哪个版本

“make menuconfig 勾选对应的 gadget 驱动程序.” ---这句话是设置kernel还是buildroot,能详细说说设置方法吗,我在buildroot里没找到gadget相关的

离线

#9 2019-05-20 10:07:30

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

2019-05-20_100529.png

在linux drivers 这里设置

> Device Drivers > USB support > USB Gadget Support

离线

#10 2019-05-20 11:15:32

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 88

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

晕哥 说:

https://whycan.cn/files/members/3/2019-05-20_100529.png

在linux drivers 这里设置

> Device Drivers > USB support > USB Gadget Support

晕哥,

我昨晚测试荔枝zero,内核也是的用4.13y,USB Gadget Support在官方默认配置下,是CDC Composite Device (Ethernet and ACM) 。

这个配置,在我的电脑上未出现任何USB设备。



看到这个帖子(https://whycan.cn/t_1788.html-Zero通过otg与PC共享网络)里可以改成串口配置,我就改成了Serial Gadget (with CDC ACM and CDC OBEX support) 。电脑上就出现了USB虚拟串口。

经过测试发现虚拟串口不太正常:

1. 开发板可以正常发送到PC端的串口助手:
开发板发送:

echo "125awsdQWEDFffe" > /dev/ttyGS0

2. PC端发送到开发板不正常,开发板可以接收到内容,但是PC串口助手同时也接收到了自己发送的内容:
开发板接收:

cat /dev/ttyGS0

串口助手sscom5.13显示的接收:

[20:21:54.484]收←◆125awsdffe

[20:22:04.544]收←◆125awsdQWEDFffe

[20:22:26.619]发→◇LLLK
□
[20:22:26.620]收←◆LLLK
LLLK

[20:22:31.627]发→◇LLLK
□
[20:22:31.628]收←◆LLLK

遇到的问题就是,PC串口助手发送的同时,也接收到了自己发送的内容

离线

#11 2019-05-20 11:29:01

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 88

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

晕哥 说:

https://whycan.cn/files/members/3/2019-05-20_100529.png

在linux drivers 这里设置

> Device Drivers > USB support > USB Gadget Support


我还测试了荔枝派官方的教程-- Zero通过otg与PC共享网络

说配置后可以看到usb0
zp@ubuntu64:~$ ifconfig
...
usb0 Link encap:Ethernet HWaddr 66:36:e9:13:fd:44

root@Lichee:~# ifconfig
...
usb0 Link encap:Ethernet HWaddr 2e:cf:e1:3f:ad:61

--------------
结果在我的板子上根本看不到usb0

不知道晕哥测试过没

总感觉我这块荔枝派不太稳定,准备再入一块。

离线

#12 2019-05-20 11:32:32

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 88

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

晕哥 说:

https://whycan.cn/files/members/3/2019-05-20_100529.png

在linux drivers 这里设置

> Device Drivers > USB support > USB Gadget Support


晕哥,

找时间出个详细点的教程吧,关于荔枝派zero的usb虚拟串口和虚拟网口的,感觉这两个功能很实用!

救救孩子吧。。。 lol

离线

#13 2019-05-20 11:43:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

好, 有空我录个视频.

离线

#14 2019-05-20 15:04:51

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 88

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

晕哥 说:

好, 有空我录个视频.

期待,期待!

离线

#15 2019-06-06 16:22:29

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

# modprobe g_serial
modprobe: can't change directory to '/lib/modules': No such file or directory
# mkdir -p /lib/modules
# modprobe g_serial
modprobe: can't change directory to '4.15.0-rc8-licheepi-nano+': No such file or directory
# 

这是啥问题

离线

#16 2019-06-06 17:00:35

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_install INSTALL_MOD_PATH=target/


使用上面的命令安装 模块ko文件到 指定的根文件系统目录: target/

离线

#17 2019-06-10 16:03:37

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

已经编译的模块

# find -name *ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/crypto/echainiv.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/libcomposite.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/u_ether.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/usb_f_ecm.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/usb_f_fs.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/usb_f_acm.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/usb_f_rndis.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/gadget/function/u_serial.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/usb/mon/usbmon.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/video/backlight/lcd.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/net/mii.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/net/usb/rtl8150.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/staging/rtl8723bs/r8723bs.ko
./usr/lib/modules/4.15.0-rc8-licheepi-nano+/kernel/drivers/input/touchscreen/goodix.ko

没有发现 g_serial.ko
insmod u_serial.ko 成功 但没生成 串口节点/dev/ttyGS0

离线

#18 2019-06-10 16:05:46

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

现在 可以了,谢谢晕哥

晕哥 说:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_install INSTALL_MOD_PATH=target/


使用上面的命令安装 模块ko文件到 指定的根文件系统目录: target/

离线

#19 2019-06-10 16:06:35

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

可以执行  modpro g_serial 吗?

检查一下 .config 的 CONFIG_MODULES 配置是不是这样:

CONFIG_MODULES=y

离线

#20 2019-06-10 16:08:11

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

再检查一下驱动是否装载了:

lsmod

看看结果如何?

离线

#21 2019-06-10 16:21:36

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

执行lsmod 可以看到安装的模块

晕哥 说:

再检查一下驱动是否装载了:

lsmod

看看结果如何?

离线

#22 2019-06-10 16:24:03

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

没有g_serial 这个东西,只有 u_serial
modpro  执行不了不要紧,insmod 可以执行安装

晕哥 说:

可以执行  modpro g_serial 吗?

检查一下 .config 的 CONFIG_MODULES 配置是不是这样:

CONFIG_MODULES=y

离线

#23 2019-06-10 16:28:31

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

请检查 CONFIG_MODULES

离线

#24 2019-06-10 16:30:11

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (root@221365da42b4) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #4 Mon Jun 10 04:19:27 UTC 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Lichee Pi Nano
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: fast init done
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=31:03 rw rootfstype=jffs2
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 22676K/32768K available (6144K kernel code, 235K rwdata, 1404K rodata, 1024K init, 246K bss, 10092K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc2800000 - 0xff800000   ( 976 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (7136 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 236 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 247 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000050] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000121] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000750] Console: colour dummy device 80x30
[    0.000847] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070250] pid_max: default: 32768 minimum: 301
[    0.070579] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070623] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.072213] CPU: Testing write buffer coherency: ok
[    0.074126] Setting up static identity map for 0x80100000 - 0x80100058
[    0.076745] devtmpfs: initialized
[    0.083590] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.083669] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.083950] pinctrl core: initialized pinctrl subsystem
[    0.086224] NET: Registered protocol family 16
[    0.088217] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.090295] cpuidle: using governor menu
[    0.117101] SCSI subsystem initialized
[    0.117476] usbcore: registered new interface driver usbfs
[    0.117670] usbcore: registered new interface driver hub
[    0.117896] usbcore: registered new device driver usb
[    0.118365] pps_core: LinuxPPS API ver. 1 registered
[    0.118394] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.118465] PTP clock support registered
[    0.118984] Advanced Linux Sound Architecture Driver Initialized.
[    0.120636] clocksource: Switched to clocksource timer
[    0.149582] NET: Registered protocol family 2
[    0.151196] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.151285] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.151338] TCP: Hash tables configured (established 1024 bind 1024)
[    0.151716] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.151777] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.152300] NET: Registered protocol family 1
[    0.153671] RPC: Registered named UNIX socket transport module.
[    0.153715] RPC: Registered udp transport module.
[    0.153733] RPC: Registered tcp transport module.
[    0.153750] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.155623] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.157652] Initialise system trusted keyrings
[    0.158240] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.174461] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.176871] NFS: Registering the id_resolver key type
[    0.176978] Key type id_resolver registered
[    0.177002] Key type id_legacy registered
[    0.177122] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.192622] Key type asymmetric registered
[    0.192666] Asymmetric key parser 'x509' registered
[    0.192893] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.192927] io scheduler noop registered
[    0.192945] io scheduler deadline registered
[    0.193777] io scheduler cfq registered (default)
[    0.193816] io scheduler mq-deadline registered
[    0.193837] io scheduler kyber registered
[    0.194927] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[    0.205141] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.390310] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.397700] console [ttyS0] disabled
[    0.417978] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[    0.897370] console [ttyS0] enabled
[    0.908111] panel-simple panel: panel supply power not found, using dummy regulator
[    0.917551] SCSI Media Changer driver v0.25 
[    0.925771] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.930559] 4 ofpart partitions found on MTD device spi0.0
[    0.936161] Creating 4 MTD partitions on "spi0.0":
[    0.941039] 0x000000000000-0x000000100000 : "u-boot"
[    0.948717] 0x000000100000-0x000000110000 : "dtb"
[    0.956270] 0x000000110000-0x000000510000 : "kernel"
[    0.963915] 0x000000510000-0x000001000000 : "rootfs"
[    0.972368] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.978907] ehci-platform: EHCI generic platform driver
[    0.984569] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.990876] ohci-platform: OHCI generic platform driver
[    0.996527] usbcore: registered new interface driver usb-storage
[    1.003599] i2c /dev entries driver
[    1.070773] sunxi-mmc 1c0f000.mmc: base:0xe85ad070 irq:19
[    1.078495] usbcore: registered new interface driver usbhid
[    1.084208] usbhid: USB HID core driver
[    1.107115] NET: Registered protocol family 17
[    1.112027] Key type dns_resolver registered
[    1.118812] Loading compiled-in X.509 certificates
[    1.135500] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0739fb8)
[    1.144436] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc073929c)
[    1.152237] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.158843] [drm] No driver support for vblank timestamp query.
[    1.213090] Console: switching to colour frame buffer device 60x34
[    1.236318] sun4i-drm display-engine: fb0:  frame buffer device
[    1.243475] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    1.252698] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.264565] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.270361] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    1.280520] hub 1-0:1.0: USB hub found
[    1.284578] hub 1-0:1.0: 1 port detected
[    1.290921] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.308424] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.315268] vcc3v3: disabling
[    1.318256] ALSA device list:
[    1.321308]   #0: Loopback 1
[    1.325083] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.333793] cfg80211: failed to load regulatory.db
[    1.437265] random: crng init done
[    2.775786] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[    2.784479] devtmpfs: mounted
[    2.792266] Freeing unused kernel memory: 1024K
mount: /overlay: mount point does not exist.
Starting syslogd: OK
Starting klogd: OK
Initializing random number generator... done.
Configure the USB Gadget: /usr/bin/gadget_init: cd: line 6: can't cd to /config/usb_gadget/: No such file or directory
FAIL
Starting album: [    9.493679] Console: switching to colour dummy device 80x30
OK
/etc/init.d/S36album: cd: line 11: can't cd to /overlay/album: No such file or directory
Starting ntpd: /etc/init.d/S39ntpd: line 9: /usr/sbin/ntpd: not found
FAIL
Starting udhcpd: /etc/init.d/S39udhcpd: line 9: /usr/sbin/udhcpd: not found
FAIL
Starting network: OK
Starting wpa_cli: /etc/init.d/S41wpa_cli: line 9: /usr/sbin/wpa_cli: not found
FAIL

Welcome to Buildroot
buildroot login: 

启动日志如上,Gadget  驱动模块都编译了 没有生成g_serial.ko 而是 u_serial.ko
insmod  u_serial.ko 安装 后没有创建  串口

晕哥 说:

再检查一下驱动是否装载了:

lsmod

看看结果如何?

离线

#25 2019-06-10 16:31:46

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

当前  CONFIG_MODULES=y  没改变

晕哥 说:

请检查 CONFIG_MODULES

离线

#26 2019-06-10 16:36:11

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

# modprobe u_serial
modprobe: module u_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial

tongjinlv 说:

当前  CONFIG_MODULES=y  没改变

晕哥 说:

请检查 CONFIG_MODULES

离线

#27 2019-06-10 16:38:42

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

手动执行:

mdev -s

离线

#28 2019-06-10 16:40:23

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

你的安装方法有误, 导致没有生成这个文件: /lib/modules/4.15.0-rc8-licheepi-nano+/modules.dep

tongjinlv 说:

# modprobe u_serial
modprobe: module u_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial
modprobe: module g_serial not found in modules.dep
# modprobe g_serial

tongjinlv 说:

当前  CONFIG_MODULES=y  没改变

晕哥 说:

请检查 CONFIG_MODULES

离线

#29 2019-06-10 16:52:59

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

现在 modprobe u_serial  可以,  但modprobe g_serial
u_serial 跟g_serial 是不是一个意思啊

晕哥 说:

手动执行:

mdev -s

离线

#30 2019-06-10 16:56:46

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

我刚刚用这个 https://whycan.cn/t_2449.html 帮你测试了:


modprobe g_serial use_acm=0

# modprobe g_serial use_acm=0
[  459.409116] g_serial gadget: Gadget Serial v2.4
[  459.413806] g_serial gadget: g_serial ready
[  464.212054] g_serial gadget: high-speed config #1: Generic Serial config                                                               ^C
#
#
# ls /dev/ttyGS0 -l
crw-rw----    1 root     root      245,   0 Jan  1 02:25 /dev/ttyGS0

离线

#31 2019-06-10 17:03:23

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

主要是没生成 g_serial  啊    只有u_serial  这两个是一个东西吗

晕哥 说:

我刚刚用这个 https://whycan.cn/t_2449.html 帮你测试了:


modprobe g_serial use_acm=0

# modprobe g_serial use_acm=0
[  459.409116] g_serial gadget: Gadget Serial v2.4
[  459.413806] g_serial gadget: g_serial ready
[  464.212054] g_serial gadget: high-speed config #1: Generic Serial config                                                               ^C
#
#
# ls /dev/ttyGS0 -l
crw-rw----    1 root     root      245,   0 Jan  1 02:25 /dev/ttyGS0

离线

#32 2019-06-10 17:20:34

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

http://trac.gateworks.com/wiki/linux/OTG

u_serial  这个的套路不同, 你先看看上面的链接, 我晚点也研究一下。

离线

#33 2019-06-10 17:25:32

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

为啥有 u_serial 和g_serial 之分啊,我用的主线

晕哥 说:

http://trac.gateworks.com/wiki/linux/OTG

u_serial  这个的套路不同, 你先看看上面的链接, 我晚点也研究一下。

离线

#34 2019-06-10 17:41:52

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

g_serial 可能会在未来版本不支持或者过期, g_ 打头的都是这样吧



tongjinlv 说:

为啥有 u_serial 和g_serial 之分啊,我用的主线

晕哥 说:

http://trac.gateworks.com/wiki/linux/OTG

u_serial  这个的套路不同, 你先看看上面的链接, 我晚点也研究一下。

离线

#35 2019-06-11 10:14:22

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

那u_开头的怎么用呀

晕哥 说:

g_serial 可能会在未来版本不支持或者过期, g_ 打头的都是这样吧



tongjinlv 说:

为啥有 u_serial 和g_serial 之分啊,我用的主线

晕哥 说:

http://trac.gateworks.com/wiki/linux/OTG

u_serial  这个的套路不同, 你先看看上面的链接, 我晚点也研究一下。

离线

#36 2019-06-11 10:16:02

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

应该就是上面那个链接里面,  http://trac.gateworks.com/wiki/linux/OTG

我还没来得及细看

离线

#37 2019-06-11 11:00:40

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

这里没有讲到 u_serial啊

晕哥 说:

应该就是上面那个链接里面,  http://trac.gateworks.com/wiki/linux/OTG

我还没来得及细看

离线

#38 2019-06-11 11:20:38

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

CONFIGFS
Linux Configfs(CONFIG_CONFIGFS_FS)支持允许从用户空间完全动态配置小工具设备,在这种情况下,您可以使用drivers / usb / gadget / udc / functions中提供的一个或多个功能创建单个配置或多配置复合设备:

usb_f_acm - CDC Serial(ACM - 抽象控制模型)
usb_f_ecm - CDC以太网(ECM - 以太网网络控制模型)
usb_f_eem - CDC以太网(EEM - 以太网仿真模型)
usb_f_fs - 文件系统
usb_f_hid - HID接口
usb_f_mass_storage - USB海量存储类
usb_f_midi - MIDI
usb_f_ncm - CDC网络(NCM - 网络控制模型以太网)
usb_f_obex - CDC OBEX(对象交换模型)
usb_f_phonet - CDC Phonet
usb_f_printer - 打印机功能
usb_f_rndis - (远程网络驱动程序接口规范 - 基于USB的Microsoft以太网)
usb_f_serial - 通用串行功能
usb_f_subset - CDC子集(没有控制机制的以太网 - 只是原始数据传输)
usb_f_uac1 - USB音频类
usb_f_uac2 - USB Audio class 2.0
usb_f_uvc - USB视频课程
请注意,并非所有上述内核模块都可用,具体取决于您的内核配置或BSP。

例子:

创建CDC ACM串行设备:
#mount configfs
mount -t configfs none / sys / kernel / config
#load libcomposite module
modprobe libcomposite #cread
a gadget
mkdir / sys / kernel / config / usb_gadget / g1
#cd to configfs node
cd / sys / kernel / config / usb_gadget / g1
#configure it(如果USB Class用于驱动程序compat,vid / pid可以是任何东西)
echo 0xabcd> idVendor
echo 0x1234> idProduct #configure
its serial / mfg / product
mkdir strings / 0x409
echo myserial> strings / 0x409 / serialnumber
echo mymfg> strings / 0x409 / manufacturer
echo myproduct> strings / 0x409 / product #create
config
mkdir configs / c.1
#如果需要,配置属性
echo  120 > configs / c.1 / MaxPower
#确保函数加载
modprobe usb_f_acm
#创建函数(名称必须匹配usb_f_ <name>模块,如'acm')
mkdir functions / acm.0 #assocate
function with config
ln -s functions / acm.0 configs / c.1 #enable
gadget通过绑定到UDC从/ sys / class / udc
echo  0000:01:00.0> UDC
#to unbind it:echo“”UDC; 睡1; rm -rf / sys / kernel / config / usb_gadget / g1

可能是包含关系, 上面链接搜一下 usb_f_serial
我猜 usb_f_serial 应该是调用 u_serial

tongjinlv 说:

这里没有讲到 u_serial啊

晕哥 说:

应该就是上面那个链接里面,  http://trac.gateworks.com/wiki/linux/OTG

我还没来得及细看

离线

#39 2019-06-12 16:03:03

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

谢谢晕哥。/dev/ttyGS0   生成了,但 电脑端没有出现串口

离线

#40 2019-06-12 16:08:06

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

如何解决的?
电脑有没有出现安装驱动?
板子是自己做的,还是别家的? usb id 脚电平有没有拉低?

离线

#41 2019-06-12 16:13:18

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

坑网有个地方 建议不要选中,USB Gadget precomposed configurations
g_serial 就在这个下面

电脑没有提示安装驱动,也没有串口出现,
usb id 需要手动拉低吗
板子是用的nano pi

晕哥 说:

如何解决的?
电脑有没有出现安装驱动?
板子是自己做的,还是别家的? usb id 脚电平有没有拉低?

最近编辑记录 tongjinlv (2019-06-12 16:13:45)

离线

#42 2019-06-12 16:50:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

可能你的分支错了,你用哪个 git 仓库哪个分支,有说明的。

离线

#43 2019-06-12 17:01:15

tongjinlv
会员
所在地: 深圳
注册时间: 2018-08-10
累计积分: 30
个人网站

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

荔枝派的 两个分支都试了

usb id  通过什么拉低啊

晕哥 说:

可能你的分支错了,你用哪个 git 仓库哪个分支,有说明的。

离线

#44 2019-06-13 10:29:31

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,756

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

离线

页脚