FZ3 的 PCIe 插槽在 linux 用不了
ca...9@hotmail.com 发布于2020-01 浏览:7904 回复:28
2
收藏

FZ3 有個 PCIe x1 的插槽, 但是試了好幾片市面買來的 PCIe x1 插卡都不行, 其中包括 USB 3.0 擴展卡 和 Reatek 8111 的網卡

petalinux 環境下 lspci -v 是看到了偵測得到這些卡, 但是 dmesg | grep -i pci mesg | grep -i pci 就會看到 BAR0 等等未能成功配置 iomem 的區塊

會不會是 petalinux 或 dtb 的組建欠了些什麼? 這個 PCIe 槽對我司開發非常重要, 請幫幫忙解決一下. 謝謝.

收藏
点赞
2
个赞
共28条回复 最后由newnewman80回复于2020-04
#29newnewman80回复于2020-04
#27 ca...9@hotmail.com回复
你確定是找不到 pci 設備不是沒驅動嗎?    lspci 真的沒有你的網卡?
展开

lspci 没有找到双频网卡 。  应该不是驱动问题。 只能多试试几款网卡了。

0
#28newnewman80回复于2020-04
#27 ca...9@hotmail.com回复
你確定是找不到 pci 設備不是沒驅動嗎?    lspci 真的沒有你的網卡?
展开

修改了 vivado 下 pci 的一个 bar的参数  改成1M   后来就好了

0
#27ca...9@hotmail.com回复于2020-04
#26 newnewman80回复
目前解决了memory的问题, 扩大了BR0的size, 不过不知道是否需要修改设备树文件。设备树还是用官方的。 启动后找不到pci设备。只有一个root设备。启动显示:nwl-pcie fd0e0000.pcie: Link is DOWN
展开

你確定是找不到 pci 設備不是沒驅動嗎? 

 

lspci 真的沒有你的網卡?

0
#26newnewman80回复于2020-04
#25 ca...9@hotmail.com回复
我主要不是用 PCIe 無線卡的, 不過我也試過插上 mini-pcie 的 intel 網卡會掛機 我看你不如用 USB 的 無線網卡吧, 我試了好幾個都沒問題, 甚至用 USB - pcie 擴展卡插上 USB 的 無線網卡都沒問題 當然你要先裝好驅動, 你到 FZ3 /home 入面有 kernel module source 可以自己製出來
展开

目前解决了memory的问题, 扩大了BR0的size, 不过不知道是否需要修改设备树文件。设备树还是用官方的。 启动后找不到pci设备。只有一个root设备。启动显示:nwl-pcie fd0e0000.pcie: Link is DOWN

0
#25ca...9@hotmail.com回复于2020-04
#23 newnewman80回复
主要用pci无线网卡。目前pci设备还没找到,pci都配置进去了也没用。
展开

我主要不是用 PCIe 無線卡的, 不過我也試過插上 mini-pcie 的 intel 網卡會掛機

我看你不如用 USB 的 無線網卡吧, 我試了好幾個都沒問題, 甚至用 USB - pcie 擴展卡插上 USB 的 無線網卡都沒問題

當然你要先裝好驅動, 你到 FZ3 /home 入面有 kernel module source 可以自己製出來

0
#24newnewman80回复于2020-04
#22 ca...9@hotmail.com回复
哈, 太好了 打聽一下, 你是用 FZ3 來做什麼的? 要用 DMA 嗎?
展开

重新试了下你给的BIN 也出现

[ 1.795757] nwl-pcie fd0e0000.pcie: Link is UP
[ 1.799195] OF: PCI: host bridge /amba/pcie@fd0e0000 ranges:
[ 1.804807] OF: PCI: MEM 0xe0000000..0xefffffff -> 0xe0000000
[ 1.810678] OF: PCI: MEM 0x600000000..0x7ffffffff -> 0x600000000
[ 1.816939] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00
[ 1.822959] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.828405] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[ 1.835237] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref]
[ 1.843453] pci 0000:00:00.0: BAR 0: no space for [mem size 0x40000000]
[ 1.849255] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x40000000]
[ 1.856173] pci 0000:00:00.0: BAR 14: assigned [mem 0xe0000000-0xe00fffff]
[ 1.863008] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe007ffff 64bit]
[ 1.870286] pci 0000:01:00.0: BAR 6: assigned [mem 0xe0080000-0xe008ffff pref]
[ 1.877456] pci 0000:00:00.0: PCI bridge to [bus 01-0c]
[ 1.882643] pci 0000:00:00.0: bridge window [mem 0xe0000000-0xe00fffff]
[ 1.889475] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 1.895538] pcieport 0000:00:00.0: Signaling PME with IRQ 59

edgeboard-183 的,是上次发百度盘的么?  BIN文件日期是1月11日的。你那边是好的吗?是否可以共享一下配置文件?

1
#23newnewman80回复于2020-04
#22 ca...9@hotmail.com回复
哈, 太好了 打聽一下, 你是用 FZ3 來做什麼的? 要用 DMA 嗎?
展开

主要用pci无线网卡。目前pci设备还没找到,pci都配置进去了也没用。

0
#22ca...9@hotmail.com回复于2020-04
#21 newnewman80回复
是hdf文件问题。 已解决

哈, 太好了

打聽一下, 你是用 FZ3 來做什麼的? 要用 DMA 嗎?

0
#21newnewman80回复于2020-04
#20 newnewman80回复
内核编译后, Starting kernel ...   可能是设备树问题。 无解了。求助
展开

是hdf文件问题。 已解决

0
#20newnewman80回复于2020-03
#15 ca...9@hotmail.com回复
還有一樣, 不是PCI 有關的, 而是 device table, 假設你是用FZ3 來跑百度 AI 你要先把 FZ3 官方的 device tree table 匯出來 dtc -I fs /sys/firmware/devicetree/base 然後 在 petalinux-build 之前 copy 進去 成為: project-spec/meta-user/recipes-bsp/device-tree/files/ system-usr.dtsi 不然你build 出來的東西就與 百度的 fpgadrv.ko 不兼容, 百度 AI 可能跑不動 至於我就根本不是用來跑百度AI的, 所以 device tree table  不太重要  
展开

内核编译后, Starting kernel ...   可能是设备树问题。 无解了。求助

0
#19newnewman80回复于2020-03
#15 ca...9@hotmail.com回复
還有一樣, 不是PCI 有關的, 而是 device table, 假設你是用FZ3 來跑百度 AI 你要先把 FZ3 官方的 device tree table 匯出來 dtc -I fs /sys/firmware/devicetree/base 然後 在 petalinux-build 之前 copy 進去 成為: project-spec/meta-user/recipes-bsp/device-tree/files/ system-usr.dtsi 不然你build 出來的東西就與 百度的 fpgadrv.ko 不兼容, 百度 AI 可能跑不動 至於我就根本不是用來跑百度AI的, 所以 device tree table  不太重要  
展开

system-usr.dtsi  默认是空的吗?  默认情况下build出来的不能启动?  改成官方的,就有pcie的问题。

0
#18newnewman80回复于2020-03
#17 newnewman80回复
system-usr.dtsi  使用以后可以登入了 谢谢答复。

[ 2.148237] pci 0000:00:00.0: BAR 0: no space for [mem size 0x40000000]
[ 2.154093] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x40000000]

应该是 官方的dtsi 文件引起的这个问题。

0
#17newnewman80回复于2020-03
#16 newnewman80回复
目前我也不用百度AI , 使用petalinux build 自动生产 BOOT.BIN 和 image.ub 下载到tf卡上面, FZ3启动不了,没有打印。 不知道什么原因?是缺少什么配置了么?
展开

system-usr.dtsi  使用以后可以登入了

谢谢答复。

0
#16newnewman80回复于2020-03
#15 ca...9@hotmail.com回复
還有一樣, 不是PCI 有關的, 而是 device table, 假設你是用FZ3 來跑百度 AI 你要先把 FZ3 官方的 device tree table 匯出來 dtc -I fs /sys/firmware/devicetree/base 然後 在 petalinux-build 之前 copy 進去 成為: project-spec/meta-user/recipes-bsp/device-tree/files/ system-usr.dtsi 不然你build 出來的東西就與 百度的 fpgadrv.ko 不兼容, 百度 AI 可能跑不動 至於我就根本不是用來跑百度AI的, 所以 device tree table  不太重要  
展开

目前我也不用百度AI , 使用petalinux build 自动生产 BOOT.BIN 和 image.ub 下载到tf卡上面, FZ3启动不了,没有打印。 不知道什么原因?是缺少什么配置了么?

0
#15ca...9@hotmail.com回复于2020-03
#13 newnewman80回复
1、petalinux-create --type project --template zynqMP --name demo 2、petalinux-config --get-hw-description ../xx.sdk 3、petalinux-config -c kernel 4、petalinux-package --boot --fsbl ./images/linux/zynq_fsblmp.elf --fpga --u-boot --force 是使用zynqMP, hdf文件的生成过程都安装官方的设计没有修改。sdk生成linux的helloworld。 配置的时候uboot使用自动git下载, kernel指定demo上提供的源码。
展开

還有一樣, 不是PCI 有關的, 而是 device table,

假設你是用FZ3 來跑百度 AI

你要先把 FZ3 官方的 device tree table 匯出來

dtc -I fs /sys/firmware/devicetree/base

然後 在 petalinux-build 之前 copy 進去 成為:

project-spec/meta-user/recipes-bsp/device-tree/files/ system-usr.dtsi

不然你build 出來的東西就與 百度的 fpgadrv.ko 不兼容, 百度 AI 可能跑不動

至於我就根本不是用來跑百度AI的, 所以 device tree table  不太重要

 

0
#14ca...9@hotmail.com回复于2020-03
#13 newnewman80回复
1、petalinux-create --type project --template zynqMP --name demo 2、petalinux-config --get-hw-description ../xx.sdk 3、petalinux-config -c kernel 4、petalinux-package --boot --fsbl ./images/linux/zynq_fsblmp.elf --fpga --u-boot --force 是使用zynqMP, hdf文件的生成过程都安装官方的设计没有修改。sdk生成linux的helloworld。 配置的时候uboot使用自动git下载, kernel指定demo上提供的源码。
展开

petalinux-config -c kernel

入面跟 PCI 有關的都要 enable

petalinux-config -c rootfs

入面還有 libpci 甚麼的都要 enable 才行

 

0
#13newnewman80回复于2020-03
#12 newnewman80回复
可以用。 请问一下,编译环境是什么? 我使用petalinux2018.3、 linux 使用demo板上的源码, uboot自动下载。 完成编译后,放到demo板上不能运行。没有打印信息。
展开

1、petalinux-create --type project --template zynqMP --name demo

2、petalinux-config --get-hw-description ../xx.sdk

3、petalinux-config -c kernel

4、petalinux-package --boot --fsbl ./images/linux/zynq_fsblmp.elf --fpga --u-boot --force

是使用zynqMP, hdf文件的生成过程都安装官方的设计没有修改。sdk生成linux的helloworld。 配置的时候uboot使用自动git下载, kernel指定demo上提供的源码。

0
#12newnewman80回复于2020-03
#11 ca...9@hotmail.com回复
链接:https://pan.baidu.com/s/160SawirF01WRrmaIOFwVyg 提取码:vwv1 复制这段内容后打开百度网盘手机App,操作更方便哦
展开

可以用。 请问一下,编译环境是什么? 我使用petalinux2018.3、 linux 使用demo板上的源码, uboot自动下载。 完成编译后,放到demo板上不能运行。没有打印信息。

0
#11ca...9@hotmail.com回复于2020-03
#10 newnewman80回复
好的呀, 发邮箱吗 还是百度网盘?邮箱jone_lixm@foxmail.com
展开

链接:https://pan.baidu.com/s/160SawirF01WRrmaIOFwVyg
提取码:vwv1
复制这段内容后打开百度网盘手机App,操作更方便哦

0
#10newnewman80回复于2020-03
#9 ca...9@hotmail.com回复
你如果不介意, 我可以發 BOOT.bin 和 uImage 兩個文檔給你試試, 是我用 petalinux 2018.3 建的, 用了百度默認的 device tree
展开

好的呀, 发邮箱吗 还是百度网盘?邮箱jone_lixm@foxmail.com

0
TOP
切换版块