> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 启用 Ethernet

下图展示了在参考套件上启用 Ethernet 的工作流程。

<Frame caption="Ethernet 启用工作流程">
  <img src="https://mintcdn.com/qualcomm-prod/h7j64QujhJHkLxyj/Technologies/Ethernet/media/qli-ethernet/bringup-workflow.svg?fit=max&auto=format&n=h7j64QujhJHkLxyj&q=85&s=df099c8909928ece63a7554f5a77a244" alt="Ethernet 启用工作流程" width="769" height="133" data-path="Technologies/Ethernet/media/qli-ethernet/bringup-workflow.svg" />
</Frame>

<Tabs>
  <Tab title="QCS6490">
    <Note>
      * 在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
      * QPS615 MAC 驱动和内核配置在源代码中默认启用。
      * 要启用 Qualcomm 提供的配置之外的硬件配置，请参阅[启用替代硬件](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/bring-up-ethernet#bring-up-alternate-hardware-enablement)。
    </Note>

    要在 RB3 Gen 2 开发套件上启用 Ethernet 功能，请执行以下操作：

    > 1. RB3 Gen 2 开发套件出厂时带有[预配置的 MAC 地址](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/configure-ethernet-features#verify-preconfigured-mac-address)。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，要更改设备上预配置的 MAC 地址，请执行以下步骤：
    >    >
    >    > 1. 关闭接口。
    >    >    > ```text theme={null}
    >    >    > ip link set <Interface_name> down
    >    >    > ```
    >    >    >
    >    >    > 例如：
    >    >    >
    >    >    > ```text theme={null}
    >    >    > ip link set enP1p5s0f0 down
    >    >    > ```
    >    > 2. 分配 MAC 地址。
    >    >    > ```text theme={null}
    >    >    > ip link set dev <Interface_name> address <MAC>
    >    >    > ```
    >    >    >
    >    >    > 例如：
    >    >    >
    >    >    > ```text theme={null}
    >    >    > ip link set dev enP15s0f0 address XX:XX:XX:YY:YY:YY
    >    >    > ```
    >    > 3. 启动接口。
    >    >    > ```text theme={null}
    >    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    >    > ip link set dev <Interface_name> up
    >    >    > ```
    >    >    >
    >    >    > 例如：
    >    >    >
    >    >    > ```text theme={null}
    >    >    > ip addr add 169.254.227.235/16 dev enP1p5s0f0
    >    >    > ip link set dev enP1p5s0f0 up
    >    >    > ```
    >    >    >
    >    >    > 示例输出：
    >    >    >
    >    >    > ```text theme={null}
    >    >    > ip -s addr show dev enP1p5s0f1
    >    >    > enP1p5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >    >     link/ether 62:99:60:23:4d:52 brd ff:ff:ff:ff:ff:ff
    >    >    >     RX:  bytes packets errors dropped  missed   mcast
    >    >    >         105971     313      0       2       0       0
    >    >    >     TX:  bytes packets errors dropped carrier collsns
    >    >    >         145434     762      0       2       0       0
    >    >    > ```
    >    >    >
    >    >    >     <Note>
    >    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为持久化存储中的地址，具体说明见[验证预配置的 MAC 地址](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/configure-ethernet-features#qcs6490)。
    >    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 169.254.227.235/16 dev enP1p5s0f0
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > ip -s addr show dev enP1p5s0f1
    >    > enP1p5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >     link/ether 62:99:60:23:4d:52 brd ff:ff:ff:ff:ff:ff
    >    >     RX:  bytes packets errors dropped  missed   mcast
    >    >         105971     313      0       2       0       0
    >    >     TX:  bytes packets errors dropped carrier collsns
    >    >         145434     762      0       2       0       0
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 IP 地址仅在当前启动周期内有效。重启设备后，该 IP 地址不会保留。
    >    >     </Note>
    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev enP1p5s0f0 down
    >    >
    >    > ip link set dev enP1p5s0f0 mtu 1500
    >    >
    >    > ip link set dev enP1p5s0f0 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > ip -s addr show dev enP1p5s0f1
    >    > enP1p5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >     link/ether 62:99:60:23:4d:52 brd ff:ff:ff:ff:ff:ff
    >    >     RX:  bytes packets errors dropped  missed   mcast
    >    >         105971     313      0       2       0       0
    >    >     TX:  bytes packets errors dropped carrier collsns
    >    >         145434     762      0       2       0       0
    >    > ```

    ## **启用替代硬件**

    您可以连接并启用 Qualcomm 提供的硬件配置之外的 MAC/PHY 组件。要将 QPS615 替换为其他基于 PCIe 的 MAC/PHY，请参阅 [QPS615 交换机的 PCIe 软件支持](https://dragonwingdocs.qualcomm.com/System/Interfaces/pcie#enable-qps615-pcie-switch)。

    <Note>
      您必须从相应供应商处获取 MAC/PHY 驱动和固件。Qualcomm 对这些配置更改不承担责任。
    </Note>

    ### **保留 QPS615 PCIe 并替换 QEP8121/AQR113C**

    要保留 QPS615 PCIe 并将 QEP8121/AQR113C 替换为其他 PHY 组件，请执行以下操作：

    1. 根据所连接 PHY 的建议，更新 `arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-staging.dtso` 文件中的所有参数。
    2. 编译软件。
       QEP PHY 示例代码：
       ```text theme={null}
       qep_vreg: qep_vreg {
                  compatible = "regulator-fixed";
                  regulator-name = "qep_vreg";
                  gpio = <&pm7325_gpios 8 0>;
                  regulator-min-microvolt = <1800000>;
                  regulator-max-microvolt = <1800000>;
                  enable-active-high;
               };
       pci@0,1 {
               interrupts-extended = <&tlmm 101 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               phy-supply = <&qep_vreg>;
               pinctrl-names = "default";
               pinctrl-0 = <&napa_intn_wol_sig>;
               phy-reset-gpios = <&qps615 1 GPIO_ACTIVE_LOW>;
               reset-deassert-us = <20000>;
               };
       ```
       烧写修改后的软件后，QPS615 驱动会扫描与其连接的物理设备，并与设备树信息进行匹配。
           <Note>
             如果 `.dtso` 文件中的配置与 PHY 的实际建议不匹配，PHY 可能会加载失败。在这种情况下，您必须相应地更新 `.dtso` 文件中的配置。
           </Note>

    ## **AQR PHY 启用**

    虽然用于 10 GbE 的 AQR PHY 是可选的，但它已在参考 RB3 Gen 2 开发套件上通过验证。首次使用 AQR PHY 启用 Ethernet 时，需将 PHY 固件烧写到硬件一次。之后 AQR PHY 会被检测到，并且 PHY 驱动默认启用。

    Qualcomm 已在 RB3 Gen 2 开发套件上验证了以下 AQR PHY 固件：

    * Marvell 固件：`AQR-G4_v5.6.1-QR_Marvell_NoSwap_XFI_ID44874_VER1836.cld`
    * 建议使用 Marvell 专有的 flashburn 工具烧写 Marvell AQR113 PHY。
    * 请联系 Marvell Technology, Inc. 获取 AQR PHY 固件。

    ### **检测 PHY**

    要检测 PHY，请执行以下操作：

    1. 更新 `arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-staging.dtso` 文件中的 AQR PHY 参数。
    2. 编译软件。
       AQR PHY 示例代码：
       ```text theme={null}
       aqr_vreg: aqr_vreg {
               compatible = "regulator-fixed";
               regulator-name = "aqr_vreg";
               gpio = <&pm7250b_gpios 4 0>;
               regulator-min-microvolt = <1800000>;
               regulator-max-microvolt = <1800000>;
               enable-active-high;
               };

       pci@0,0 {
               interrupts-extended = <&tlmm 141 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               phy-supply = <&aqr_vreg>;
               pinctrl-names = "default";
               pinctrl-0 = <&aqr_intn_wol_sig>;
               phy-reset-gpios = <&qps615 0 GPIO_ACTIVE_LOW>;
               reset-deassert-us = <221000>;

               gpio-controller;
               #gpio-cells = <2>;
               };
       ```
  </Tab>

  <Tab title="IQ-9075">
    <Note>
      在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
    </Note>

    要在 IQ-9075 EVK 上启用 Ethernet 功能，请执行以下操作：

    > 1. IQ-9075 EVK 出厂时带有 MAC 地址。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，您可以更改设备上的 MAC 地址。
    >    >
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> address <MAC Address>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev eth0 address XX:XX:XX:YY:YY:YY
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为持久化存储中的地址。
    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 192.168.1.1/24 dev eth0
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```

    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev eth0 down
    >    >
    >    > ip link set dev eth0 mtu 1500
    >    >
    >    > ip link set dev eth0 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```
  </Tab>

  <Tab title="IQ-9075 配 Mezzanine">
    <Note>
      * 在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
      * QPS615 MAC 驱动和内核配置在源代码中默认启用。
      * 要启用 Qualcomm 提供的配置之外的硬件配置，请参阅[启用替代硬件](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/bring-up-ethernet#bring-up-alternate-hardware-enablement-2)。
    </Note>

    要在配备 Mezzanine 卡的 IQ-9075 EVK 上启用 Ethernet 功能，请执行以下操作：

    > 1. 配备 Mezzanine 的 IQ-9075 EVK 出厂时带有 MAC 地址。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，您可以更改设备上的 MAC 地址。
    >    >
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> address <MAC Address>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set enp5s0f1 down
    >    > ip link set dev enp5s0f1 address ec:21:e5:11:4f:eb
    >    > ip link set enp5s0f1 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether ec:21:e5:11:4f:eb brd ff:ff:ff:ff:ff:ff permaddr ec:21:e5:11:4f:ea
    >    >             altname enxec21e5114fea
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为持久化存储中的地址。
    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 192.168.1.1/24 dev enp5s0f1
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether ec:21:e5:11:4f:eb brd ff:ff:ff:ff:ff:ff permaddr ec:21:e5:11:4f:ea
    >    >             altname enxec21e5114fea
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    > ```

    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev enp5s0f1 down
    >    >
    >    > ip link set dev enp5s0f1 mtu 1500
    >    >
    >    > ip link set dev enp5s0f1 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether ec:21:e5:11:4f:eb brd ff:ff:ff:ff:ff:ff permaddr ec:21:e5:11:4f:ea
    >    >             altname enxec21e5114fea
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    > ```

    ## **启用替代硬件**

    您可以连接并启用 Qualcomm 提供的硬件配置之外的 MAC/PHY 组件。要将 QPS615 替换为其他基于 PCIe 的 MAC/PHY，请参阅 [QPS615 交换机的 PCIe 软件支持](https://dragonwingdocs.qualcomm.com/System/Interfaces/pcie#enable-qps615-pcie-switch)。

    <Note>
      您必须从相应供应商处获取 MAC/PHY 驱动和固件。Qualcomm 对这些配置更改不承担责任。
    </Note>

    ### **保留 QPS615 PCIe 并替换 QEP8121/AQR113C**

    要保留 QPS615 PCIe 并将 QEP8121/AQR113C 替换为其他 PHY 组件，请执行以下操作：

    1. 根据所连接 PHY 的建议，更新 `arch/arm64/boot/dts/qcom/lemans-evk-staging.dtso` 文件中的所有参数。
    2. 编译软件。
       QEP PHY 示例代码：
       ```text theme={null}
       napa_intn_wol_sig: napa-intn-wol-sig {
               pins = "gpio57";
               function = "gpio";
               input-enable;
               bias-disable;
           };

       pci@0,1 {
               interrupts-extended = <&tlmm 57 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               nvmem-cells = <&mac_addr3>;
               nvmem-cell-names = "mac-address";
               pinctrl-names = "default";
               pinctrl-0 = <&napa_intn_wol_sig>;
               phy-reset-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
               reset-deassert-us = <20000>;
           };
       ```
       烧写修改后的软件后，QPS615 驱动会扫描与其连接的物理设备，并与设备树信息进行匹配。
           <Note>
             如果 `.dtso` 文件中的配置与 PHY 的实际建议不匹配，PHY 可能会加载失败。在这种情况下，您必须相应地更新 `.dtso` 文件中的配置。
           </Note>

    ## **AQR PHY 启用**

    虽然用于 10 GbE 的 AQR PHY 是可选的，但它已在配备 Mezzanine 卡的参考 IQ-9075 EVK 上通过验证。首次使用 AQR PHY 启用 Ethernet 时，需将 PHY 固件烧写到硬件一次。之后 AQR PHY 会被检测到，并且 PHY 驱动默认启用。

    Qualcomm 已在配备 Mezzanine 卡的 IQ-9075 EVK 上验证了以下 AQR PHY 固件：

    * Marvell 固件：`AQR-G4_v5.6.1-QR_Marvell_NoSwap_XFI_ID44874_VER1836.cld`
    * 建议使用 Marvell 专有的 flashburn 工具烧写 Marvell AQR113 PHY。
    * 请联系 Marvell Technology, Inc. 获取 AQR PHY 固件。

    ### **检测 PHY**

    要检测 PHY，请执行以下操作：

    1. 更新 `arch/arm64/boot/dts/qcom/lemans-evk-staging.dtso` 文件中的 AQR PHY 参数。
    2. 编译软件。
       AQR PHY 示例代码：
       ```text theme={null}
       aqr_intn_wol_sig: aqr-intn-wol-sig {
               pins = "gpio56";
               function = "gpio";
               input-enable;
               bias-disable;
           };

       pci@0,0 {
               interrupts-extended = <&tlmm 56 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               nvmem-cells = <&mac_addr2>;
               nvmem-cell-names = "mac-address";
               pinctrl-names = "default";
               pinctrl-0 = <&aqr_intn_wol_sig>;
               phy-reset-gpios = <&tlmm 76 GPIO_ACTIVE_HIGH>;
               reset-deassert-us = <221000>;
           };
       ```

    ## **使用 DTS overlay 启用 QPS615 Ethernet 端口**

    开始之前，请确保 Qualcomm Linux 构建已成功烧写到目标设备。

    要启用内部依赖设备树源（DTS）overlay 的 QPS615 Ethernet 端口，请执行以下操作：

    1. 启动目标设备。
    2. 写入 overlay 选择值。
       ```text theme={null}
       echo -n "staging" > /var/data
       ```
    3. 使用 `efivar` 编程 DTS overlay 变量。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays \
       -w -f /var/data
       ```
    4. 验证写入操作是否成功。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p
       ```
    5. 刷新文件系统缓冲区。
       ```text theme={null}
       sync
       ```
    6. 重启设备。
       ```text theme={null}
       reboot
       ```

    在下一个启动周期之后，QPS615 Ethernet 端口应可正常工作并可供使用。
  </Tab>

  <Tab title="IQ-8275">
    <Note>
      在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
    </Note>

    要在 IQ-8275 EVK 上启用 Ethernet 功能，请执行以下操作：

    > 1. IQ-8275 EVK 出厂时带有 MAC 地址。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，您可以更改设备上的 MAC 地址。
    >    >
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> address <MAC>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev end0 address XX:XX:XX:YY:YY:YY
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > end0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global end0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为持久化存储中的地址。
    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 192.168.1.1/24 dev end0
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > end0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global end0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```

    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev end0 down
    >    >
    >    > ip link set dev end0 mtu 1500
    >    >
    >    > ip link set dev end0 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > end0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 192.168.1.1/24 brd 192.168.1.255 scope global end0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::1234:abcd:5678:9abc/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```
  </Tab>

  <Tab title="IQ-8275 配 Mezzanine">
    <Note>
      * 在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
      * QPS615 MAC 驱动和内核配置在源代码中默认启用。
      * 要启用 Qualcomm 提供的配置之外的硬件配置，请参阅[启用替代硬件](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/bring-up-ethernet#bring-up-alternate-hardware-enablement-3)。
    </Note>

    要在配备 Mezzanine 卡的 IQ-8275 EVK 上启用 Ethernet 功能，请执行以下操作：

    > 1. 配备 Mezzanine 的 IQ-8275 EVK 出厂时带有 MAC 地址。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，您可以更改设备上的 MAC 地址。
    >    >
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> address <MAC Address>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set enp5s0f1 down
    >    > ip link set dev enp5s0f1 address 5c:0a:11:22:33:45
    >    > ip link set enp5s0f1 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether 5c:0a:11:22:33:45 brd ff:ff:ff:ff:ff:ff permaddr 5c:0a:11:22:33:44
    >    >             altname enx5c0a11223344
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    >             inet6 fe80::a45c:bca3:bb00:7f43/64 scope link noprefixroute
    >    >             valid_lft forever preferred_lft forever
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为持久化存储中的地址。
    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 192.168.1.1/24 dev enp5s0f1
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether 5c:0a:11:22:33:45 brd ff:ff:ff:ff:ff:ff permaddr 5c:0a:11:22:33:44
    >    >             altname enx5c0a11223344
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    >             inet6 fe80::a45c:bca3:bb00:7f43/64 scope link noprefixroute
    >    >             valid_lft forever preferred_lft forever
    >    > ```

    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev enp5s0f1 down
    >    >
    >    > ip link set dev enp5s0f1 mtu 1500
    >    >
    >    > ip link set dev enp5s0f1 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > enp5s0f1:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    >    >             link/ether 5c:0a:11:22:33:45 brd ff:ff:ff:ff:ff:ff permaddr 5c:0a:11:22:33:44
    >    >             altname enx5c0a11223344
    >    >             inet 192.168.1.1/24 scope global enp5s0f1
    >    >             valid_lft forever preferred_lft forever
    >    >             inet6 fe80::a45c:bca3:bb00:7f43/64 scope link noprefixroute
    >    >             valid_lft forever preferred_lft forever
    >    > ```

    ## **启用替代硬件**

    您可以连接并启用 Qualcomm 提供的硬件配置之外的 MAC/PHY 组件。要将 QPS615 替换为其他基于 PCIe 的 MAC/PHY，请参阅 [QPS615 交换机的 PCIe 软件支持](https://dragonwingdocs.qualcomm.com/System/Interfaces/pcie#enable-qps615-pcie-switch)。

    <Note>
      您必须从相应供应商处获取 MAC/PHY 驱动和固件。Qualcomm 对这些配置更改不承担责任。
    </Note>

    ### **保留 QPS615 PCIe 并替换 QEP8121/AQR113C**

    要保留 QPS615 PCIe 并将 QEP8121/AQR113C 替换为其他 PHY 组件，请执行以下操作：

    1. 根据所连接 PHY 的建议，更新 `arch/arm64/boot/dts/qcom/monaco-evk-staging.dtso` 文件中的所有参数。
    2. 编译软件。
       QEP PHY 示例代码：
       ```text theme={null}
       napa_intn_wol_sig: napa-intn-wol-sig {
               pins = "gpio39";
               function = "gpio";
               input-enable;
               bias-disable;
           };

       pci@0,1 {
               interrupts-extended = <&tlmm 39 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               nvmem-cells = <&mac_addr2>;
               nvmem-cell-names = "mac-address";
               pinctrl-names = "default";
               pinctrl-0 = <&napa_intn_wol_sig>;
               phy-reset-gpios = <&expander5 0 GPIO_ACTIVE_HIGH>;
               reset-deassert-us = <20000>;
           };
       ```
       烧写修改后的软件后，QPS615 驱动会扫描与其连接的物理设备，并与设备树信息进行匹配。
           <Note>
             如果 `.dtso` 文件中的配置与 PHY 的实际建议不匹配，PHY 可能会加载失败。在这种情况下，您必须相应地更新 `.dtso` 文件中的配置。
           </Note>

    ## **AQR PHY 启用**

    虽然用于 10 GbE 的 AQR PHY 是可选的，但它已在配备 Mezzanine 卡的参考 IQ-8275 EVK 上通过验证。首次使用 AQR PHY 启用 Ethernet 时，需将 PHY 固件烧写到硬件一次。之后 AQR PHY 会被检测到，并且 PHY 驱动默认启用。

    Qualcomm 已在配备 Mezzanine 卡的 IQ-8275 EVK 上验证了以下 AQR PHY 固件：

    * Marvell 固件：`AQR-G4_v5.6.1-QR_Marvell_NoSwap_XFI_ID44874_VER1836.cld`
    * 建议使用 Marvell 专有的 flashburn 工具烧写 Marvell AQR113 PHY。
    * 请联系 Marvell Technology, Inc. 获取 AQR PHY 固件。

    ### **检测 PHY**

    要检测 PHY，请执行以下操作：

    1. 更新 `arch/arm64/boot/dts/qcom/monaco-evk-staging.dtso` 文件中的 AQR PHY 参数。
    2. 编译软件。
       AQR PHY 示例代码：
       ```text theme={null}
       aqr_intn_wol_sig: aqr-intn-wol-sig {
               pins = "gpio40";
               function = "gpio";
               input-enable;
               bias-disable;
           };

       pci@0,0 {
               interrupts-extended = <&tlmm 40 IRQ_TYPE_EDGE_FALLING>;
               interrupt-names = "wol_irq";
               nvmem-cells = <&mac_addr1>;
               nvmem-cell-names = "mac-address";
               pinctrl-names = "default";
               pinctrl-0 = <&aqr_intn_wol_sig>;
               phy-reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
               reset-deassert-us = <221000>;
           };
       ```

    ## **使用 DTS overlay 启用 QPS615 Ethernet 端口**

    开始之前，请确保 Qualcomm Linux 构建已成功烧写到目标设备。

    要启用内部依赖设备树源（DTS）overlay 的 QPS615 Ethernet 端口，请执行以下操作：

    1. 启动目标设备。
    2. 写入 overlay 选择值。
       ```text theme={null}
       echo -n "staging" > /var/data
       ```
    3. 使用 `efivar` 编程 DTS overlay 变量。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays \
       -w -f /var/data
       ```
    4. 验证写入操作是否成功。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p
       ```
    5. 刷新文件系统缓冲区。
       ```text theme={null}
       sync
       ```
    6. 重启设备。
       ```text theme={null}
       reboot
       ```

    在下一个启动周期之后，QPS615 Ethernet 端口应可正常工作并可供使用。
  </Tab>

  <Tab title="IQ-615">
    <Note>
      在设备上烧写对应的 [CDT](https://dragonwingdocs.qualcomm.com/Key-Documents/Software-Release-Notes/release-specific-information)，以确保 Ethernet 启用使用正确的配置。
    </Note>

    要在 IQ-615 EVK 上启用 Ethernet 功能，请执行以下操作：

    > 1. IQ-615 EVK 出厂时带有 MAC 地址。如果选择使用同一 MAC 地址，请跳过此步骤。
    >    > 或者，您可以更改设备上的 MAC 地址。
    >    >
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> address <MAC>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev eth0 address XX:XX:XX:YY:YY:YY
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 169.254.210.12/16 brd 169.254.255.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::44e6:e3ff:fe29:1c58/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::ff5a:f25c:91c:4c1d/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```
    >    >
    >    >     <Note>
    >    >       此 MAC 地址仅在当前启动周期内有效。重启设备后，MAC 地址会更新为一个随机地址。
    >    >     </Note>
    > 2. 当设备连接到公共网络时，连接到该网络的 DHCP 服务器会自动分配 IP 地址。如果设备未被分配动态 IP 地址但需要 Ethernet 连接，请在客户端所在的同一子网内手动配置静态 IP 地址。
    >    > ```text theme={null}
    >    > ip addr add <ip>/<prefix> dev <Interface_name>
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip addr add 169.254.210.12/16 dev eth0
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 169.254.210.12/16 brd 169.254.255.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::44e6:e3ff:fe29:1c58/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::ff5a:f25c:91c:4c1d/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```

    > 3. 配置 Ethernet 接口上数据包的 MTU 大小。
    >    > ```text theme={null}
    >    > ip link set dev <Interface_name> down
    >    >
    >    > ip link set dev <Interface_name> mtu <mtu_size>
    >    >
    >    > ip link set dev <Interface_name> up
    >    > ```
    >    >
    >    > 例如：
    >    >
    >    > ```text theme={null}
    >    > ip link set dev eth0 down
    >    >
    >    > ip link set dev eth0 mtu 1500
    >    >
    >    > ip link set dev eth0 up
    >    > ```
    >    >
    >    > 示例输出：
    >    >
    >    > ```text theme={null}
    >    > eth0:   <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    >    >         link/ether XX:XX:XX:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    >    >         inet 169.254.210.12/16 brd 169.254.255.255 scope global eth0
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::44e6:e3ff:fe29:1c58/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    >         inet6 fe80::ff5a:f25c:91c:4c1d/64 scope link
    >    >         valid_lft forever preferred_lft forever
    >    > ```

    ## **使用 DTS overlay 启用 QPS615 Ethernet 端口**

    开始之前，请确保 Qualcomm Linux 构建已成功烧写到目标设备。

    要启用内部依赖设备树源（DTS）overlay 的 QPS615 Ethernet 端口，请执行以下操作：

    1. 启动目标设备。
    2. 写入 overlay 选择值。
       ```text theme={null}
       echo -n "staging" > /var/data
       ```
    3. 使用 `efivar` 编程 DTS overlay 变量。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays \
       -w -f /var/data
       ```
    4. 验证写入操作是否成功。
       ```text theme={null}
       efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p
       ```
    5. 刷新文件系统缓冲区。
       ```text theme={null}
       sync
       ```
    6. 重启设备。
       ```text theme={null}
       reboot
       ```

    在下一个启动周期之后，QPS615 Ethernet 端口应可正常工作并可供使用。
  </Tab>
</Tabs>

**后续步骤**

> * [执行 Ethernet 操作](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/perform-ethernet-operations)
> * [配置 Ethernet 功能](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/configure-ethernet-features)
> * [排查 Ethernet 问题](https://dragonwingdocs.qualcomm.com/Technologies/Ethernet/troubleshoot-ethernet-issues)
