Zum Inhalt springen

WSAL21364 – PCIe-Packet-Switch-4P/en

Aus JW Tech Wiki

Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.

Summary

The Waveshare PCIe-Packet-Switch-4P expands a single PCIe Gen 2 x1 port into four PCIe Gen 2 x1 slots. It uses an ASM1184 controller, operates driver-free (plug-and-play), and is compatible with the Raspberry Pi Compute Module 4.

Related products at JW Tech

Technical overview

  • Expands one PCIe channel into four PCIe Gen 2 x1 channels; backward compatible with PCIe Gen 1 x1.
  • Two power options: via the PCIe connector (12 V) or via a 12 V DC header.
  • Supports the Raspberry Pi Compute Module 4.
  • Uses an ASM1184 controller, so it is driver-free and plug-and-play.
  • When used with the Compute Module 4 PoE 4G Board or the Compute Module 4 IO Board, no external power adapter is required.
  • Bandwidth limit is 5 Gbps per channel (PCIe Gen 2 x1); speed will not exceed this limit regardless of configuration.
  • The module is powered by 12 V; if 12 V is unavailable, it can also be powered by 5 V.
  • The maximum output current of each 3.3 V supply on any PCIe interface must stay below 1.5 A.
  • For devices not on the supported-device list, the kernel must be rebuilt.
  • Kernel build environment: Ubuntu 20.04 desktop (amd64) with a Linaro cross-toolchain for arm64.

Commands and examples – verify before use: 

sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
export PATH=$PATH:~/gcc-linaro/bin
git clone --depth=1 https://github.com/raspberrypi/linux
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
sudo sshfs [email protected]:/ /mnt/pi-ext4
sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/mnt/pi-ext4 modules_install
sudo cp arch/arm64/boot/Image /mnt/pi-fat32/kernel8.img

Notes and version constraints

  • Do not plug directly into a PC motherboard's PCIe slot.
  • Devices outside the supported list require a rebuilt kernel; exact steps are version-sensitive.
  • The placeholder IP 192.168.x.x must be replaced with the actual Raspberry Pi IP address.
  • If a 'Connection reset by peer' error occurs, the SSH public key must be re-checked and the connection retested.
  • The described build steps are tied to Ubuntu 20.04 and a specific Linaro toolchain version; other versions may cause deviations.
  • The power source (12 V vs. 5 V) must be confirmed before deployment.

Source and revision record