找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
楼主: dominic

[虚拟机相关] 开启RTL8125B的多队列支持和关闭ASPM。PVE 下J4125 测试有效

 火.. [复制链接]
发表于 2022-12-10 15:53 | 显示全部楼层
非常棒的教程,谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-15 14:26 | 显示全部楼层
大佬你好,PVE 7.3-3 版内核是5.18.15-pve。安装8125B驱动出错请问要怎么操作啊?谢谢



root@PVE:~# dpkg -i --force-overwrite realtek-r8125-dkms_9.009.00-1_amd64.deb
Selecting previously unselected package realtek-r8125-dkms.
(Reading database ... 77457 files and directories currently installed.)
Preparing to unpack realtek-r8125-dkms_9.009.00-1_amd64.deb ...
Unpacking realtek-r8125-dkms (9.009.00-1) ...
Setting up realtek-r8125-dkms (9.009.00-1) ...
Loading new realtek-r8125-9.009.00 DKMS files...
Building for 5.18.15-pve
Building for architecture amd64
Building initial module for 5.18.15-pve
Error! Bad return status for module build on kernel: 5.18.15-pve (amd64)
Consult /var/lib/dkms/realtek-r8125/9.009.00/build/make.log for more information.
dpkg: error processing package realtek-r8125-dkms (--install):
installed realtek-r8125-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:





以下是make.log
  1. DKMS make.log for realtek-r8125-9.009.00 for kernel 5.18.15-pve (amd64)
  2. Thu 15 Dec 2022 02:08:49 PM CST
  3. /bin/sh: 1: VER: not found
  4. make -C src/ KVER=5.18.15-pve BASEDIR=/lib/modules/5.18.15-pve modules
  5. make[1]: Entering directory '/var/lib/dkms/realtek-r8125/9.009.00/build/src'
  6. make -C /lib/modules/5.18.15-pve/build M=/var/lib/dkms/realtek-r8125/9.009.00/build/src modules
  7. make[2]: Entering directory '/usr/src/linux-headers-5.18.15-pve'
  8. warning: the compiler differs from the one used to build the kernel
  9.   The kernel was built by: cc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
  10.   You are using:           gcc (Debian 8.3.0-6) 8.3.0
  11.   CC [M]  /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.o
  12.   CC [M]  /var/lib/dkms/realtek-r8125/9.009.00/build/src/rtl_eeprom.o
  13.   CC [M]  /var/lib/dkms/realtek-r8125/9.009.00/build/src/rtltool.o
  14.   CC [M]  /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.o
  15. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c: In function ‘rtl8125_get_rss_hash_opts’:
  16. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:59:27: warning: this statement may fall through [-Wimplicit-fallthrough=]
  17.                  cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
  18. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:61:9: note: here
  19.          case UDP_V4_FLOW:
  20.          ^~~~
  21. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:62:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
  22.                  if (tp->rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV4)
  23.                     ^
  24. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:65:9: note: here
  25.          case IPV4_FLOW:
  26.          ^~~~
  27. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:69:27: warning: this statement may fall through [-Wimplicit-fallthrough=]
  28.                  cmd->data |= RXH_L4_B_0_1 | RXH_L4_B_2_3;
  29. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:71:9: note: here
  30.          case UDP_V6_FLOW:
  31.          ^~~~
  32. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:72:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
  33.                  if (tp->rss_flags & RTL_8125_RSS_FLAG_HASH_UDP_IPV6)
  34.                     ^
  35. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c:75:9: note: here
  36.          case IPV6_FLOW:
  37.          ^~~~
  38. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_rss.c: At top level:
  39. cc1: warning: unrecognized command line option ‘-Wno-alloc-size-larger-than’
  40. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.c: In function ‘rtl8125_init_board’:
  41. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.c:11955:14: error: implicit declaration of function ‘pci_set_dma_mask’; did you mean ‘pci_set_drvdata’? [-Werror=implicit-function-declaration]
  42.              !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
  43.               ^~~~~~~~~~~~~~~~
  44.               pci_set_drvdata
  45. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.c:11956:14: error: implicit declaration of function ‘pci_set_consistent_dma_mask’; did you mean ‘dma_set_coherent_mask’? [-Werror=implicit-function-declaration]
  46.              !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
  47.               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  48.               dma_set_coherent_mask
  49. /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.c: At top level:
  50. cc1: warning: unrecognized command line option ‘-Wno-alloc-size-larger-than’
  51. cc1: some warnings being treated as errors
  52. make[3]: *** [scripts/Makefile.build:289: /var/lib/dkms/realtek-r8125/9.009.00/build/src/r8125_n.o] Error 1
  53. make[2]: *** [Makefile:1844: /var/lib/dkms/realtek-r8125/9.009.00/build/src] Error 2
  54. make[2]: Leaving directory '/usr/src/linux-headers-5.18.15-pve'
  55. make[1]: *** [Makefile:176: modules] Error 2
  56. make[1]: Leaving directory '/var/lib/dkms/realtek-r8125/9.009.00/build/src'
  57. make: *** [Makefile:42: modules] Error 2
复制代码


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-15 20:14 | 显示全部楼层
感谢分享,,,,,,,,,,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-31 21:24 来自手机 | 显示全部楼层
楼主请问一下,如何在unraid中操作?unraid默认给8125用上8169的驱动…有点头大
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-31 21:24 来自手机 | 显示全部楼层
楼主请问一下,如何在unraid中操作?unraid默认给8125用上8169的驱动…有点头大

点评

用blacklist 禁用r8169驱动就可以的  详情 回复 发表于 2022-12-31 21:47
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-12-31 21:47 | 显示全部楼层
本帖最后由 dominic 于 2022-12-31 21:49 编辑
alicex 发表于 2022-12-31 21:24
楼主请问一下,如何在unraid中操作?unraid默认给8125用上8169的驱动…有点头大

用blacklist 禁用r8169驱动就可以的

比如:
echo "blacklist r8169" > /boot/config/modprobe.d/r8169.conf

点评

大佬 我的unraid6.9.2 blacklist禁用了r8169驱动了,可是启动后系统里看到的还是加载的r8169。。。还有什么绝招么。  详情 回复 发表于 2023-1-13 17:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-1-13 17:46 | 显示全部楼层
dominic 发表于 2022-12-31 21:47
用blacklist 禁用r8169驱动就可以的

比如:

大佬  我的unraid6.9.2  blacklist禁用了r8169驱动了,可是启动后系统里看到的还是加载的r8169。。。还有什么绝招么。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-19 20:54 | 显示全部楼层
非常感谢大佬的分享!!1
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-23 22:44 | 显示全部楼层
本帖最后由 威廉第三 于 2023-3-23 22:46 编辑

其实从高版本驱动借鉴几处修改,可以继续在PVE 6.2内核上编译9.007版本的驱动,开启4Rx 2Tx队列
  1. diff --git a/src/r8125.h b/src/r8125.h
  2. index 8b4085c..723c6f1 100755
  3. --- a/src/r8125.h
  4. +++ b/src/r8125.h
  5. @@ -616,7 +616,11 @@ typedef int *napi_budget;
  6. typedef struct napi_struct *napi_ptr;
  7. typedef int napi_budget;

  8. +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0)
  9. #define RTL_NAPI_CONFIG(ndev, priv, function, weight)   netif_napi_add(ndev, &priv->napi, function, weight)
  10. +#else
  11. +#define RTL_NAPI_CONFIG(ndev, priv, function, weight)   netif_napi_add_weight(ndev, &priv->napi, function, weight)
  12. +#endif
  13. #define RTL_NAPI_QUOTA(budget, ndev)            min(budget, budget)
  14. #define RTL_GET_PRIV(stuct_ptr, priv_struct)        container_of(stuct_ptr, priv_struct, stuct_ptr)
  15. #define RTL_GET_NETDEV(priv_ptr)            struct net_device *dev = priv_ptr->dev;
  16. diff --git a/src/r8125_n.c b/src/r8125_n.c
  17. index ec117a7..5c29a4b 100755
  18. --- a/src/r8125_n.c
  19. +++ b/src/r8125_n.c
  20. @@ -348,7 +348,7 @@ static int rtl8125_change_mtu(struct net_device *dev, int new_mtu);
  21. static void rtl8125_down(struct net_device *dev);

  22. static int rtl8125_set_mac_address(struct net_device *dev, void *p);
  23. -static void rtl8125_rar_set(struct rtl8125_private *tp, uint8_t *addr);
  24. +static void rtl8125_rar_set(struct rtl8125_private *tp, const u8 *addr);
  25. static void rtl8125_desc_addr_fill(struct rtl8125_private *);
  26. static void rtl8125_tx_desc_init(struct rtl8125_private *tp);
  27. static void rtl8125_rx_desc_init(struct rtl8125_private *tp);
  28. @@ -1746,7 +1746,11 @@ static void rtl8125_proc_module_init(void)
  29. static int rtl8125_proc_open(struct inode *inode, struct file *file)
  30. {
  31.          struct net_device *dev = proc_get_parent_data(inode);
  32. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
  33. +        int (*show)(struct seq_file *, void *) = pde_data(inode);
  34. +#else
  35.          int (*show)(struct seq_file *, void *) = PDE_DATA(inode);
  36. +#endif //LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)

  37.          return single_open(file, show, dev);
  38. }
  39. @@ -10720,6 +10724,16 @@ rtl8125_release_board(struct pci_dev *pdev,
  40.          free_netdev(dev);
  41. }

  42. +static void
  43. +rtl8125_hw_address_set(struct net_device *dev, u8 mac_addr[MAC_ADDR_LEN])
  44. +{
  45. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
  46. +        eth_hw_addr_set(dev, mac_addr);
  47. +#else
  48. +        memcpy(dev->dev_addr, mac_addr, MAC_ADDR_LEN);
  49. +#endif //LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
  50. +}
  51. +
  52. static int
  53. rtl8125_get_mac_address(struct net_device *dev)
  54. {
  55. @@ -10743,24 +10757,21 @@ rtl8125_get_mac_address(struct net_device *dev)
  56.          if (!is_valid_ether_addr(mac_addr)) {
  57.                  netif_err(tp, probe, dev, "Invalid ether addr %pM\n",
  58.                            mac_addr);
  59. -                eth_hw_addr_random(dev);
  60. -                ether_addr_copy(mac_addr, dev->dev_addr);
  61. +                eth_random_addr(mac_addr);
  62. +                dev->addr_assign_type = NET_ADDR_RANDOM;
  63.                  netif_info(tp, probe, dev, "Random ether addr %pM\n",
  64.                             mac_addr);
  65.                  tp->random_mac = 1;
  66.          }

  67. +        rtl8125_hw_address_set(dev, mac_addr);
  68.          rtl8125_rar_set(tp, mac_addr);

  69. -        for (i = 0; i < MAC_ADDR_LEN; i++) {
  70. -                dev->dev_addr[i] = RTL_R8(tp, MAC0 + i);
  71. -                tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */
  72. -        }
  73. +        /* keep the original MAC address */
  74. +        memcpy(tp->org_mac_addr, dev->dev_addr, MAC_ADDR_LEN);
  75. #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)
  76.          memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
  77. #endif
  78. -//  memcpy(dev->dev_addr, dev->dev_addr, dev->addr_len);
  79. -
  80.          return 0;
  81. }

  82. @@ -10781,7 +10792,7 @@ rtl8125_set_mac_address(struct net_device *dev,
  83.          if (!is_valid_ether_addr(addr->sa_data))
  84.                  return -EADDRNOTAVAIL;

  85. -        memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
  86. +        rtl8125_hw_address_set(dev, addr->sa_data);

  87.          rtl8125_rar_set(tp, dev->dev_addr);

  88. @@ -10796,7 +10807,7 @@ rtl8125_set_mac_address(struct net_device *dev,
  89.   *****************************************************************************/
  90. void
  91. rtl8125_rar_set(struct rtl8125_private *tp,
  92. -                uint8_t *addr)
  93. +                const u8 *addr)
  94. {
  95.          uint32_t rar_low = 0;
  96.          uint32_t rar_high = 0;
  97. @@ -11476,6 +11487,57 @@ static int ethtool_ioctl(struct ifreq *ifr)
  98. }
  99. #endif //ETHTOOL_OPS_COMPAT

  100. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
  101. +static int rtl8125_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
  102. +                                  void __user *data, int cmd)
  103. +{
  104. +        struct rtl8125_private *tp = netdev_priv(dev);
  105. +        int ret = 0;
  106. +
  107. +        switch (cmd) {
  108. +#ifdef ENABLE_DASH_SUPPORT
  109. +        case SIOCDEVPRIVATE_RTLDASH:
  110. +                if (!netif_running(dev)) {
  111. +                        ret = -ENODEV;
  112. +                        break;
  113. +                }
  114. +                if (!capable(CAP_NET_ADMIN)) {
  115. +                        ret = -EPERM;
  116. +                        break;
  117. +                }
  118. +
  119. +                ret = rtl8125_dash_ioctl(dev, ifr);
  120. +                break;
  121. +#endif
  122. +
  123. +#ifdef ENABLE_REALWOW_SUPPORT
  124. +        case SIOCDEVPRIVATE_RTLREALWOW:
  125. +                if (!netif_running(dev)) {
  126. +                        ret = -ENODEV;
  127. +                        break;
  128. +                }
  129. +
  130. +                ret = rtl8125_realwow_ioctl(dev, ifr);
  131. +                break;
  132. +#endif
  133. +
  134. +        case SIOCRTLTOOL:
  135. +                if (!capable(CAP_NET_ADMIN)) {
  136. +                        ret = -EPERM;
  137. +                        break;
  138. +                }
  139. +
  140. +                ret = rtl8125_tool_ioctl(tp, ifr);
  141. +                break;
  142. +
  143. +        default:
  144. +                ret = -EOPNOTSUPP;
  145. +        }
  146. +
  147. +        return ret;
  148. +}
  149. +#endif //LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
  150. +
  151. static int
  152. rtl8125_do_ioctl(struct net_device *dev,
  153.                   struct ifreq *ifr,
  154. @@ -11483,9 +11545,8 @@ rtl8125_do_ioctl(struct net_device *dev,
  155. {
  156.          struct rtl8125_private *tp = netdev_priv(dev);
  157.          struct mii_ioctl_data *data = if_mii(ifr);
  158. -        int ret;
  159. +        int ret = 0;

  160. -        ret = 0;
  161.          switch (cmd) {
  162.          case SIOCGMIIPHY:
  163.                  data->phy_id = 32; /* Internal PHY */
  164. @@ -11509,6 +11570,16 @@ rtl8125_do_ioctl(struct net_device *dev,
  165.                  break;
  166. #endif

  167. +#ifdef ENABLE_PTP_SUPPORT
  168. +        case SIOCSHWTSTAMP:
  169. +        case SIOCGHWTSTAMP:
  170. +                if (tp->EnablePtp)
  171. +                        ret = rtl8125_ptp_ioctl(dev, ifr, cmd);
  172. +                else
  173. +                        ret = -EOPNOTSUPP;
  174. +                break;
  175. +#endif
  176. +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
  177. #ifdef ENABLE_DASH_SUPPORT
  178.          case SIOCDEVPRIVATE_RTLDASH:
  179.                  if (!netif_running(dev)) {
  180. @@ -11531,22 +11602,24 @@ rtl8125_do_ioctl(struct net_device *dev,
  181.                          break;
  182.                  }

  183. +                if (!capable(CAP_NET_ADMIN)) {
  184. +                        ret = -EPERM;
  185. +                        break;
  186. +                }
  187. +
  188.                  ret = rtl8125_realwow_ioctl(dev, ifr);
  189.                  break;
  190. #endif

  191. -#ifdef ENABLE_PTP_SUPPORT
  192. -        case SIOCSHWTSTAMP:
  193. -        case SIOCGHWTSTAMP:
  194. -                if (tp->EnablePtp)
  195. -                        ret = rtl8125_ptp_ioctl(dev, ifr, cmd);
  196. -                else
  197. -                        ret = -EOPNOTSUPP;
  198. -                break;
  199. -#endif
  200.          case SIOCRTLTOOL:
  201. +                if (!capable(CAP_NET_ADMIN)) {
  202. +                        ret = -EPERM;
  203. +                        break;
  204. +                }
  205. +
  206.                  ret = rtl8125_tool_ioctl(tp, ifr);
  207.                  break;
  208. +#endif //LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)

  209.          default:
  210.                  ret = -EOPNOTSUPP;
  211. @@ -11689,11 +11762,11 @@ rtl8125_init_board(struct pci_dev *pdev,

  212.          if ((sizeof(dma_addr_t) > 4) &&
  213.              use_dac &&
  214. -            !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
  215. -            !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
  216. +            !dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) &&
  217. +            !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
  218.                  dev->features |= NETIF_F_HIGHDMA;
  219.          } else {
  220. -                rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
  221. +                rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
  222.                  if (rc < 0) {
  223. #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
  224.                          if (netif_msg_probe(tp))
  225. @@ -11778,6 +11851,9 @@ rtl8125_esd_checker(struct rtl8125_private *tp)
  226.          u32 pci_sn_l;
  227.          u32 pci_sn_h;

  228. +        if (unlikely(tp->rtk_enable_diag))
  229. +                goto exit;
  230. +
  231.          tp->esd_flag = 0;

  232.          pci_read_config_byte(pdev, PCI_COMMAND, &cmd);
  233. @@ -12081,7 +12157,12 @@ static const struct net_device_ops rtl8125_netdev_ops = {
  234.          .ndo_tx_timeout     = rtl8125_tx_timeout,
  235.          .ndo_change_mtu     = rtl8125_change_mtu,
  236.          .ndo_set_mac_address    = rtl8125_set_mac_address,
  237. +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
  238.          .ndo_do_ioctl       = rtl8125_do_ioctl,
  239. +#else
  240. +        .ndo_siocdevprivate = rtl8125_siocdevprivate,
  241. +        .ndo_eth_ioctl      = rtl8125_do_ioctl,
  242. +#endif //LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
  243. #if LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)
  244.          .ndo_set_multicast_list = rtl8125_set_rx_mode,
  245. #else
  246. @@ -12444,6 +12525,10 @@ rtl8125_init_one(struct pci_dev *pdev,
  247. #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
  248.                  dev->hw_features |= NETIF_F_IPV6_CSUM | NETIF_F_TSO6;
  249.                  dev->features |=  NETIF_F_IPV6_CSUM;
  250. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
  251. +                netif_set_tso_max_size(dev, LSO_64K);
  252. +                netif_set_tso_max_segs(dev, NIC_MAX_PHYS_BUF_COUNT_LSO2);
  253. +#else //LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
  254.                  netif_set_gso_max_size(dev, LSO_64K);
  255. #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
  256.                  dev->gso_max_segs = NIC_MAX_PHYS_BUF_COUNT_LSO2;
  257. @@ -12451,6 +12536,7 @@ rtl8125_init_one(struct pci_dev *pdev,
  258.                  dev->gso_min_segs = NIC_MIN_PHYS_BUF_COUNT;
  259. #endif //LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
  260. #endif //LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
  261. +#endif //LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)

  262. #endif //LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
  263. #endif //LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0)
复制代码


点评

PVE8,内核6.2编译运行通过,感谢指导  详情 回复 发表于 2023-7-2 18:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-24 22:31 | 显示全部楼层
在github上找到个大哥编译好的开了rss的驱动;
https://github.com/awesometic/realtek-r8125-dkms

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

我测试发现。。还不如内核自带的r8269的性能好。。一言难尽  详情 回复 发表于 2023-7-26 14:11
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-5-28 18:45 | 显示全部楼层
更新到9.011了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-7-1 02:28 | 显示全部楼层
楼主千古
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-7-2 18:51 | 显示全部楼层
本帖最后由 ld0574 于 2023-7-5 14:05 编辑
威廉第三 发表于 2023-3-23 22:44
其实从高版本驱动借鉴几处修改,可以继续在PVE 6.2内核上编译9.007版本的驱动,开启4Rx 2Tx队列

PVE8,内核6.2,9.011版本编译运行通过,感谢指导

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

PVE 8.0一直没安装上,重装PVE好几次了  详情 回复 发表于 2023-11-22 23:58
发布在:https://github.com/devome/realtek-r8125-dkms  发表于 2023-8-16 09:00
同求deb文件  详情 回复 发表于 2023-7-26 14:31
求大佬发一个编译好的deb文件  详情 回复 发表于 2023-7-14 00:26
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-7-10 20:35 | 显示全部楼层
谢谢楼主用心了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-7-14 00:26 | 显示全部楼层
ld0574 发表于 2023-7-2 18:51
PVE8,内核6.2,9.011版本编译运行通过,感谢指导

求大佬发一个编译好的deb文件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 07:18

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表