Comments (9)
have you met this issue before?
from corundum.
The CMAC core interface changed in Vivado 2020.1. Previously all of the serdes pins were separate ports, but in 2020.1 this was changed to be one set of ports with the channels concatenated. So, either upgrade to 2020.1 or patch the CMAC instances in fpga.v.
from corundum.
thanks for your tips. I can successfully make AU280/fpga_100g and make program now. After I insmod mqnic.ko to test the project, I lsmod to make sure the driver mqnic exits. But I see nothing about the driver mqnic when I dmesg | grep mqnic. I was wondering how the driver test the project and what is the correct test result that is shown by the driver.
from corundum.
The machine must be rebooted after programming the FPGA to re-enumerate the PCIe bus due to the PCIe BAR configuration on the card changing (this is an annoying limitation of PCIe, the bus can only be fully enumerated on boot and afterwards certain changes cannot be made, unless provisions are made to reserve resources beforehand). Once you do that, you should be able to load the driver. Now, if you simply load a new revision of corundum onto the card after it has successfully enumerated as corundum, you can usually get away with a PCIe hot reset instead of a full reboot so long as you don't change the BAR configuration. There is a script to do that: fpga/lib/pcie/scripts/pcie_hot_reset.sh. This functionality is also included in mqnic-fw, but that currently has a chicken-and-egg problem of refusing to connect to the card if it needs to be reset, so for the meantime you'll need to use pcie_hot_reset.sh. Also note that if you have the card installed in a server, you may need to run pcie_disable_fatal_err.sh to prevent the IPMI controller from rebooting the server.
from corundum.
I rebooted and the driver can monitor the pcie device successfully. Here is the result. Does it work well? The host eth0 and eth1 didn't connect to the card. only pcie connected. Will it effect the whole work?
from corundum.
I am trying to run corundum to find out if corundum can support the 100g full duplex transmission between two fpga cards like AU280 through the qsfp28 eth port and network switch. If corundum can't, How hard I can change your project to meet the demand?
from corundum.
That looks correct. At that point, you should be able to put the interfaces up, add IP addresses, and ping, run iperf, etc. The 100G interfaces are generally rather robust; I have had issues with 10G interfaces sometimes not coming up without resetting the design.
It should be able to get close to 100 Gbps, especially if you use jumbo frames. The limit is primarily the linux kernel networking stack, although there may be some driver optimizations that could help with throughput, especially for smaller packet sizes. I have had issues with running both high rate RX and TX at the same time, but it's unclear if the bottleneck is in the NIC design, PCIe hard IP core, host system, driver, OS, or application. I have been working to incrementally improve the performance under various conditions, but it's not a simple problem to solve.
from corundum.
I try to put the interfaces up. So I ifconfig -a to find the down-state eth. But I can't see it. Then I lspci | grep eth and find the device. af:00.0 can correspond the driver mqnic. Does the driver have some problems that make the host can't identify the device as NIC?
from corundum.
Try
ip link
To list the devices. It does appear in lspci, that last entry is the FPGA. And the driver would not show anything in dmesg if it wasn't detected. The driver then registers the network interfaces with the OS. You can see references to eth0 at the bottom of the dmesg output.
To bring the link up, try something like
ip link set dev eth0 up
And then
ip addr add 10.0.0.1/24 dev eth0
from corundum.
Related Issues (20)
- Why is distributed RAM used to store packages on the chip, and why is it divided into segment?
- Missing prerequisite in makefile HOT 1
- Document needs to be updated
- Custom App Ports HOT 2
- Cocotb with icarus verilog gets frozen stuck at some point during simulation: How to debug? HOT 2
- port to zc706 HOT 1
- insmod mqnic.ko error HOT 2
- Does corundum support two devices in a server? HOT 3
- Accelerating PPPOE
- petalinux compile error for mqnic module HOT 8
- nic
- Error "Device needs to be reset" when insmod mqnic.ko HOT 1
- AU50 working with DAC but not Optical HOT 3
- issues in doc HOT 1
- Porting PCIe example to zu7cg HOT 7
- mqnic is not compilent from modern kernel HOT 1
- Weird bugs meet with fb2CG and Vivado 2023.2 HOT 3
- Inquiry on Round-Trip Latency
- problem while building the driver HOT 7
- Troubleshooting Interface Configuration Issue with mqnic Driver HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corundum.