我目前正在开发ubuntu 16.04环境和深度摄像头(Asus Xtion Pro)的项目。问题是我的相机没有使用ubuntu的USB3.0主机控制器xhci。所以我试图强制USB2主机控制器ehci来管理我的串口。但由于我的笔记本电脑只有3.0个USB端口,我无法通过BIOS禁用XHCI预启动模式。并且在内核中构建的驱动程序而不是模块我不能仅仅停用xhci。
在google上进行了一些搜索之后,我发现this discussion建议构建一个内核,其中ehci和xhci驱动程序都是作为模块构建的,因此我可以选择使用哪一个。问题是,我是内核构建的新手......
我发现并且未成功跟踪this tutorial创建新内核,但在使用此命令编辑配置后出错:
fakeroot debian/rules editconfigs
我所做的更改是在设备中切换 xHCI HCD(USB 3.0)支持和 EHCI HCD(USB 2.0)支持选项驱动程序 - >从内置到模块的 USB支持。从我对终端输出的理解,我不能将xhci构建到内核中。这是输出:
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/amd64-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'n', 'i386': 'y', 'ppc64el': 'm'}> mark<ENFORCED> note<Don't use the generic ehci/ohci code on omap, it doesn't work> flag<REVIEW>
check-config: 70/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/amd64-config.flavour.lowlatency: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'n', 'i386': 'y', 'ppc64el': 'm'}> mark<ENFORCED> note<Don't use the generic ehci/ohci code on omap, it doesn't work> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 70/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/i386-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'n', 'i386': 'y', 'ppc64el': 'm'}> mark<ENFORCED> note<Don't use the generic ehci/ohci code on omap, it doesn't work> flag<REVIEW>
check-config: 70/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/i386-config.flavour.lowlatency: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'n', 'i386': 'y', 'ppc64el': 'm'}> mark<ENFORCED> note<Don't use the generic ehci/ohci code on omap, it doesn't work> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 70/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/armhf-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 71/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/armhf-config.flavour.generic-lpae: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 71/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/arm64-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 71/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/ppc64el-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: FAIL (m != y): CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: FAIL (m != y): CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}> mark<ENFORCED> note<ensures USB 2.0/1.1 probe ordering> flag<REVIEW>
check-config: 71/73 checks passed -- exit 1
check-config: /tmp/tmp.P1QuAGSbJX/CONFIGS/s390x-config.flavour.generic: loading config
check-config: /home/observator/kerneltestx/linux-hwe-4.10.0/debian.hwe/config/annotations loading annotations
check-config: 73/73 checks passed -- exit 0
*** ERROR: 8 config-check failures detected
所以我的问题是如何更改我的USB驱动程序(有或没有内核版本)?
(或者,如果某人有解决方案使Asus Xtion Pro与xHCI驱动程序一起工作(请注意,它是第一个不接受为此目的而完成的补丁的版本)。
非常感谢!