PCIe To M.2 Adapter With PoE Function
“
Specifications:
- Supports IEEE 802.3af/at networking standard
- Supports M.2 NVMe hard drives in 2230, 2242, 2260, and 2280
sizes - Supports SSD boot for Raspberry Pi
Product Usage Instructions:
Working with Raspberry Pi:
1. Plug the POE M.2 HAT+ into the Raspberry Pi 5 as shown in the
figure provided.
Installation:
- Hard disk mounting:
- Enable PCIE interface by adding
dtparam=pciex1to
/boot/firmware/config.txt. - To enable PCIE gen3, add
dtparam=pciex1_gen=3to
the same file. - After modification, restart the Raspberry Pi 5.
- Identify the SSD solid-state drives using the command
lsblk. - Partition the drive if necessary, using
sudo fdisk.
/dev/nvme0n1 - Format the drive with a desired file system using
sudo.
mkfs.ext4 /dev/nvme0n1p1 - Create a mount directory using
sudo mkdir toshiba,
then mount the device and check disk status. - Read/Write test:
- Navigate to the mounted disk directory.
- Perform read/write tests using specified commands.
- Auto mount:
- Edit
/etc/fstabto auto-mount the device. - Make changes take effect by running
sudo mount.
-a - NVMe SSD boot:
- Boot Raspberry Pi with a TF card first, then mount and test the
hardware. - Choose one of the provided methods for NVMe SSD boot.
Frequently Asked Questions (FAQ):
Q: How can I tell if the device is recognized after modifying
the PCIE settings?
A: You can use the command lsblk to check if the
device is recognized after modifying and restarting the Raspberry
Pi.
Q: What should I do if the auto-mounting fails?
A: If auto-mounting fails, ensure that the changes made in
/etc/fstab are correct, and then reboot the system
after testing to allow the changes to take effect.
Q: How do I perform a read/write test on the mounted disk?
A: Navigate to the mounted disk directory and use commands such
as sudo dd if=/dev/zero of=./test_write count=2000 for write tests and
bs=1024ksudo dd if=./test_write for read tests.
of=/dev/null count=2000 bs=1024k
“`
Overview
PoE M.2 HAT+ (B)
Introduction
The POE M.2 HAT+(B) is a combination of Power over Ethernet (PoE) and PCIE to M.2 for the Raspberry Pi 5 that supports the IEEE 802.3af/at networking standard. It supports M.2 NVMe hard drives in 2230, 2242, 2260, and 2280 sizes, and supports SSD boot for the Raspberry Pi
Features
· Standard Raspberry Pi 40pin GPIO extension header, supports Raspberry Pi 5 (not applicable to PI4B and PI3B) o Supports Power over Ethernet (PoE), supports IEEE 802.3af/at PoE network standard
· Adopts fully isolated Switch Mode Power Supply (SMPS) mode power · Supports NVMe protocol M.2 interface hard drives, featuring high-speed read and
write, and high work efficiency · PCI-E×1 Gen2 or Gen3 mode · Only supports PI5B · Compatible with M.2 hard drives of 2230 / 2242 / 2260 / 2280 sizes · Onboard operational indicator lights, the PWR is continuously lit when powered on,
and the ACT blinks during read and write operations, making the operational status easily visible
Specifications
· PoE input voltage: 37V ~ 57V DC input · PoE-GPIO pin header: 5V 4.5A (MAX) · PoE-2P pin header: 12V 2A (MAX) · Network standards: Supports IEEE 802.3af/at PoE · Product size: 56.5mm × 70.0mm
Working with Raspberry Pi
Plug the POE M.2 HAT+ into the Raspberry Pi 5 as shown in the figure below
Notes
· If a power supply limitation prompt appears Add usb_max_current_enable=1 to /boot/firmware/config.txt
· Please don’t strongly press the transformer on the board to avoid damaging the product when assembling the Raspberry Pi
Installation
Hard disk mounting
1. Enable PCIE interface
PI5B defaults to not having the PCIE interface enabled. Add to /boot/firmware/co nfig.txt: dtparam=pciex1
2. PCIE is gen2 by default, if you need to enable PCIE gen3, then add following to /boot/firmware/config.txt:
dtparam=pciex1_gen=3
3. After the modification, restart the PI5, and the device can be recognized.
As shown in the figure below, SM2263 is identified as my SSD solid state drives, and the other PI5 is the RPI chip
4. Partition, skip this step if you have partitioned and formatted on other platforms (Note: partitioning will delete all data on the SSD, proceed with caution)
Lsblk
This command is executed to view the disk (if you want to see the deta
ils, run the sudo fdisk -l command)
Partition: sudo fdisk /dev/nvme0n1 The device number is the total device number, do not add p1, that is just a partition How to use the partitioning tool fdisk: N New partition q Quit without saving p Print the partition table m Print the selection menu D Delete the partition w Save and exit t Modify the ID number Add the partition and execute n, then save and exit with w
5. Format
sudo mkfs.
Execute the command and press Tab key, you will see a lot of diff
erent suffixes, and the different suffixes are the formats you need to format
If I want to format it in ext4 file format, then execute the command:
sudo mkfs.ext4 /dev/nvme0n1p1
Wait a moment, once all “done” appear as below, it indicates that the formatting is completed
6. Mount
Create a mount directory sudo mkdir toshiba Mount the device sudo mount /dev/nvme0n1p1 ./toshiba Check the disk status df -h
Read/Write test
Enter the directory where the disk is mounted
cd toshiba
· Free up the memory
sudo sh -c “sync && echo 3 > /proc/sys/vm/drop_caches”
· Copy Raspberry Pi memory content to the hard disk (write)
sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k
· Copy the hard drive content to the Raspberry Pi memory (/etc/fstab read )
sudo dd if=./test_write of=/dev/null count=2000 bs=1024k
· Note: The test results vary for different cards and environments. The Raspberry Pi is significantly affected. If you want to test accurate performance, use a PC for the test
Auto mount
Test shows there’s no issue. If it’s not required to be used as a system disk, but only for expanding the disk, set it to auto-mount
sudo nano /etc/fstab
#Add at the end /dev/nvme0n1p1 /home/pi/toshiba ext4 defaults 0 0 #/dev/nvme0n1p1 is the device name, /home/pi/toshiba refers to mounting to a dir ectory, ext4 is the file system type, defaults uses the default mount option #Make the changes take effect (reboot only after testing, otherwise it will fail to mount and boot) sudo mount -a
#Then reboot Check the device with lsblk
NVMe SSD boot
Boot the Raspberry Pi with a TF card first, mount and test it, and make sure the hardware can work properly Choose one of the following methods
Method 1
1. Run the following command:
sudo raspi-config
2. Reboot Raspberry Pi
If you find you can’t modify it multiple times, please reconnect to the network and then try to modify it (wait for the network to self-calibrate), or modify th e file after setting the correct time
3. Flash the system to NVME, then connect the NVME to the expansion board, remove the TF card and power it on again
Method 2
1. Modify the BOOT_ORDER in the Raspberry Pi boot loader configuration:
sudo rpi-eeprom-config –edit Modify BOOT_ORDER=0xf41 to BOOT_ORDER=0xf416
For more information, please refer to BOOT_ORDER
2. Reboot Raspberry Pi
If you find you can’t modify it multiple times, please reconnect to the network and then try to modify it (wait for the network to self-calibrate), or modify th e file after setting the correct time
3. Flash the system to NVME, then connect the NVME to the expansion board, remove the TF card and power it on again
Dimensions
Documents / Resources
![]() |
Raspberry Pi PCIe To M.2 Adapter With PoE Function [pdf] Instructions PCIe To M.2 Adapter With PoE Function, M.2 Adapter With PoE Function, Adapter With PoE Function, PoE Function, Function |
