Linux kernel USB以太网不适用于Linux内核(3.14.35)

Linux kernel USB以太网不适用于Linux内核(3.14.35),linux-kernel,kernel,kernel-module,ethernet,usbserial,Linux Kernel,Kernel,Kernel Module,Ethernet,Usbserial,我正在使用Linux内核v3.14.35。其中我需要提供以太网对USB的支持 我在内核配置中进行了修改。它很好用 我从两侧获得了接口,名称为usb0 我配置了IP地址并尝试ping。我发现了一些碰撞并跟踪了我得到的回溯 [153.356767]c0 1601(ifconfig)-----[此处剪切]------------ [153.363079]c0 1601(ifconfig)警告:内核/workqueue处的CPU:0 PID:1601.c:1393\uuuuuuu queue\uu wo

我正在使用Linux内核v3.14.35。其中我需要提供以太网对USB的支持

我在内核配置中进行了修改。它很好用

我从两侧获得了接口,名称为
usb0

我配置了IP地址并尝试ping。我发现了一些碰撞并跟踪了我得到的回溯

[153.356767]c0 1601(ifconfig)-----[此处剪切]------------
[153.363079]c0 1601(ifconfig)警告:内核/workqueue处的CPU:0 PID:1601.c:1393\uuuuuuu queue\uu work+0x254/0x368()
[153.373077]模块链接在:g_以太usb_f_rndis usb_f_ecm_子集usb_f_ecm libu_以太
[153.382104]c0 1601(ifconfig)CPU:0 PID:1601通信:ifconfig未受污染3.14.35#7
[153.389963]C01601(ifconfig)[](从[]展开回溯)(显示堆栈+0x10/0x14)
[153.399371]C01601(ifconfig)[](显示_堆栈)来自[](转储_堆栈+0x7c/0xbc)
[153.408254]c0 1601(ifconfig)[](转储堆栈)来自[](警告慢路径公共+0x70/0x8c)
[153.418000]C01601(ifconfig)[](警告慢路径公共)来自[](警告慢路径null+0x1c/0x24)
[153.428441]c0 1601(ifconfig)[](警告慢路径为空)来自[](队列工作+0x254/0x368)
[153.438365]C01601(ifconfig)[](队列工作)来自[](队列工作在+0x48/0x54上)
[153.447682]C01601(ifconfig)[](队列工作)从[](完成+0x110/0x1b0)
[153.456474]C01601(ifconfig)[(完成)从[](mv_udc_irq+0x75c/0xf20)
[153.465010]C01601(ifconfig)[](mv_udc_irq)from[](handle_irq_event_perpu+0x6c/0x298)
[153.475112]c0 1601(ifconfig)[](handle_irq_event_percpu)来自[](handle_irq_event+0x3c/0x5c)
[153.485638]C01601(ifconfig)[](handle_irq_事件)来自[](handle_fasteoi_irq+0x84/0x14c)
[153.495822]c0 1601(ifconfig)[](句柄快速IO irq)来自[](通用句柄irq+0x2c/0x3c)
[153.506090]C01601(ifconfig)[](通用句柄irq)来自[](句柄irq+0x40/0x90)
[153.515664]C01601(ifconfig)[(句柄IRQ)来自[](gic_句柄IRQ+0x2c/0x5c)
[153.524892]c0 1601(ifconfig)[](gic_handle_irq)from[](gic_irq_svc+0x40/0x70)
[153.534026]C01601(ifconfig)异常堆栈(0xec09bdb8到0xec09be00)
[153.540729]C01601(ifconfig)bda0:ec219500 a0000013
[153.550558]C01601(ifconfig)bdc0:00000001 00000009 ec219500 ebe78c24 00000000 00000004 ec219510 000000d0
[153.560395]C01601(ifconfig)bde0:a0000013 ebe65900 2ec010c0 ec09be00 bf001824 c075e224 2000013 ffffffff
[153.570232]c0 1601(ifconfig)[](原始旋转解锁irqrestore+0x20/0x54)
[153.580511]C01601(ifconfig)[](原始旋转解锁存储)从[](接收填充+0x1e0/0x2ac[u乙醚])
[153.591656]c0 1601(ifconfig)[](接收填充[u_-乙醚])从[](乙醚开始+0xc/0x38[u_-乙醚])
[153.601842]c0 1601(ifconfig)[](以太启动[u_乙醚])从[](以太开启+0x5c/0x60[u_乙醚])
[153.612209]c0 1601(ifconfig)[(以太网开放[u_Ethernet])来自[](以太网开放+0xa8/0x10c)
[153.621874]C01601(ifconfig)[](开发开放)来自[](开发更改标志+0x94/0x168)
[153.631533]C01601(ifconfig)[](开发更改标志)来自[](开发更改标志+0x18/0x48)
[153.641630]c0 1601(ifconfig)[](dev_change_标志)来自[](devinet_ioctl+0x7c8/0x89c)
[153.651466]C01601(ifconfig)[](设备ioctl)来自[](sock_ioctl+0x130/0x28c)
[153.660782]C01601(ifconfig)[](sock_ioctl)from[](do_vfs_ioctl+0x3f0/0x5b8)
[153.670005]C01601(ifconfig)[](do_vfs_ioctl)from[](SyS_ioctl+0x6c/0x7c)
[153.678971]c0 1601(ifconfig)[(SyS_ioctl)from[](ret_fast_syscall+0x0/0x30)
[153.688195]C01601(ifconfig)
---[结束记录道165fce7ec193769d]---

我能够从设备ping到主机,但无法处理从主机发送的确认。

我得到了解决方案。我修改了udc(USB设备控制器)的驱动程序。因此,我能够在Linux内核3.14.35中通过USB访问以太网。

我得到了解决方案。我修改了udc(USB设备控制器)的驱动程序。因此,我可以在Linux内核3.14.35中通过USB访问以太网。

首先尝试最新的香草内核。如果仍然存在bug,请下一步尝试linux。即使存在缺陷,也要提交缺陷报告。否则,它可能已经解决了这个问题。该内核已经定制。我无法切换到其他内核。我必须使用这个内核版本。你必须尝试一个最新的内核来找出驱动程序、代码或其他地方仍然存在bug。否则你只能靠自己了。先试试最新的香草果仁。如果仍然存在bug,请下一步尝试linux。即使存在缺陷,也要提交缺陷报告。否则,它可能已经解决了这个问题。该内核已经定制。我无法切换到其他内核。我必须使用这个内核版本。你必须尝试一个最新的内核来找出驱动程序、代码或其他地方仍然存在bug。否则你就只能靠自己了。
[  153.356767] c0 1601 (ifconfig) ------------[ cut here ]------------
[  153.363079] c0 1601 (ifconfig) WARNING: CPU: 0 PID: 1601 at kernel/workqueue.c:1393 __queue_work+0x254/0x368()
[  153.373077] Modules linked in: g_ether usb_f_rndis usb_f_ecm_subset usb_f_ecm libcomposite u_ether
[  153.382104] c0 1601 (ifconfig) CPU: 0 PID: 1601 Comm: ifconfig Not   tainted 3.14.35 #7
[  153.389963] c0 1601 (ifconfig) [<c0016db4>] (unwind_backtrace) from [<c0012e78>] (show_stack+0x10/0x14)
[  153.399371] c0 1601 (ifconfig) [<c0012e78>] (show_stack) from [<c0758af0>] (dump_stack+0x7c/0xbc)
[  153.408254] c0 1601 (ifconfig) [<c0758af0>] (dump_stack) from [<c002a754>] (warn_slowpath_common+0x70/0x8c)
[  153.418000] c0 1601 (ifconfig) [<c002a754>] (warn_slowpath_common) from [<c002a80c>] (warn_slowpath_null+0x1c/0x24)
[  153.428441] c0 1601 (ifconfig) [<c002a80c>] (warn_slowpath_null) from [<c0042218>] (__queue_work+0x254/0x368)
[  153.438365] c0 1601 (ifconfig) [<c0042218>] (__queue_work) from [<c0042374>] (queue_work_on+0x48/0x54)
[  153.447682] c0 1601 (ifconfig) [<c0042374>] (queue_work_on) from [<c03e5f24>] (done+0x110/0x1b0)
[  153.456474] c0 1601 (ifconfig) [<c03e5f24>] (done) from [<c03e8aac>] (mv_udc_irq+0x75c/0xf20)
[  153.465010] c0 1601 (ifconfig) [<c03e8aac>] (mv_udc_irq) from [<c0075820>] (handle_irq_event_percpu+0x6c/0x298)
[  153.475112] c0 1601 (ifconfig) [<c0075820>] (handle_irq_event_percpu) from [<c0075a88>] (handle_irq_event+0x3c/0x5c)
[  153.485638] c0 1601 (ifconfig) [<c0075a88>] (handle_irq_event) from [<c0078960>] (handle_fasteoi_irq+0x84/0x14c)
[  153.495822] c0 1601 (ifconfig) [<c0078960>] (handle_fasteoi_irq) from [<c0074f7c>] (generic_handle_irq+0x2c/0x3c)
[  153.506090] c0 1601 (ifconfig) [<c0074f7c>] (generic_handle_irq) from [<c000f8fc>] (handle_IRQ+0x40/0x90)
[  153.515664] c0 1601 (ifconfig) [<c000f8fc>] (handle_IRQ) from [<c0008618>] (gic_handle_irq+0x2c/0x5c)
[  153.524892] c0 1601 (ifconfig) [<c0008618>] (gic_handle_irq) from [<c00139c0>] (__irq_svc+0x40/0x70)
[  153.534026] c0 1601 (ifconfig) Exception stack(0xec09bdb8 to 0xec09be00)
[  153.540729] c0 1601 (ifconfig) bda0:                                                       ec219500 a0000013
[  153.550558] c0 1601 (ifconfig) bdc0: 00000001 00000009 ec219500 ebe78c24 00000000 00000004 ec219510 000000d0
[  153.560395] c0 1601 (ifconfig) bde0: a0000013 ebe65900 2ec010c0 ec09be00 bf001824 c075e224 20000013 ffffffff
[  153.570232] c0 1601 (ifconfig) [<c00139c0>] (__irq_svc) from [<c075e224>] (_raw_spin_unlock_irqrestore+0x20/0x54)
[  153.580511] c0 1601 (ifconfig) [<c075e224>] (_raw_spin_unlock_irqrestore) from [<bf001824>] (rx_fill+0x1e0/0x2ac [u_ether])
[  153.591656] c0 1601 (ifconfig) [<bf001824>] (rx_fill [u_ether]) from [<bf0018fc>] (eth_start+0xc/0x38 [u_ether])
[  153.601842] c0 1601 (ifconfig) [<bf0018fc>] (eth_start [u_ether]) from [<bf001984>] (eth_open+0x5c/0x60 [u_ether])
[  153.612209] c0 1601 (ifconfig) [<bf001984>] (eth_open [u_ether]) from [<c05c83fc>] (__dev_open+0xa8/0x10c)
[  153.621874] c0 1601 (ifconfig) [<c05c83fc>] (__dev_open) from [<c05c8684>] (__dev_change_flags+0x94/0x168)
[  153.631533] c0 1601 (ifconfig) [<c05c8684>] (__dev_change_flags) from [<c05c8770>] (dev_change_flags+0x18/0x48)
[  153.641630] c0 1601 (ifconfig) [<c05c8770>] (dev_change_flags) from [<c06551b4>] (devinet_ioctl+0x7c8/0x89c)
[  153.651466] c0 1601 (ifconfig) [<c06551b4>] (devinet_ioctl) from [<c05b0434>] (sock_ioctl+0x130/0x28c)
[  153.660782] c0 1601 (ifconfig) [<c05b0434>] (sock_ioctl) from [<c0139898>] (do_vfs_ioctl+0x3f0/0x5b8)
[  153.670005] c0 1601 (ifconfig) [<c0139898>] (do_vfs_ioctl) from [<c0139acc>] (SyS_ioctl+0x6c/0x7c)
[  153.678971] c0 1601 (ifconfig) [<c0139acc>] (SyS_ioctl) from [<c000f020>] (ret_fast_syscall+0x0/0x30)
[  153.688195] c0 1601 (ifconfig)
---[ end trace 165fce7ec193769d ]---