<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/rss/stylesheet/" type="text/xsl"?>
<rss xmlns:content='http://purl.org/rss/1.0/modules/content/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:itunes='http://www.itunes.com/dtds/podcast-1.0.dtd' xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:podbridge='http://www.podbridge.com/podbridge-ad.dtd' version='2.0'>
<channel>
  <title>Snicoe&apos;s Blog</title>
  <language>zh-cn</language>
  <generator>microfeed.org</generator>
  <itunes:type>serial</itunes:type>
  <itunes:explicit>false</itunes:explicit>
  <atom:link rel="self" href="https://blog-arklink-org.pages.dev/rss/" type="application/rss+xml"/>
  <link>https://blog.arklink.org</link>
  <description>
    <![CDATA[<p>这里是Snicoe自言自语的地方，随便写点东西，也没啥人看，所以看心情更新一些陈芝麻烂谷子的东西。</p><p>我可能不会经常维护此站点，也许可能永久不更新消失在汪洋互联网之中，会回来吗？也许吧，Good Luck！</p><p>社媒: <a href="https://www.instagram.com/snicoe0716" rel="noopener noreferrer" target="_blank">Instagram</a> | <a href="https://www.youtube.com/@snicoeofficial" rel="noopener noreferrer" target="_blank">Youtube</a> | <a href="https://x.com/snicoeofficial" rel="noopener noreferrer" target="_blank">X / Twitter</a></p><p>如果你使用了我的部分服务可以前往<a href="https://status0.arklink.org" rel="noopener noreferrer" target="_blank">Status</a>页面查看可用状态，全部服务均优先运行在IPv6网络。</p><p>本人生理男性并自认为男性，性取向正常，社恐一个，看心情回复❤️。</p>]]>
  </description>
  <itunes:author>Snicoeの自言自语</itunes:author>
  <itunes:image href="https://media-cdn.arklink.org/blog-arklink-org/production/images/channel-35018318ef9161a58e1728b4144ab0a9.png"/>
  <image>
    <title>Snicoe&apos;s Blog</title>
    <url>https://media-cdn.arklink.org/blog-arklink-org/production/images/channel-35018318ef9161a58e1728b4144ab0a9.png</url>
    <link>https://blog.arklink.org</link>
  </image>
  <copyright>©2019-2026</copyright>
  <itunes:category text="Science"/>
  <item>
    <title>OpenWrt 25.14添加Qlogic QL41系列网卡驱动</title>
    <guid>D3JIwirfOZe</guid>
    <pubDate>Wed, 08 Jul 2026 14:31:14 GMT</pubDate>
    <itunes:explicit>false</itunes:explicit>
    <description>
      <![CDATA[<p>这沟槽的网卡也是很逆天了，目前不在openwrt中主线提供qede只有第三方编译的版本才提供，所以原生op无法驱动，使用源码编译会失去原生的包管理器，因为签名对不上。</p><p>原生openwrt sdk交叉编译环境中内核也是被裁减过的，不包含关键的qed和qede驱动，需要从相同Kernel主线中拉Qlogic驱动，然后编译出apk装进去</p><p>一、下载Linux源码，25.14是6.12.78 内核，所以对应主线6.12，解压找到drivers/net/ethernet/qlogic，把底下的所有文件复制出来备用。</p><pre class="ql-syntax" spellcheck="false">wget https://github.com/torvalds/linux/archive/refs/tags/v6.12.zip
</pre><p>二、下载openwrt交叉编译环境，选择相同的环境sdk，下载解压它，系统需要ubuntu 24.04 lts，当然debian系都差不多，所以没区别，环境可以看官方文档</p><pre class="ql-syntax" spellcheck="false">wget https://archive.openwrt.org/releases/25.12.4/targets/x86/64/openwrt-sdk-25.12.4-x86-64_gcc-14.3.0_musl.Linux-x86_64.tar.zst
</pre><p>三、创建驱动源码目录</p><pre class="ql-syntax" spellcheck="false">mkdir -p package/kmod-qed/
mkdir -p package/kmod-qede/
mkdir -p qlogic-drivers/qlogic #把从内核主线里面的驱动全部解压到这个目录
</pre><p>四、编写两个模块的Makefile</p><pre class="ql-syntax" spellcheck="false"># vim package/kmod-qed/Makefile 写入
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=kmod-qed
PKG_VERSION:=6.12.87
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define KernelPackage/qed
&nbsp;SUBMENU:=Network Devices
&nbsp;TITLE:=QLogic QED 25/40/100Gb core driver
&nbsp;DEPENDS:=@PCI_SUPPORT +kmod-lib-zlib-inflate +kmod-lib-crc8&nbsp;
&nbsp;FILES:=$(PKG_BUILD_DIR)/qed.ko
&nbsp;AUTOLOAD:=$(call AutoProbe,qed)
endef

define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	cp -r /home/snicoe/qlogic-drivers/qlogic/qed/* $(PKG_BUILD_DIR)/
	echo 'ccflags-y += -DCONFIG_QED=1 -DCONFIG_QED_LL2=1 -DCONFIG_QED_L2=1 -DCONFIG_QED_SRIOV=1 -DCONFIG_QED_RDMA=1 -DCONFIG_QED_ROCE=1 -DCONFIG_QED_IWARP=1 -DCONFIG_QED_ISCSI=1 -DCONFIG_QED_FCOE=1 -DCONFIG_QED_OOO=1 -DCONFIG_QED_NVMETCP=1 -Wno-missing-prototypes -Wno-missing-declarations' &gt; $(PKG_BUILD_DIR)/Makefile
	echo 'qed-y := qed_main.o qed_dev.o qed_hw.o qed_cxt.o qed_selftest.o qed_debug.o qed_init_fw_funcs.o qed_init_ops.o qed_int.o qed_mcp.o qed_mng_tlv.o qed_sp_commands.o qed_spq.o qed_l2.o qed_ll2.o qed_sriov.o qed_vf.o qed_ptp.o qed_roce.o qed_rdma.o qed_iwarp.o qed_ooo.o qed_iscsi.o qed_fcoe.o qed_nvmetcp.o qed_nvmetcp_fw_funcs.o qed_devlink.o qed_dcbx.o qed_chain.o' &gt;&gt; $(PKG_BUILD_DIR)/Makefile
	echo 'obj-m += qed.o' &gt;&gt; $(PKG_BUILD_DIR)/Makefile
endef

define Build/Compile
	$(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" modules
endef

$(eval $(call KernelPackage,qed))

#vim package/kmod-qede/Makefile 写入
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=kmod-qede
PKG_VERSION:=6.12.87
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define KernelPackage/qede
&nbsp;SUBMENU:=Network Devices
&nbsp;TITLE:=QLogic QEDE 25/40/100Gb Ethernet driver
&nbsp;DEPENDS:=@PCI_SUPPORT +kmod-qed
&nbsp;FILES:=$(PKG_BUILD_DIR)/qede.ko
&nbsp;AUTOLOAD:=$(call AutoProbe,qede)
endef

define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	cp -r /home/snicoe/qlogic-drivers/qlogic/qede/* $(PKG_BUILD_DIR)/
	
	echo 'ccflags-y += -DCONFIG_QED_LL2=1 -DCONFIG_QED_SRIOV=1 -DCONFIG_QED_DCB=1 -DCONFIG_QED_RDMA=1 -DCONFIG_QED_ROCE=1 -DCONFIG_QED_IWARP=1 -Wno-missing-prototypes -Wno-missing-declarations' &gt; $(PKG_BUILD_DIR)/Makefile
	
	echo 'qede-y := qede_main.o qede_filter.o qede_fp.o qede_ethtool.o qede_rdma.o qede_ptp.o qede_dcbnl.o' &gt;&gt; $(PKG_BUILD_DIR)/Makefile
	echo 'obj-m += qede.o' &gt;&gt; $(PKG_BUILD_DIR)/Makefile
endef

define Build/Compile
	$(KERNEL_MAKE) M="$(PKG_BUILD_DIR)" \
		KBUILD_EXTRA_SYMBOLS="/home/snicoe/openwrt-sdk-25.12.4-x86-64_gcc-14.3.0_musl.Linux-x86_64/build_dir/target-x86_64_musl/linux-x86_64/symvers/kmod-qed.symvers" \
		modules
endef

$(eval $(call KernelPackage,qede))
</pre><p>五、准备编译</p><pre class="ql-syntax" spellcheck="false">./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
</pre><p>在<strong>Kernel modules &gt; Network Devices</strong>里面把qed和qede两个模块钩上，然后开始编译这两个模块</p><pre class="ql-syntax" spellcheck="false">make package/kmod-qede/compile V=s
make package/kmod-qed/compile V=s
</pre><p>六、安装kmod</p><p>理论上你就在bin/targets/x86/64/packages可以找到kmod-qed和kmod-qede这两个模块，scp到openwrt上，先安装qed，因为qede的依赖是qed。</p><pre class="ql-syntax" spellcheck="false">apk add --allow-untrusted kmod-qed-6.12.87-r1.apk
apk add --allow-untrusted kmod-qede-6.12.87-r1.apk
</pre><p>到这差不多就结束了，关键模块就装完了，到时候卡到了测试一下。</p><p><br></p><p><br></p>]]>
    </description>
    <link>https://blog.arklink.org/i/openwrt-2514qlogic-ql41-D3JIwirfOZe/</link>
    <itunes:episodeType>full</itunes:episodeType>
  </item>
</channel>
</rss>