Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4)
⚡ Lo esencial en 60 segundos
- soc — Amlogic A311D (amlogic,a311d, amlogic,g12b family) — big.LITTLE hexa-core: 4× Cortex-A73 + 2× Cortex-A53, Arm Mali-G52 MP4 (6EE) GPU (OpenGL ES 3.2, Vulkan 1.0, OpenCL 2.0 per wiki spec table), 5 TOPS NPU (wiki, CNX).
- ram — 4 GB LPDDR4 (mainline DTS memory@0 reg = <0x0 0x0 0x0 0x40000000>; geerlingguy saw 3709 MiB usable).
- cpu_power — two PWM-controlled DC/DC regulators — VDDCPU_A (MP8756GD, 0.68–1.04 V) for the A73 cluster, VDDCPU_B (SY8120B1ABC, 0.68–1.04 V) for the A53 cluster (mainline DTS).
- storage — 16 GB eMMC on module (options "up to 128 GB", wiki) — 8-bit bus, mmc-hs200-1_8v, max-frequency = <200000000> (mainline DTS). microSD slot is on the carrier (4-bit, cap-sd-highspeed, 50 MHz, CD on GPIOC_6). No SPI NOR. Measured eMMC: 233 MB/s 1 M sequential read (fio) — geerlingguy #11; 148.8 MB/s hdparm read on a Samsung part (wiki benchmark table).
- pcie_nvme — PCIe Gen2 x1 controller on-module routing (mainline &pcie with reset on GPIOA_8); the BPI-CM4IO carrier exposes it as a mini-PCIe socket (PCIe + USB 2.0) with a micro-SIM slot for an LTE modem. NVMe SSD works through a mini-PCIe→NVMe adapter — the wiki explicitly states "bananapi cm4io has a minipcie slot onboard" and benchmarks a Samsung 970 EVO Plus at 351 MB/s hdparm read, 101 k IOPS 4 k random read (wiki "Boot Linux from SSD").
- ethernet — one Gigabit Ethernet — Amlogic GbE MAC (ðmac, phy-mode = "rgmii-txid") + on-module Realtek RTL8211F PHY (ethernet-phy@0, "Realtek RTL8211F (0x001cc916)", max-speed = <1000>, interrupt on GPIOZ_14) (mainline DTS; CNX; wiki spec table "1x Gigabit Ethernet ports one via RTL8211F GbE transceiver"). Measured 943 Mbit/s up / 873 Mbit/s down (iperf3, geerlingguy #11).
- En esta placa : 9 tutoriales · 10 código
El Banana Pi BPI-CM4 es un módulo de sistema en un chip (SoM) diseñado para ofrecer una alternativa potente y compatible con el estándar Raspberry Pi Compute Module 4. Es fundamental entender que este dispositivo no es una placa de desarrollo independiente, sino un componente compacto que requiere obligatoriamente una placa base portadora para funcionar. Su formato físico, de 55 por 40 milímetros, coincide exactamente con el del Raspberry Pi CM4, lo que permite utilizarlo en carcasas y bases de expansión existentes mediante conectores de placa a placa de 100 pines. Fabricado por Shenzhen SINOVOIP Co., Ltd. bajo la marca Banana Pi, este módulo fue anunciado en mayo de 2022 y lanzado comercialmente en enero de 2023 con un precio inicial cercano a los 95 dólares estadounidenses. Su principal atractivo reside en la compatibilidad mecánica y eléctrica con el ecosistema Raspberry Pi, aunque introduce diferencias técnicas significativas en su procesador y capacidades de entrada/salida.
El corazón del BPI-CM4 es el procesador Amlogic A311D, un sistema en un chip de seis núcleos que utiliza una arquitectura big.LITTLE. Esta configuración combina cuatro núcleos de alto rendimiento Cortex-A73 con dos núcleos de eficiencia energética Cortex-A53. Para quienes no estén familiarizados con estos términos, la arquitectura big.LITTLE permite que el sistema utilice los núcleos potentes para tareas exigentes y los eficientes para procesos en segundo plano, optimizando así el consumo de energía y la temperatura. La frecuencia máxima de los núcleos A73 se reporta comúnmente en 2.0 GHz, aunque mediciones independientes han observado picos de hasta 2.4 GHz bajo ciertas condiciones, mientras que los núcleos A53 operan a velocidades inferiores. En cuanto a la memoria, la variante estándar incluye 4 GB de RAM LPDDR4, una tecnología de memoria de bajo consumo adecuada para aplicaciones multimedia y de servidor ligero. El almacenamiento interno se basa en 16 GB de memoria eMMC, aunque la documentación menciona opciones de hasta 128 GB, siendo la versión de 16 GB la más comúnmente distribuida.
Una de las características distintivas del Amlogic A311D es su unidad de procesamiento neuronal (NPU) integrada, capaz de realizar 5 billones de operaciones por segundo (5 TOPS). Esto significa que la placa puede ejecutar tareas de inteligencia artificial y aprendizaje automático directamente en el dispositivo, sin necesidad de aceleradores externos como los módulos Google Coral o Intel Myriad X. Gráficamente, el chip incorpora una GPU Mali-G52 MP4, que soporta estándares modernos como Vulkan y OpenGL ES 3.2, permitiendo una aceleración de hardware fluida para interfaces de escritorio y reproducción de vídeo. De hecho, el sistema operativo puede manejar salidas de vídeo en resolución 4K a 60 fotogramas por segundo a través de su puerto HDMI. Sin embargo, a diferencia del Raspberry Pi CM4, el BPI-CM4 limita sus capacidades de vídeo y cámara a una sola salida HDMI, una entrada de cámara MIPI-CSI y una salida de pantalla MIPI-DSI, debido a las restricciones de pines del procesador Amlogic.
La conectividad del módulo es robusta pero presenta matices importantes. Incluye un puerto Gigabit Ethernet controlado por un transceptor Realtek RTL8211F, aunque algunas descripciones de marketing antiguas mencionaban erróneamente dos puertos; la realidad verificada es un solo puerto de red. Para la comunicación inalámbrica, integra un chip Realtek RTL8822CS que soporta Wi-Fi de doble banda (802.11ac) y Bluetooth. Es crucial notar que, aunque el chip es compatible con Bluetooth 5.2 según algunas especificaciones, las mediciones de usuario han reportado funcionalidades más cercanas a Bluetooth 4.2/LE, lo que sugiere una variabilidad en el soporte de controladores. La placa cuenta con dos conectores de antena u.FL y una antena PCB integrada; curiosamente, las pruebas han demostrado que la antena integrada a menudo ofrece mejor rendimiento que las antenas externas, un fenómeno atribuido a la sintonización de la impedancia en el diseño de la placa.
En cuanto a la expansión, el BPI-CM4 soporta PCIe Gen2 x1. A través de la placa base oficial BPI-CM4IO, esta conexión se expone mediante un zócalo mini-PCIe, que también incluye un puerto USB 2.0 y una ranura para tarjeta micro-SIM. Esto permite añadir tarjetas de red LTE 4G para conectividad móvil o unidades de estado sólido NVMe mediante adaptadores. Las pruebas de rendimiento muestran que el almacenamiento NVMe ofrece velocidades de lectura secuencial de aproximadamente 351 MB/s, superando ampliamente al almacenamiento eMMC o a las tarjetas microSD. No obstante, es vital comprender que el procesador Amlogic no soporta el arranque del sistema operativo directamente desde PCIe o NVMe; el gestor de arranque debe residir siempre en la memoria eMMC o en una tarjeta microSD, utilizándose el SSD únicamente como almacenamiento de datos raíz.
El sistema operativo y el soporte de software han evolucionado desde su lanzamiento. Inicialmente, las imágenes proporcionadas por el fabricante se basaban en un kernel Linux antiguo (versión 4.9) y un gestor de arranque de 2015, lo que limitaba el soporte de hardware moderno. Sin embargo, el soporte para el kernel principal de Linux (mainline) se añadió a partir de la versión 6.4, permitiendo el uso de distribuciones modernas como Armbian, que ofrece un soporte de nivel "platinum" para esta placa. Armbian facilita el uso de controladores actualizados para la GPU, el audio y la red, superando muchas de las limitaciones del software propietario original. A pesar de esto, existen desafíos técnicos conocidos, como la prioridad de arranque de la eMMC, que puede bloquear el arranque desde SD si está configurada incorrectamente, y la tendencia del procesador a reducir su velocidad (throttling térmico) rápidamente si no se utiliza un disipador de calor adecuado, alcanzando temperaturas de estrangulamiento alrededor de los 70 grados Celsius.
La gestión de energía es eficiente, con un consumo en reposo de aproximadamente 1.8 vatios y hasta 4.1 vatios bajo carga máxima, alimentada por un puerto USB-C o pines DC en la placa base. Los pines GPIO están disponibles en un conector de 26 pines compatible con Raspberry Pi, permitiendo el uso de sensores y actuadores estándar mediante protocolos como I2C, SPI y UART. Aunque el soporte para librerías de GPIO ha sido históricamente fragmentado, el uso de herramientas estándar de Linux como libgpiod en kernels modernos ofrece una vía más estable para el desarrollo de hardware. En resumen, el Banana Pi BPI-CM4 representa una opción potente para desarrolladores que buscan rendimiento de IA y multimedia superior al Raspberry Pi CM4, manteniendo la compatibilidad física, siempre que se tengan en cuenta sus particularidades de arranque, térmicas y de conectividad específica.


Esquema de pines (pinout)

| Attr | Especificaciones | verificado |
|---|---|---|
soc | Amlogic A311D (amlogic,a311d, amlogic,g12b family) — big.LITTLE hexa-core: 4× Cortex-A73 + 2× Cortex-A53, Arm Mali-G52 MP4 (6EE) GPU (OpenGL ES 3.2, Vulkan 1.0, OpenCL 2.0 per wiki spec table), 5 TOPS NPU (wiki, CNX). | ? sin verificar |
ram | 4 GB LPDDR4 (mainline DTS memory@0 reg = <0x0 0x0 0x0 0x40000000>; geerlingguy saw 3709 MiB usable). | ? sin verificar |
cpu_power | two PWM-controlled DC/DC regulators — VDDCPU_A (MP8756GD, 0.68–1.04 V) for the A73 cluster, VDDCPU_B (SY8120B1ABC, 0.68–1.04 V) for the A53 cluster (mainline DTS). | ? sin verificar |
storage | 16 GB eMMC on module (options "up to 128 GB", wiki) — 8-bit bus, mmc-hs200-1_8v, max-frequency = <200000000> (mainline DTS). microSD slot is on the carrier (4-bit, cap-sd-highspeed, 50 MHz, CD on GPIOC_6). No SPI NOR. Measured eMMC: 233 MB/s 1 M sequential read (fio) — geerlingguy #11; 148.8 MB/s hdparm read on a Samsung part (wiki benchmark table). | ✔ |
pcie_nvme | PCIe Gen2 x1 controller on-module routing (mainline &pcie with reset on GPIOA_8); the BPI-CM4IO carrier exposes it as a mini-PCIe socket (PCIe + USB 2.0) with a micro-SIM slot for an LTE modem. NVMe SSD works through a mini-PCIe→NVMe adapter — the wiki explicitly states "bananapi cm4io has a minipcie slot onboard" and benchmarks a Samsung 970 EVO Plus at 351 MB/s hdparm read, 101 k IOPS 4 k random read (wiki "Boot Linux from SSD"). | ✔ |
ethernet | one Gigabit Ethernet — Amlogic GbE MAC (ðmac, phy-mode = "rgmii-txid") + on-module Realtek RTL8211F PHY (ethernet-phy@0, "Realtek RTL8211F (0x001cc916)", max-speed = <1000>, interrupt on GPIOZ_14) (mainline DTS; CNX; wiki spec table "1x Gigabit Ethernet ports one via RTL8211F GbE transceiver"). Measured 943 Mbit/s up / 873 Mbit/s down (iperf3, geerlingguy #11). | ✔ |
wifi_bluetooth | on-module Realtek RTL8822CS — 802.11ac (WiFi 5) dual-band up to 867 Mbit/s + Bluetooth, SDIO (rtl8822cs: wifi@1 on &sd_emmc_a, sd-uhs-sdr104, keep-power-in-suspend) with BT on &uart_A (realtek,rtl8822cs-bt, RTS/CTS, wake GPIOs GPIOX_18/19) (mainline DTS; CNX; wiki). 2× u.FL antenna connectors + onboard PCB antenna; no antenna in the box (CNX, bret.dk). | ? sin verificar |
video | 1× HDMI 2.1 output up to 4Kp60 (single HDMI only — the A311D pin budget gives 1 HDMI / 1 CSI / 1 DSI vs the BCM2711's 2/2/2, wiki), 1× MIPI-DSI display connector and 1× MIPI-CSI camera connector (both on the carrier; mainline enables &hdmi_tx, CEC AO A/B, &i2c1 "camera" bus, &i2c3 DSI touch bus). Vendor camera example: OmniVision OS08A10 via os08a10.dtbo (wiki). | ✔ |
usb | 2× USB 2.0 Type-A + 1× USB-C (OTG on the carrier; mainline baseboard DTS sets dr_mode = "peripheral") — two USB2 PHYs (usb2_phy0/1) on the module (mainline DTS). | ? sin verificar |
gpio_expansion | 26-pin header on the carrier, Raspberry-Pi-CM4-style 26-pin block (wiki pinout table maps BPI-CM4 nets to RPi CM4 GPIO numbers). From the BPI-CM4IO pin table: I2C1 = GPIOX_17/18 (pins 3/5), UART_B = GPIOX_6/7 (8/10), SPI_A = GPIOX_8/9/10/11 (MOSI/MISO/SCK/SS0, pins 19/21/24/23), I2S = GPIOA_0/1/2/3/7, SPDIF in/out = GPIOH_5/GPIOH_4, IR-IN = GPIOAO_5, GPIOAO_10 (pin 11), 3V3 and DCIN power pins. - PWM: mainline enables pwm_ab (PWM_E pin), pwm_ef (also used as the 32.768 kHz WiFi clock) and pwm_AO_cd; the vendor WiringPi fork supports hardware + software PWM on the 26 pins (wiki). > ses SARADC_CH3/ADC_KEY. - DAC: none exposed. | ✔ |
debug_console | 3-pin UART header on the carrier (UART0 RX/TX/GND); stdout-path = "serial0:115200n8" = uart_AO in mainline; Armbian console is ttyAML0 (armbian/build). | ✔ |
other | 2 buttons (power + the ADC "Function" key), power LED + activity LED (mainline led-blue = GPIOAO_7 with heartbeat trigger, led-green = GPIOAO_2), IR input, audio via HDMI I2S glue and the axg sound card (amlogic,axg-sound-card, TDM/FRDDR DAI links) in mainline. | ? sin verificar |
power | 5 V, via the carrier's USB-C OTG port or the header/DCIN pins (wiki, CNX "Supply Voltage – 5V"). Recommended 5 V/3 A supply (wiki Getting Started). Measured (module + carrier, WiFi/BT/Ethernet on, no peripherals): 1.8 W idle, 4.1 W under stress-ng --matrix 0 (geerlingguy #11). | ✔ |
thermals | throttling starts at ≈70 °C; bare module under stress-ng throttles within 5 s to 2208/1074 MHz, and after 10 min sits at 1000/1000 MHz; a small heatsink keeps it at 1800/1398 MHz after 10 min (bret.dk). | ? sin verificar |
mechanical | module 55 × 40 mm, "exactly the same size as the raspberry PI CM4" (wiki), 4× M2.5 mounting holes (CNX); BPI-CM4IO carrier 100 × 72 mm (wiki). | ? sin verificar |
- Fabricante: Shenzhen SINOVOIP Co., Ltd. / Guangdong BiPai Technology Co., Ltd., marca «Banana Pi» (Wikipedia: Banana Pi, consultado el 2026-10-13).
- Producto: Banana Pi BPI-CM4 — un system-on-module compatible con Raspberry Pi CM4 (2 conectores placa a placa de 100 pines, 55 × 40 mm, 4 orificios M2.5) (CNX, 2023-01-05).
- Año: anunciado el 2022-05-25 («Banana Pi is working on a Raspberry Pi CM4 compatible module powered by Amlogic A311D», CNX 2022-05-25); lanzamiento comercial el 2023-01-05 (CNX 2023-01-05). Los metadatos de placa de Armbian registran INTRODUCED="2021" (armbian/build config/boards/bananapicm4io.conf).
- Precio de lanzamiento: 95 USD por el módulo, ~110 USD por el kit con la placa base BPI-CM4IO (CNX 2023-01-05). Compras independientes: 90 $ módulo / 105 $ módulo+CM4IO con envío incluido (reseña de bret.dk) y 109,73 $ por el 4 GB/16 GB en AliExpress el 2023-01-05 (geerlingguy/sbc-reviews #11).
- Estado: Activo / vigente (no EOL a 2026-10-13): imagen Android del fabricante fechada el 2024-04-29 e imágenes Linux fechadas el 2023-12-26 en el wiki (Banana_Pi_BPI-CM4); Armbian sigue distribuyéndola con KERNEL_TARGET="current,edge" y etiqueta de bootloader v2026.01 (armbian/build); los enlaces a las tiendas AliExpress/Taobao figuran en el wiki.
- Variantes / placas relacionadas: - BPI-CM4 4 GB LPDDR4 + 16 GB eMMC — la configuración comercializada documentada en todas partes (tabla de especificaciones del wiki, CNX, geerlingguy). El anuncio de CNX de 2022 listaba opciones de 2 GB/4 GB de RAM y eMMC «hasta 128 GB». - BPI-CM4IO — placa portadora de 100 × 72 mm del propio Banana Pi para BPI-CM4 o Raspberry Pi CM4 (wiki BPI-CM4IO). - Placa IO de Raspberry Pi CM4 y placas portadoras CM4 de terceros — utilizables física y eléctricamente («Other is Pin2Pin. you can use Raspberry Pi CM4 baseboard», wiki; CNX señala que las funciones de doble HDMI y doble cámara de la placa portadora no funcionan). - BPI-CM2 (Rockchip RK3568, conectores de 70 pines adicionales) y BPI-CM5 (Amlogic A311D2) son módulos distintos que comparten la huella CM4 (CNX 2023-08-08, wiki BPI-CM5).
+ Puntos fuertes
- Huella y distribución de conectores idénticas al Raspberry Pi CM4 («Pin2Pin», mismo tamaño 55×40 mm), por lo que las placas portadoras CM4 existentes funcionan — con la pérdida documentada de las funciones doble HDMI/doble CSI (wiki, CNX).
- NPU de 5 TOPS en el SoC — sin necesidad de acelerador IA externo (CNX: «users do not need to add an AI accelerator like Google Coral or Myriad X»); el fabricante remite a las demos NPU del Khadas VIM3.
- Hexa-core big.LITTLE A73+A53 — CPU mediblemente más rápida que un CM4 BCM2711 incluso con el Pi overclockeado a 2,0 GHz (CNX), 6 CPUs lógicas frente a 4 (bret.dk).
- Mali-G52 MP4 (6EE) con controlador Panfrost mainline (Vulkan/OpenCL) — Armbian incluso blacklista simpledrm porque «conflicts with Panfrost» (armbian/build).
- mini-PCIe + micro-SIM en la placa portadora → WAN Quectel EC20 LTE 4G documentado vía qmi_wwan (quectel-CM &) o pppd, puerto AT /dev/ttyUSB2 (sección EC20 del wiki).
- Almacenamiento PCIe NVMe a través de la ranura mini-PCIe: ~351 MB/s de lectura, 101 k IOPS de lectura aleatoria de 4 k — 100× el rendimiento aleatorio de 4 k de la microSD (tabla de benchmarks del wiki).
- WiFi 5 + BT con dos conectores u.FL y una antena PCB integrada funcional — bret.dk midió mejor rendimiento con la antena PCB que con una antena externa.
- Soporte real mainline + Armbian «platinum» (kernel 6.x, Panfrost, tarjeta de sonido ALSA axg, controladores de LED y ADC-key) además del BSP del fabricante — raro en módulos Banana Pi (sección Armbian del wiki, DTS mainline).
- Funciones de silicio diversas expuestas: receptor IR (GPIOAO_5), tecla de usuario SARADC, HDMI CEC (ambos controladores CEC AO), audio I2S/TDM con glue de audio HDMI, cámaras MIPI CSI (OS08A10) y pantallas MIPI DSI (pantallas BPI 800×1280 / 1200×1920, rotación vía fb_rotate o Xorg).
− Puntos débiles
- BSP del fabricante obsoleto. u-boot 2015.01 + Linux 4.9.241 en todas las imágenes del fabricante: «the module is only suitable for people that are fine with using outdated bootloader and Linux kernel» (CNX 2023-01-05).
- Trampa de prioridad de arranque de la eMMC. Una eMMC arrancable bloquea el arranque desde tarjeta SD; una eMMC a medio grabar puede colgar la placa en BL2 y requiere la USB Burning Tool / un borrado completo con dd para recuperarla (wiki Boot Sequence).
- Throttling térmico severo. El throttling empieza a ~70 °C, en 5 segundos bajo stress-ng en un módulo sin disipador, hasta 1000/1000 MHz tras 10 minutos; se requieren disipador + flujo de aire para carga sostenida (bret.dk).
- Conflicto del controlador WiFi RTL8822CS en Armbian. El controlador fuera del árbol 88x2cs «fights mainline rtw88_8822cs for the onboard SDIO wifi (DISASSOC_LOW_ACK, h2c failures, 1 Mbit/s at full signal)» — Armbian incluye MODULES_BLACKLIST="simpledrm 88x2cs" (config de placa armbian/build). En las imágenes del fabricante WiFi/BT están deshabilitados por defecto y hay que habilitarlos añadiendo 88x2cs a /etc/modules (wiki «Enable Wifi and BT»).
- Sin arranque NVMe/PCIe. «A311d soc rom and BPI-M2S-bsp uboot are both not support nvme boot» — el SSD solo sirve como rootfs, el bootloader debe residir en SD/eMMC (wiki).
- Solución alternativa a la inestabilidad SD/PCIe. El fabricante documenta user_kernel_args=pci=pcie_bus_safe disableuhs para forzar al host SD fuera del modo UHS cuando la ranura PCIe está ocupada (wiki) — es decir, la combinación no es fiable.
- Conjunto de funciones del CM4 reducido. Solo 1 HDMI, 1 CSI, 1 DSI (vs 2/2/2 en el CM4): «for A311D chip PIN limited»; funciones de la placa portadora como doble HDMI o doble cámara simplemente no funcionan (wiki, CNX).
- Paradoja de la antena. Conectar la antena externa subía la intensidad de señal pero reducía el rendimiento; sin explicación en el momento de escribir (sección WiFi de bret.dk).
- Las herramientas GPIO son solo del BSP y parciales. «This WiringPi only support set 26pins gpio to output, input, pwm or software pwm, for io functions as i2c, spi, ..., you must enable dtb overlay in boot.ini» — los forks WiringPi/RPi.GPIO del fabricante (Dangku/WiringPi, Dangku/RPi.GPIO) no funcionan con kernels mainline (wiki).
- Disponibilidad de documentación/datasheet. El datasheet, el esquema, el DXF y las imágenes están alojados en enlaces de Baidu Pan / Google Drive (algunos ya rotos por el «Google security update», según la nota del wiki), un riesgo real de disponibilidad a largo plazo para la documentación de hardware oficial.
- Inconsistencias de las fichas técnicas: «2 Gigabit port» frente a un solo GbE real; Bluetooth 5.2 vs 4.2/LE; comentario «USB3» frente a placas portadoras solo USB 2.0; opción de 2 GB de RAM nunca confirmada a la venta.
- Menor: la imagen Debian 10 del fabricante incluye un iperf3 demasiado viejo para --bidir (geerlingguy #11); los componentes eMMC son de doble proveedor (Samsung AJTD4R HS200 vs SZ Rayson RS1G32LO4), por lo que las cifras de almacenamiento varían según la unidad.
- Retour d'expérience expert expert — expert-pi-like
- Retour sur la BPI-CM4. Le format CM4 est un vrai plus pour réutiliser des carriers existants, mais attention au piège du boot : si l'eMMC contient une partition bootable corrompue, la carte ne bootera jamais sur SD sans passer par le USB Burning Tool ou un dd complet. C'est documenté et ça m'a coût… — expert-pi-like
- Merci pour ce retour. J'hésite encore entre la BPI-CM4 et un CM4 classique. Tu confirmes que le support PCIe est bien limité ? Je vois des mentions de NVMe via mini-PCIe, mais est-ce que ça boot directement ? J'ai vu dans la doc qu'il faut garder le bootloader sur SD ou eMMC car le ROM de l'A311D n… — maker-bleu
- Effectivement, pas de boot NVMe, le bootloader doit rester sur eMMC ou SD. Pour le PCIe, j'ai dû ajouter pci=pcie_bus_safe disableuhs aux arguments kernel car ma carte SD était instable dès que j'insérais un adaptateur mini-PCI- NVMe. C'est un workaround connu. Et pour le GPIO, oublie WiringPi stan… — linux-hacker-99
Opiniones y proyectos de la comunidad
- Banana Pi BPI-CM4 Review (Compute Module 4), Is it the best replacement for the Raspberry Pi CM4 forum.banana-pi.org
- Banana Pi CM4 Review & Benchmarks vs Raspberry Pi CM4 forum.banana-pi.org
- [BPI-CM4] MNT Reform with A311D Processor desktop performance captured over HDMI forum.banana-pi.org
- Banana Pi BPI-CM4 computer module with Amlogic A311D forum.banana-pi.org
Contenido no disponible todavía.
- Official wiki (product page, pinout, images)
- Official getting started (boot sequence, overlays, WiFi/BT, camera, EC20 LTE, NVMe)
- Official carrier board page (BPI-CM4IO, 26-pin table)
- Datasheet / schematic / mechanical (vendor, Google Drive + Baidu)
- Datasheet / schematic / mechanical (vendor, Google Drive + Baidu)
- Datasheet / schematic / mechanical (vendor, Google Drive + Baidu)
- Datasheet / schematic / mechanical (vendor, Google Drive + Baidu)
- Datasheet / schematic / mechanical (vendor, Google Drive + Baidu)
- meson-g12b-bananapi-cm4.dtsi
- meson-g12b-bananapi-cm4-cm4io.dts
- configs/bananapi-cm4-cm4io_defconfig
- config/boards/bananapicm4io.conf
- Armbian
- Armbian
- Vendor BSP / forks
- Vendor BSP / forks
- Vendor BSP / forks
- Vendor BSP / forks
- Vendor BSP / forks
- Vendor BSP / forks
- CNX Software 2022-05-25 (announcement)
- CNX Software 2023-01-05 (launch, $95)
- CNX Software 2023-08-08 (BPI-CM2, RK3568 sibling)
- bret.dk full review
- geerlingguy sbc-reviews #11
- Wikipedia: Banana Pi
- Community
- Community
- BSP del fabricante obsoleto. u-boot 2015.01 + Linux 4.9.241 en todas las imágenes del fabricante: «the module is only suitable for people that are fine with using outdated bootloader and Linux kernel» (CNX 2023-01-05).
- Trampa de prioridad de arranque de la eMMC. Una eMMC arrancable bloquea el arranque desde tarjeta SD; una eMMC a medio grabar puede colgar la placa en BL2 y requiere la USB Burning Tool / un borrado completo con dd para recuperarla (wiki Boot Sequence).
- Throttling térmico severo. El throttling empieza a ~70 °C, en 5 segundos bajo stress-ng en un módulo sin disipador, hasta 1000/1000 MHz tras 10 minutos; se requieren disipador + flujo de aire para carga sostenida (bret.dk).
- Conflicto del controlador WiFi RTL8822CS en Armbian. El controlador fuera del árbol 88x2cs «fights mainline rtw88_8822cs for the onboard SDIO wifi (DISASSOC_LOW_ACK, h2c failures, 1 Mbit/s at full signal)» — Armbian incluye MODULES_BLACKLIST="simpledrm 88x2cs" (config de placa armbian/build). En las imágenes del fabricante WiFi/BT están deshabilitados por defecto y hay que habilitarlos añadiendo 88x2cs a /etc/modules (wiki «Enable Wifi and BT»).
- Sin arranque NVMe/PCIe. «A311d soc rom and BPI-M2S-bsp uboot are both not support nvme boot» — el SSD solo sirve como rootfs, el bootloader debe residir en SD/eMMC (wiki).
- Solución alternativa a la inestabilidad SD/PCIe. El fabricante documenta user_kernel_args=pci=pcie_bus_safe disableuhs para forzar al host SD fuera del modo UHS cuando la ranura PCIe está ocupada (wiki) — es decir, la combinación no es fiable.
- Conjunto de funciones del CM4 reducido. Solo 1 HDMI, 1 CSI, 1 DSI (vs 2/2/2 en el CM4): «for A311D chip PIN limited»; funciones de la placa portadora como doble HDMI o doble cámara simplemente no funcionan (wiki, CNX).
- Paradoja de la antena. Conectar la antena externa subía la intensidad de señal pero reducía el rendimiento; sin explicación en el momento de escribir (sección WiFi de bret.dk).
- Las herramientas GPIO son solo del BSP y parciales. «This WiringPi only support set 26pins gpio to output, input, pwm or software pwm, for io functions as i2c, spi, ..., you must enable dtb overlay in boot.ini» — los forks WiringPi/RPi.GPIO del fabricante (Dangku/WiringPi, Dangku/RPi.GPIO) no funcionan con kernels mainline (wiki).
- Disponibilidad de documentación/datasheet. El datasheet, el esquema, el DXF y las imágenes están alojados en enlaces de Baidu Pan / Google Drive (algunos ya rotos por el «Google security update», según la nota del wiki), un riesgo real de disponibilidad a largo plazo para la documentación de hardware oficial.
- Inconsistencias de las fichas técnicas: «2 Gigabit port» frente a un solo GbE real; Bluetooth 5.2 vs 4.2/LE; comentario «USB3» frente a placas portadoras solo USB 2.0; opción de 2 GB de RAM nunca confirmada a la venta.
- Menor: la imagen Debian 10 del fabricante incluye un iperf3 demasiado viejo para --bidir (geerlingguy #11); los componentes eMMC son de doble proveedor (Samsung AJTD4R HS200 vs SZ Rayson RS1G32LO4), por lo que las cifras de almacenamiento varían según la unidad.
- Monter le module BPI-CM4 sur son carrier et réussir le premier boot debutant Schéma : IMG-bananapi-cm4-debutant-1-assembler-module-cm4-carrier.svg — module Banana Pi BPI-CM4 (55 × 40 mm) en cours d'alignement au-dessus d'un carrier BPI-CM4IO, deux connecteurs 100 broches surlignés, câble USB-C d'alimentation et câble HDMI à proximité.
- Apprivoiser les LED et la touche ADC du carrier CM4IO debutant Schéma : IMG-bananapi-cm4-debutant-2-leds-et-cle-adc-cm4io.svg — gros plan du carrier BPI-CM4IO : LED bleue (GPIOAO_7), LED verte (GPIOAO_2), bouton « Function » relié au SARADC, header 26 broches en bas d'image.
- Mesurer le stockage du BPI-CM4 : eMMC, microSD et le palier NVMe debutant Schéma : IMG-bananapi-cm4-debutant-3-benchmark-stockage-cm4.svg — BPI-CM4IO avec une microSD insérée dans son slot et un SSD NVMe monté sur adaptateur mini-PCIe ; en médaillon, histogramme des débits séquentiels eMMC / microSD / NVMe.
- Activer I2C, SPI et UART sur le BPI-CM4 : env.txt ou armbianEnv.txt intermediaire Schéma : IMG-bananapi-cm4-intermediaire-1-overlays-bus-banapi-cm4.svg — header 26 broches du carrier BPI-CM4IO avec les fonctions surlignées : I2C1 (GPIOX_17/18, broches 3/5), UART_B (GPIOX_6/7, broches 8/10), SPI_A (GPIOX_8 à 11, broches 19/21/23/24) ; à côté, une carte SD dont la partition boot affiche env.txt et armbianEnv.txt.
- Brancher un capteur BME280 sur l'I2C1 du carrier (GPIOX_17/18) intermediaire Schéma : IMG-bananapi-cm4-intermediaire-2-i2c-bme280-banapi-cm4.svg — module BME280 câblé sur le header 26 broches du BPI-CM4IO : SDA sur la broche 3 (GPIOX_17), SCL sur la broche 5 (GPIOX_18), VCC en 3V3 et GND, résistances de pull-up intégrées au module.
- Déplacer le rootfs sur un SSD NVMe via le port mini-PCIe intermediaire Schéma : IMG-bananapi-cm4-intermediaire-3-nvme-rootfs-minipcie-cm4.svg — SSD NVMe fixé sur un adaptateur mini-PCIe inséré dans le port du carrier BPI-CM4IO ; la carte microSD reste insérée : flèches « bootloader sur SD » et « rootfs sur SSD ».
- Exploiter le NPU 5 TOPS de l'A311D pour l'inférence embarquée avance Schéma : IMG-bananapi-cm4-avance-1-npu-5tops-banapi-cm4.svg — BPI-CM4 sur son carrier avec une caméra USB et un écran HDMI affichant une détection d'objets ; la puce A311D est surlignée avec l'étiquette « NPU 5 TOPS ».
- Monter un point d'accès 4G avec le module Quectel EC20 du port mini-PCIe avance Schéma : IMG-bananapi-cm4-avance-2-routeur-lte-4g-ec20-cm4.svg — module Quectel EC20 au format mini-PCIe avec deux antennes u.FL et une micro-SIM insérée, monté dans le port du carrier BPI-CM4IO ; flèches WAN (antenne 4G) vers LAN (câble RJ45).
- Dompter la chauffe : throttling à 70 °C, dissipateur et pilotage CPU avance Schéma : IMG-bananapi-cm4-avance-3-maitriser-thermique-banapi-cm4.svg — module BPI-CM4 coiffé d'un petit dissipateur sur l'A311D ; en médaillon, courbe de fréquence : effondrement à 1000 MHz sans refroidissement contre 1800 MHz maintenu avec dissipateur.
Biblioteca de código — ejemplos escritos para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBashserveur-web-capteur.pyPythonwifi-station.shBashjournal-cron.shBashveilleur-systemd.pyPython
Ejemplos y repositorios encontrados en línea
- nerocide/bananapi-cm4_turing-pi2 github.com
- riktam/bananapi-cm4-usb github.com