From 8521c7f3c39dc6a2d72c90871fc5211153a7aabc Mon Sep 17 00:00:00 2001 From: 916BGAI <916772719@qq.com> Date: Tue, 13 May 2025 18:12:47 +0800 Subject: [PATCH] update nanocluster docs --- .../hardware/en/cluster/NanoCluster/switch.md | 105 +++++++++++++++ docs/hardware/en/cluster/NanoCluster/use.md | 124 ++++-------------- docs/hardware/en/sidebar.yaml | 2 + .../zh/cluster/NanoCluster/assets/poe2.jpeg | Bin 41981 -> 35562 bytes .../hardware/zh/cluster/NanoCluster/switch.md | 103 +++++++++++++++ docs/hardware/zh/cluster/NanoCluster/use.md | 122 ++++------------- docs/hardware/zh/sidebar.yaml | 2 + 7 files changed, 258 insertions(+), 200 deletions(-) create mode 100644 docs/hardware/en/cluster/NanoCluster/switch.md create mode 100644 docs/hardware/zh/cluster/NanoCluster/switch.md diff --git a/docs/hardware/en/cluster/NanoCluster/switch.md b/docs/hardware/en/cluster/NanoCluster/switch.md new file mode 100644 index 00000000..1f4e6e99 --- /dev/null +++ b/docs/hardware/en/cluster/NanoCluster/switch.md @@ -0,0 +1,105 @@ +--- +title: Switch Management +--- + +## Introduction + +NanoCluster is equipped with the JL6108 Gigabit switch chip, which is based on the **RISC-V** architecture. It can be used as a plug-and-play switch or as a locally managed Layer 2 switch, supporting configuration via a web interface. Its main features include: + +- **System Management**: Displays system information, supports reboot, factory reset, and firmware upgrades +- **Network Configuration**: Supports static IP and DHCP dynamic IP configuration +- **Port Management**: Enables/disables ports, configures link speed, and manages flow control +- **Port Aggregation**: Supports port binding to increase bandwidth utilization +- **Security and Isolation**: Port isolation to prevent data leakage +- **Traffic Monitoring**: Port MIB statistics and traffic analysis +- **Loop Protection**: Prevents network loops to enhance stability +- **VLAN Configuration**: Supports MTU VLAN, port-based VLAN, 802.1Q VLAN, and PVID settings +- **QoS Configuration**: Manages traffic priority based on port, PCP, and DSCP +- **Bandwidth and Storm Control**: Supports port-based bandwidth limitation and broadcast storm suppression + +## Port Allocation + +The cluster backplane connects to each core board (SOM) via the JL6108 switch. The port allocation is as follows: + +| Switch Port | Connected Device | +|------------|--------------------------------------| +| Port 1 | Slot 7 | +| Port 2 | Slot 6 | +| Port 3 | Slot 5 | +| Port 4 | Slot 4 | +| Port 5 | Slot 3 | +| Port 6 | Slot 2 | +| Port 7 | Slot 1 | +| Port 8 | Cluster backplane RJ45 port (for external network connection) | + +## User Guide + +### Logging into the Web Management Interface + +1. **Ensure Device Connection** + Make sure the NanoCluster is powered on and connected to the management host via an Ethernet cable. + +2. **Configure IP Address** + The switch's default IP address is **10.10.11.10/24**. Ensure the management host has an IP in the same subnet, e.g., **10.10.11.x** (where x is between 1-254 but not 10), with a subnet mask of **255.255.255.0**. + + ![IP Configuration](../../../zh/cluster/NanoCluster/assets/ip.jpeg) + +3. **Access the Management Interface** + Open a browser and enter `http://10.10.11.10`, then press Enter to reach the login page. + + ![Login Page](../../../zh/cluster/NanoCluster/assets/login_en.jpeg) + +4. **Login to the Management System** + Enter the **admin username and password** (both default to `admin`), then click **Login** to access the main interface. + + ![Management Homepage](../../../zh/cluster/NanoCluster/assets/homepage_en.jpeg) + +## Basic Configuration + +### Port Management +The JL6108 switch provides port status management, supporting **port enable/disable**, **speed configuration**, and **flow control**. +- **Enable/Disable Ports**: Navigate to the **Port Management** page, select the desired port, and enable or disable it. +- **Modify Port Speed**: Supports 10Mbps / 100Mbps / 1000Mbps modes. +- **Flow Control**: Can be enabled to prevent packet loss. + +![Port Management](../../../zh/cluster/NanoCluster/assets/portsetting_en.jpeg) + +### VLAN Configuration +VLAN (Virtual Local Area Network) is used to segment different network areas, prevent broadcast storms, and enhance security. + +#### Configuring Port VLAN + +1. **Access the Port VLAN Page** + Navigate to `VLAN` >> `Port VLAN` in the Web interface. + +2. **Enable Port VLAN** + Check the **"Enable Port VLAN"** option and click **`Apply`**. + +3. **Create VLAN 2 and Assign Ports** + - Enter **`2`** in the **VLAN ID** field + - Select **Ports 2 to 4** + - Click **`Apply`** to save the configuration + +4. **View the Port Member Table** + After configuration, **Ports 2-4 will be automatically removed from VLAN 1** and assigned to VLAN 2. + + ![Port VLAN Configuration](../../../zh/cluster/NanoCluster/assets/vlan_en.jpeg) + +### QoS Configuration (Traffic Prioritization) +QoS ensures stable performance for high-priority traffic such as video conferencing and VoIP: +1. **Navigate to "QoS Settings"** +2. Select **Port-Based / 802.1P / DSCP** QoS strategy +3. Set **High / Medium / Low Priority Queues** +4. **Save the settings** to apply the QoS rules + +![QoS Configuration](../../../zh/cluster/NanoCluster/assets/qos_en.jpeg) + +## Additional Configuration + +The JL6108 switch also supports more advanced features. For detailed configuration instructions, please refer to the official manual. + +[Click here to view the full manual](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) + +We provide the **JL6108 SDK** based on the **RISC-V** architecture. Users can download the SDK and develop independently from the following link: + +[JL6108 SDK](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) \ No newline at end of file diff --git a/docs/hardware/en/cluster/NanoCluster/use.md b/docs/hardware/en/cluster/NanoCluster/use.md index 63b5b7b9..f4eddf28 100644 --- a/docs/hardware/en/cluster/NanoCluster/use.md +++ b/docs/hardware/en/cluster/NanoCluster/use.md @@ -157,6 +157,8 @@ If you need to debug or control multiple slots simultaneously, we recommend usin ![uart_board](../../../zh/cluster/NanoCluster/assets/uart.jpeg) +> ⚠️ Due to the serial port expansion module partially obstructing the airflow and the module itself supporting only 4 serial ports, it is recommended to insert only 4 to 5 SOMs when using this module to ensure system cooling and debugging stability. + ## Power Control The reset pins for slots 1~7 are controlled by slot 1 through **I2C extended IO**, enabling remote power on/off functionality. @@ -187,7 +189,21 @@ sudo gpioset gpiochip2 2=0 && sudo gpioset gpiochip2 2=1 **CM4/CM5 Control Method Example:** -todo。 +To enable I2C and load the PCA9557 driver on CM4 or CM5, you can control it in the same way: + +Edit `/boot/firmware/config.txt` and add the following content: + +``` txt +dtparam=i2c_arm=on +dtoverlay=pca953x,addr=0x18,pca9557 +``` + +After saving and rebooting, you can control the slot reset using the `gpioset` method. + +> - **CM4** corresponds to GPIO controller index: `gpiochip2` +> - **CM5** corresponds to GPIO controller index: `gpiochip14` + +The control method is the same as for LM3H, but you only need to replace `gpiochip` with the actual index corresponding to the platform. ## Fan Speed Adjustment @@ -213,7 +229,7 @@ echo enabled | sudo tee /sys/class/thermal/thermal_zone2/mode ### CM4 Fan Control -Add the following line to /boot/config.txt: +Add the following line to /boot/firmware/config.txt: ```bash dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4 @@ -255,109 +271,15 @@ pwm.start(0) # Off pwm.start(100) # Full speed ``` -## Switch Management +## Thermal Management -### Introduction +1. It is recommended to place the device in a well-ventilated environment with a temperature below **30°C** to reduce the overall thermal load. -NanoCluster is equipped with the JL6108 Gigabit switch chip, which is based on the **RISC-V** architecture. It can be used as a plug-and-play switch or as a locally managed Layer 2 switch, supporting configuration via a web interface. Its main features include: +2. For optimal performance, maintain the system's continuous operating power below **50W**, with peak power not exceeding **60W**, to match the power supply capacity and thermal performance. -- **System Management**: Displays system information, supports reboot, factory reset, and firmware upgrades -- **Network Configuration**: Supports static IP and DHCP dynamic IP configuration -- **Port Management**: Enables/disables ports, configures link speed, and manages flow control -- **Port Aggregation**: Supports port binding to increase bandwidth utilization -- **Security and Isolation**: Port isolation to prevent data leakage -- **Traffic Monitoring**: Port MIB statistics and traffic analysis -- **Loop Protection**: Prevents network loops to enhance stability -- **VLAN Configuration**: Supports MTU VLAN, port-based VLAN, 802.1Q VLAN, and PVID settings -- **QoS Configuration**: Manages traffic priority based on port, PCP, and DSCP -- **Bandwidth and Storm Control**: Supports port-based bandwidth limitation and broadcast storm suppression +3. If no SSD is installed, the system's space and cooling capacity can support **up to 7 SOMs running simultaneously**. If SSDs are installed, to ensure proper airflow, it is recommended to **install SOMs with spacing, supporting up to 4 SOMs**. -### Port Allocation - -The cluster backplane connects to each core board (SOM) via the JL6108 switch. The port allocation is as follows: - -| Switch Port | Connected Device | -|------------|--------------------------------------| -| Port 1 | Slot 7 | -| Port 2 | Slot 6 | -| Port 3 | Slot 5 | -| Port 4 | Slot 4 | -| Port 5 | Slot 3 | -| Port 6 | Slot 2 | -| Port 7 | Slot 1 | -| Port 8 | Cluster backplane RJ45 port (for external network connection) | - -### User Guide - -#### Logging into the Web Management Interface - -1. **Ensure Device Connection** - Make sure the NanoCluster is powered on and connected to the management host via an Ethernet cable. - -2. **Configure IP Address** - The switch's default IP address is **10.10.11.10/24**. Ensure the management host has an IP in the same subnet, e.g., **10.10.11.x** (where x is between 1-254 but not 10), with a subnet mask of **255.255.255.0**. - - ![IP Configuration](../../../zh/cluster/NanoCluster/assets/ip.jpeg) - -3. **Access the Management Interface** - Open a browser and enter `http://10.10.11.10`, then press Enter to reach the login page. - - ![Login Page](../../../zh/cluster/NanoCluster/assets/login_en.jpeg) - -4. **Login to the Management System** - Enter the **admin username and password** (both default to `admin`), then click **Login** to access the main interface. - - ![Management Homepage](../../../zh/cluster/NanoCluster/assets/homepage_en.jpeg) - -### Basic Configuration - -#### Port Management -The JL6108 switch provides port status management, supporting **port enable/disable**, **speed configuration**, and **flow control**. -- **Enable/Disable Ports**: Navigate to the **Port Management** page, select the desired port, and enable or disable it. -- **Modify Port Speed**: Supports 10Mbps / 100Mbps / 1000Mbps modes. -- **Flow Control**: Can be enabled to prevent packet loss. - -![Port Management](../../../zh/cluster/NanoCluster/assets/portsetting_en.jpeg) - -#### VLAN Configuration -VLAN (Virtual Local Area Network) is used to segment different network areas, prevent broadcast storms, and enhance security. - -##### Configuring Port VLAN - -1. **Access the Port VLAN Page** - Navigate to `VLAN` >> `Port VLAN` in the Web interface. - -2. **Enable Port VLAN** - Check the **"Enable Port VLAN"** option and click **`Apply`**. - -3. **Create VLAN 2 and Assign Ports** - - Enter **`2`** in the **VLAN ID** field - - Select **Ports 2 to 4** - - Click **`Apply`** to save the configuration - -4. **View the Port Member Table** - After configuration, **Ports 2-4 will be automatically removed from VLAN 1** and assigned to VLAN 2. - - ![Port VLAN Configuration](../../../zh/cluster/NanoCluster/assets/vlan_en.jpeg) - -#### QoS Configuration (Traffic Prioritization) -QoS ensures stable performance for high-priority traffic such as video conferencing and VoIP: -1. **Navigate to "QoS Settings"** -2. Select **Port-Based / 802.1P / DSCP** QoS strategy -3. Set **High / Medium / Low Priority Queues** -4. **Save the settings** to apply the QoS rules - -![QoS Configuration](../../../zh/cluster/NanoCluster/assets/qos_en.jpeg) - -### Additional Configuration - -The JL6108 switch also supports more advanced features. For detailed configuration instructions, please refer to the official manual. - -[Click here to view the full manual](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) - -We provide the **JL6108 SDK** based on the **RISC-V** architecture. Users can download the SDK and develop independently from the following link: - -[JL6108 SDK](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) +4. Slot 7 is located at the edge of the chassis, where fan airflow is lower but there is sufficient space to install a heatsink. It is recommended to install a larger heatsink in this position to enhance cooling efficiency. ## FAQ (Troubleshooting) diff --git a/docs/hardware/en/sidebar.yaml b/docs/hardware/en/sidebar.yaml index 106364c3..cea9fe33 100644 --- a/docs/hardware/en/sidebar.yaml +++ b/docs/hardware/en/sidebar.yaml @@ -512,6 +512,8 @@ items: file: cluster/NanoCluster/k3s.md - label: distcc Deployment file: cluster/NanoCluster/distcc.md + - label: Switch Management + file: cluster/NanoCluster/switch.md # - label: Maix Audio # items: # - label: MA USB 16 diff --git a/docs/hardware/zh/cluster/NanoCluster/assets/poe2.jpeg b/docs/hardware/zh/cluster/NanoCluster/assets/poe2.jpeg index 67cedc13c7805dc63c907f5a76fa382d9ea1234e..37fab15f978e626cb692777fbeae6b9316ee622a 100644 GIT binary patch literal 35562 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 KCz|~z5&zl$Q|;LR literal 41981 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 `端口 VLAN`,进入 VLAN 配置页面。 + +2. **启用端口 VLAN 功能** + 勾选 **“端口 VLAN 使能”** 选项,并点击 **`应用`** 按钮。 + +3. **创建 VLAN 2 并配置端口成员** + - 在 **VLAN ID** 输入框中输入 **`2`** + - 勾选 **端口 2 ~ 4** + - 点击 **`应用`** 按钮以保存配置 + +4. **查看端口成员表** + 配置完成后,**端口 2 ~ 4 将自动从 VLAN 1 中移除**,并加入 VLAN 2。 + + ![端口 VLAN 配置示例](./assets/vlan.jpeg) + +### QoS 配置(流量优先级) +QoS 用于保障高优先级流量(如视频会议、VoIP)的稳定性: +1. **进入“QoS 设置”** +2. 选择 **基于端口/802.1P/DSCP** 的 QoS 策略 +3. 设置 **高/中/低优先级队列** +4. **保存设置**,QoS 规则生效 + +![QoS 配置](./assets/qos.jpeg) + +## 更多配置 + +JL6108 交换机还支持更多高级功能,详细配置说明,请参考官方手册。 + +[点击此处查看完整手册](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) + +我们提供基于 **RISC-V** 架构的 **JL6108 SDK**,用户可以从以下链接下载 SDK 并进行自主开发。 + +[JL6108 SDK](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) \ No newline at end of file diff --git a/docs/hardware/zh/cluster/NanoCluster/use.md b/docs/hardware/zh/cluster/NanoCluster/use.md index 8964e3bf..b4a7cadb 100644 --- a/docs/hardware/zh/cluster/NanoCluster/use.md +++ b/docs/hardware/zh/cluster/NanoCluster/use.md @@ -155,6 +155,8 @@ ssh sipeed@lpi3h-xxxx.local ![串口小板](./assets/uart.jpeg) +> ⚠️ 由于串口扩展模块会部分遮挡风道,且模块本身仅支持 4 路串口,建议在使用该模块时,仅插入 4~5 个 SOM,以保证系统散热与调试稳定性。 + ## 电源控制 slot1~7 的复位脚由 slot1 通过 **I2C 扩展的 IO** 进行控制,可实现远程开关机。 @@ -185,7 +187,21 @@ sudo gpioset gpiochip2 2=0 && sudo gpioset gpiochip2 2=1 **CM4/CM5 控制方法示例:** -todo。 +在 CM4 或 CM5 上启用 I2C 并加载 PCA9557 驱动,即可使用相同方式控制: + +编辑 /boot/firmware/config.txt,添加以下内容: + +``` txt +dtparam=i2c_arm=on +dtoverlay=pca953x,addr=0x18,pca9557 +``` + +保存并重启后,即可通过 gpioset 方法控制 slot 的复位。 + +> - **CM4** 对应的 GPIO 控制器编号为:`gpiochip2` +> - **CM5** 对应的 GPIO 控制器编号为:`gpiochip14` + +控制方法与 LM3H 相同,只需将 gpiochip 替换为实际平台对应的编号。 ## 风扇调速 @@ -211,7 +227,7 @@ echo enabled | sudo tee /sys/class/thermal/thermal_zone2/mode ### CM4 调速 -将以下内容添加到 /boot/config.txt: +将以下内容添加到 /boot/firmware/config.txt: ```bash dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4 @@ -253,107 +269,15 @@ pwm.start(0) # 不转 pwm.start(100) # 满速 ``` -## 交换机管理 +## 散热控制 -### 简介 +1. 建议将整机放置在通风良好、温度低于 **30 摄氏度** 的环境中,以减轻整体散热负担。 -NanoCluster 搭载 JL6108 千兆交换机芯片,该芯片基于 **RISC-V** 架构,既可作为即插即用的傻瓜交换机使用,也可作为可本地管理的二层交换机,支持通过 Web 进行配置。主要功能包括: +2. 推荐整机持续工作功率控制在 **50W 以内**,峰值功率不超过 **60W**,以匹配电源输出能力与系统散热性能。 -- **系统管理**:显示系统信息、支持重启、恢复出厂设置、固件升级 -- **网络配置**:支持静态 IP 和 DHCP 动态 IP 配置 -- **端口管理**:端口启用/禁用、链路速率设置、流控管理 -- **端口汇聚**:支持端口绑定,提高带宽利用率 -- **安全与隔离**:端口隔离、防止数据泄露 -- **流量监控**:端口 MIB 统计、流量分析 -- **环路保护**:防止网络环路,提升网络稳定性 -- **VLAN 配置**:支持 MTU VLAN、基于端口的 VLAN、802.1Q VLAN、PVID 设置 -- **QoS 配置**:基于端口、PCP、DSCP 进行流量优先级管理 -- **带宽与风暴控制**:支持基于端口的带宽限制与广播风暴抑制 +3. 若未安装 SSD,整机空间与散热能力可支持 **最多 7 个 SOM 同时运行**。若安装 SSD,为确保良好的散热风道,建议 **间隔安装 SOM,最多 4 个**。 -### 端口分配 - -集群底板通过 JL6108 交换机连接各个核心板(SOM),端口分配如下: - -| 交换机端口 | 连接设备 | -|------------|--------------------------------------| -| Port 1 | Slot 7 | -| Port 2 | Slot 6 | -| Port 3 | Slot 5 | -| Port 4 | Slot 4 | -| Port 5 | Slot 3 | -| Port 6 | Slot 2 | -| Port 7 | Slot 1 | -| Port 8 | 集群底板 RJ45 接口(用于连接外部网络) | - -### 使用教程 - -1. **确保设备连接** - 确保 NanoCluster 已上电,并通过网线将板载网口与管理主机相连。 - -2. **配置 IP 地址** - 交换机的默认 IP 地址为 **10.10.11.10/24**,请确保管理主机的 IP 地址与其处于同一网段,例如 **10.10.11.x**(x 取值范围:1-254,且不能为 10),子网掩码设为 **255.255.255.0**。 - - ![IP 配置](./assets/ip.jpeg) - -3. **访问管理界面** - 在浏览器地址栏输入 `http://10.10.11.10` 并回车,即可进入交换机的登录界面。 - - ![登录界面](./assets/login.jpeg) - -4. **登录管理系统** - 在登录界面输入 **管理员账号和密码**(默认均为 `admin`),然后点击 **登录**,进入交换机管理界面首页。 - - ![管理系统首页](./assets/homepage.jpeg) - -### 基本配置 - -#### 端口管理 -JL6108 交换机提供端口状态管理功能,支持 **端口启用/禁用**、**速率设置**、**流控管理**。 -- **启用/禁用端口**:可在 **端口管理** 页面找到目标端口,选择“启用”或“禁用” -- **修改端口速率**:支持 10Mbps / 100Mbps / 1000Mbps 三种模式 -- **流控**:可开启端口流控,防止数据丢失 - -![端口管理](./assets/portsetting.jpeg) - -#### VLAN 配置 -VLAN(虚拟局域网)用于划分不同的网络区域,防止广播风暴,提高网络安全性。 - -##### 配置端口 VLAN - -1. **进入端口 VLAN 界面** - 在 Web 管理界面,依次进入:`VLAN` >> `端口 VLAN`,进入 VLAN 配置页面。 - -2. **启用端口 VLAN 功能** - 勾选 **“端口 VLAN 使能”** 选项,并点击 **`应用`** 按钮。 - -3. **创建 VLAN 2 并配置端口成员** - - 在 **VLAN ID** 输入框中输入 **`2`** - - 勾选 **端口 2 ~ 4** - - 点击 **`应用`** 按钮以保存配置 - -4. **查看端口成员表** - 配置完成后,**端口 2 ~ 4 将自动从 VLAN 1 中移除**,并加入 VLAN 2。 - - ![端口 VLAN 配置示例](./assets/vlan.jpeg) - -#### QoS 配置(流量优先级) -QoS 用于保障高优先级流量(如视频会议、VoIP)的稳定性: -1. **进入“QoS 设置”** -2. 选择 **基于端口/802.1P/DSCP** 的 QoS 策略 -3. 设置 **高/中/低优先级队列** -4. **保存设置**,QoS 规则生效 - -![QoS 配置](./assets/qos.jpeg) - -### 更多配置 - -JL6108 交换机还支持更多高级功能,详细配置说明,请参考官方手册。 - -[点击此处查看完整手册](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) - -我们提供基于 **RISC-V** 架构的 **JL6108 SDK**,用户可以从以下链接下载 SDK 并进行自主开发。 - -[JL6108 SDK](https://dl.sipeed.com/shareURL/Cluster/NanoCluster/06_Switch_JL6108) +4. Slot7 处于机壳边缘,风扇风量较小,但具备充足的空间安装散热片。建议为该位置安装较大的散热片以增强散热效果。 ## 常见问题排查(FAQ) diff --git a/docs/hardware/zh/sidebar.yaml b/docs/hardware/zh/sidebar.yaml index 2d796ce6..4d171cb5 100644 --- a/docs/hardware/zh/sidebar.yaml +++ b/docs/hardware/zh/sidebar.yaml @@ -523,6 +523,8 @@ items: file: cluster/NanoCluster/k3s.md - label: distcc 部署 file: cluster/NanoCluster/distcc.md + - label: 交换机管理 + file: cluster/NanoCluster/switch.md # - label: Maix Audio # items: # - label: MA USB 16