D720201 PCIE 转USB HUB

1. 启动时出现了下面错误

[    4.682595] pcieport 0004:00:00.0: Signaling PME through PCIe PME interrupt
[    4.684939] pci 0004:01:00.0: Signaling PME through PCIe PME interrupt
[    4.691287] pci 0004:01:00.0: enabling device (0000 -> 0002)
[    5.296255] pci 0004:01:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0x801
[    5.296764] xhci_hcd 0004:01:00.0: Direct firmware load for K2026090.mem failed with error -2
[    5.296909] xhci_hcd 0004:01:00.0: Falling back to user helper
[   64.860662] tegra-xusb 3610000.xhci: cannot find firmware....retry after 1 second
[   65.884664] tegra-xusb 3610000.xhci: Direct firmware load for tegra19x_xusb_firmware failed with error -2
[   65.884850] tegra-xusb 3610000.xhci: Falling back to user helper
[   66.908783] xhci_hcd 0004:01:00.0: failed to load firmware K2026090.mem: -11
[   66.908955] xhci_hcd: probe of 0004:01:00.0 failed with error -11

通过lspci查看 貌似能识别到这个芯片,但是驱动没加载。

iking@iking:~$ lspci -v
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad1 (rev a1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 33
        Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
        Memory behind bridge: 40000000-400fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport

0004:01:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03) (prog-if 30 [XHCI])
        Flags: fast devsel, IRQ 33
        Memory at 1740000000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: <access denied>

2. 解决办法

从启动log看出 K2026090.mem 没有加载成功。 首先这个固件是从官方网站上下载得到的。下载地址。这里涉及到两种方式加载。

1) 在内核中加载

内核中配置两个选项 Device Drivers → Generic Driver Options

x x [*] Include in-kernel firmware blobs in kernel binary
x x (K2026090.mem) External firmware blobs to build into the kernel binary

将下载到的K2026090.mem 拷贝到内核源代码的firmware目录中。

编译,烧录即可

2)在应用层加载

在应用层加载需要将xhci_hcd 相关的驱动以module的形式编译出来,然后再在应用层insmode。获取相应的目录去寻找这些固件。

你可能感兴趣的:(网络,linux,运维)