PoE M.2 HAT+

From Waveshare Wiki
Jump to: navigation, search
PoE M.2 HAT+
PoE-M.2-HAT-plus-1.jpg

Raspberry Pi 5 PoE M.2 extension board
RPi
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}


Overview

Introduction

POE M.2 HAT+ is an expansion board that combines Power over Ethernet (PoE) and PCIe to M.2 functions for Raspberry Pi 5, supporting the IEEE 802.3af/at network standard. It also supports M.2 NVME hard drives of 2230 and 2242 sizes, and SSD booting of Raspberry Pi.

Feature

  • Based on Raspberry Pi 40pin GPIO interface, suitable for Raspberry Pi 5 (not suitable for PI4B and PI3B)
  • Support PoE power over Ethernet and IEEE 802.3af/at PoE network standard
  • Adopt fully isolated switch mode power supply (SMPS)
  • Onboard high-speed active cooling fan, equipped with metal fins, jointly accelerates heat dissipation
  • Support NVMe protocol M.2 interface hard disk protocol, high-speed read and write, high work efficiency
  • PCI-E×1 Gen2 or Gen3 modes
  • Only support PI5B
  • Compatible with M.2 hard drives of 2230/2242/2260/2280 sizes
  • Onboard work indicator light, the PWR stays on when powered on, the read/write ACT flashes, and the working status is clear at a glance

POE parameters

  • POE input voltage: 37V~57V DC input
  • POE GPIO Pin: 5V 4.5A (MAX)
  • POE - 2P Pin: 12V 2A (MAX)
  • Network standard: Supports IEEE 802.3af/at PoE
  • Product size: 56.5mm × 70.0mm

Raspberry Pi usage

Insert POE M.2 HAT+ into Raspberry Pi 5 as shown in the following.
PoE-M.2-HAT-plus-details.png

Installation

Install the heat sink as shown in the following figure.

PoE-M.2-HAT-plus-details-13.jpg

PoE-M.2-HAT-plus-details-3.jpg

Hard disk mounting

1. Enable PCIE interface

PI5B does not have PCIE interface enabled by default. Add the following in /boot/firmware/config.txt: 
dtparam=pciex1

2. PCIE defaults to gen2. If you need to enable PCIE gen3, add the following in/boot/firmware/config.txt:

dtparam=pciex1_gen=3

3. Restart PI5 to recognize the device after modification

As shown in the figure below, it is recognized that SM2263 is my SSD solid state disk, and the other PI5 is an RPI chip
PCIe TO M.2 HAT+ W 1.png

4. Partition the area, if there is partitioning and formatting on other platforms, skip this step. (This action will delete all SSD data. Please handle with caution)

lsblk    You can see the disk (if you want to see detailed information, execute sudo fdisk - l)
PCIe TO M.2 HAT+ W 2.png
Partition
sudo fdisk /dev/nvme0n1    The device number is the total device number, do not add p1, because p1 is just a partition
How to use the partition tool fdisk
n New partition
q Exit without saving
p Print partition table
m Print selection menu
d Delete a partition
w Save and exit
t Modify ID number
Click n to add partition, then click w to save and exit

5. Format

sudo mkfs.   Then by pressing Tab key, you can see many different types of suffixes, each of suffix represents a format that you want to format
PCIe TO M.2 HAT+ W 3.png
If I want to format it as an ext4 file format, then I need to execute:
sudo mkfs.ext4 /dev/nvme0n1p1
Wait for a moment, when done appears, it means the formatting has been completed
PCIe TO M.2 HAT+ W 4.png

6. Mount

Create mounting directory
sudo mkdir toshiba
Mount device
sudo mount /dev/nvme0n1p1 ./toshiba
Check disk status
df -h

Write/Read Test

Enter the directory where the disk is mounted

cd toshiba
  • Release memory
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
  • Copy Raspberry Pi memory content to hard drive (write)
sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k

PCIe TO M.2 HAT+ W 5.png

  • Copy the content of hard drive to Raspberry Pi memory (/etc/fstab read)
 sudo dd if=./test_write of=/dev/null count=2000 bs=1024k

Pcie-m2-6new.png

  • Note: Different cards and environments have different testing effects, and Raspberry Pi is greatly affected. If you want to get accurate performance, use a PC computer for testing

Auto Mount

There is no problem with the test. If it is not needed as a system disk and only needs to be used as an extended disk, set automatic mounting

sudo nano /etc/fstab

#Add at the end
/dev/nvme0n1p1  /home/pi/toshiba  ext4  defaults  0  0
#/dev/nvme0n1p1 Device name, /home/pi/toshiba mounted to directory, ext4 is file system type, defaults uses default mounting options
#Make the changes take effect. (Restart if there are no issues after testing, otherwise it will result in inability to mount and boot)
sudo mount -a

#Restart
Check the device with lsblk


NVMe SSD Boot Start

First use SD card to start Raspberry Pi and mount it for testing to ensure that the hardware can work properly

Choose one of the following two methods

Method 1

1. Execution:

sudo raspi-config

PCIE NVME BOOT-1.png

2. Restart Raspberry Pi

If the modifications are unsuccessful multiple times, please connect to the network before making the changes (wait for network self synchronization), or set the correct time before modifying the file

3. Burn the system into NVME, then connect NVME to the expansion board, remove SD card and power it on again

Method 2

1. Modify BOOT_ORDER in the boot loader configuration of Raspberry Pi:

sudo rpi-eeprom-config --edit 
BOOT_ORDER=0xf41  is changed into  BOOT_ORDER=0xf416
PCIe TO M.2 HAT+ W 6.png
More information please refer to BOOT_ORDER 

2. Restart Raspberry Pi

If the modifications are unsuccessful multiple times, please connect to the network before making the changes (wait for network self synchronization), or set the correct time before modifying the file

3. Burn the system into NVME, then connect NVME to the expansion board, remove SD card and power it on again


Fan control

By default, the PI5 fan only starts running when the temperature control reaches 50 degrees. If you want the fan to starts running when it reachs other temperatures, you can add specific content in/boot/firmware/config.txt, for example:

dtparam=fan_temp0=36000,fan_temp0_hyst=2000,fan_temp0_speed=90
dtparam=fan_temp1=40000,fan_temp1_hyst=3000,fan_temp1_speed=150
dtparam=fan_temp2=52000,fan_temp2_hyst=4000,fan_temp2_speed=200
dtparam=fan_temp3=58000,fan_temp3_hyst=5000,fan_temp3_speed=255

Among them:

fan_temp0/1/2/3       Indicates temperature (360000 represents 36 ℃)
fan_temp0/1/2/3_speed Indicates the corresponding speed (maximum value of 255)
fan_temp0/1/2/3_hyst Indicates hysteresis temperature

More information please refer to here

Note: There are only 4 temperatures in total for 0123, and it is not possible to set other temperatures. The hysteresis temperature should not exceed the step range of two temperatures

Dimensions

PoE-M.2-HAT-plus-details-size.jpg

3D diagram

FAQ

 Answer:
No, PoE M.2 HAT+ only supports PI5 usage.


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)