banner
Centro de Noticias
Nuestros productos garantizan una solución indolora, práctica y segura.

Manos

Oct 22, 2023

StarFive me envió uno de sus VisionFive 2 RISC-V SBC para evaluación y revisión. Obtuve el modelo con doble Gigabit Ethernet y 8 GB de RAM, e informaré mi experiencia con la imagen "ratón de biblioteca" de Debian 12. Pero tenga en cuenta que no será exactamente una revisión, ya que el tablero no se puede revisar en este momento. Es realmente para los primeros usuarios y hay muchos problemas que resolver, y en esta publicación, informaré qué funciona y qué no, y algunos de los desafíos que encontré solo para instalar el sistema operativo...

El tablero viene en un paquete que dice "Acepta el cambio, abraza el futuro".

La parte inferior tiene algunos enlaces útiles y códigos QR, y lo que querrá es el repositorio de GitHub con el código fuente y las instrucciones para compilar la imagen desde la fuente (Nota: se recomienda Ubuntu 16.04, 18.04 o 20.04 x86_64), así como la sección del foro de RVspace para el tablero donde encontraremos instrucciones para comenzar y comentarios de otros usuarios.

El diseño y los componentes de la placa tienen exactamente el mismo aspecto que cuando se lanzó en Kickstarter, excepto que mi placa es VisionFive 2V1.3B.

Tenemos el procesador RISC-V de cuatro núcleos StarFive JH7110 en el centro, el chip BIWIN BWMZCX32H2A-64G de 8 GB de RAM, un puente VL805 PCIe a USB 3.0 como en Raspberry Pi 4, dos transceptores MotorComm YT8531C Gigabit Ethernet y un AXP15060 PMIC. Todos los puertos principales están en un lado con un conector de audio de 3,5 mm, cuatro puertos USB 3.0, salida HDMI 2.0 y dos puertos Gigabit Ethernet.

La parte inferior viene con un zócalo para tarjeta MicroSD que usaremos para iniciar el sistema operativo, conectores para un módulo flash eMMC y un zócalo M.2 para un SSD NVMe.

Las imágenes de Debian están disponibles en el sitio web de StarFive con enlaces a Baidu Drive o Google Drive. La última imagen es actualmente Image-69 lanzada a fines de diciembre.

La imagen sin comprimir no cabía en mi tarjeta MicroSD de 8 GB, así que la pasé a una tarjeta MicroSD de 32 GB que tardó cerca de 45 minutos en completarse. Creo que puede estar a punto de morir y es posible que tenga que comprar otro lote de tarjetas. Toda esta pérdida de tiempo para obtener tarjetas MicroSD que solo duran unos meses es en parte la razón por la que siempre me han disgustado las placas que solo arrancan con una tarjeta MicroSD...

Luego conecté un teclado USB, un mouse USB, un cable Ethernet y un adaptador de corriente USB tipo C. Inicialmente opté por uno de 5 V/2 A, pero no es una buena idea, ya que no proporciona suficiente energía y la placa arranca continuamente. Un adaptador de corriente Raspberry Pi de 5 V/3 A tampoco funcionó, así que opté por un adaptador de corriente GaN de 100 W para asegurarme de que no tenía ningún problema relacionado con la alimentación. Ah, y agregué un espaciador para elevar el tablero, ya que se recomienda.

Pero luego noté que la placa no arrancaba y encontré el anuncio de la Imagen 69 en los foros que explica:

Actualice los binarios más recientes de SPL 46 y U-Boot 44 siguiendo la Guía: 4.3 capítulo 77 antes de ejecutar esta imagen de Debian. esto es muy importante.

Encontrar la documentación adecuada tomó un tiempo, ya que está repartida por todas partes en chino y/o inglés, pero el mejor lugar para ir es la página Estado de publicación del documento con documentación en inglés. Es posible iniciar sesión a través de SSH, pero teniendo en cuenta la probabilidad de tener un problema de arranque, realmente recomendaría conectar una placa de depuración en serie, que es como descubrí el problema del bucle de arranque mencionado anteriormente.

Antes de instalar Debian 12, necesitaremos actualizar el cargador de arranque SPL y U-boot en VisionFive 2, y también usar la imagen mínima de Linux sdcard.img. Los encontraremos en GitHub, y utilicé la parte de archivos de VisionFive2 Software v2.8.0. El primer paso fue flashear sdcard.img a una tarjeta MicroSD. Esta imagen cabe en una tarjeta de 8 GB.

Podemos iniciar sesión con el nombre de usuario "root" y la contraseña "starfive". Aquí está el registro de arranque para mentes curiosas.

Asegurémonos de que estamos conectados a la red:

Todo está bien. Ahora podemos descargar los archivos binarios SPL y U-boot más recientes de GitHub y transferirlos a la placa a través de SCP desde su máquina host:

De vuelta en la terminal VisionFive 2, podemos comprobar las particiones:

Se ve bien, así que actualicemos el binario SPL con la utilidad flashcp:

y luego U-boot:

Apague la placa VisionFive 2 y reemplace la tarjeta MicroSD con la que tiene la imagen de Debian 12. Podría iniciar la imagen "con éxito".

Pero el primer arranque tardó más de 3 minutos, por lo que debe tener paciencia:

Los arranques posteriores son más rápidos en alrededor de 90 segundos.

Otro problema es que la pantalla del televisor está en negro aunque mi televisor detecta que el cable HDMI está conectado y hay algo de actividad sobre HDMI en la consola serie:

Me mudé a otra ubicación y probé con otra pantalla y no funcionó en absoluto. Pero eso es porque mi tarjeta MicroSD aparentemente falló:

Tuve que sacar una tarjeta MicroSD de mi cámara de seguridad para continuar y compré cinco tarjetas MicroSD Clase A1 en línea para futuras revisiones...

Pude arrancar normalmente, pero tuve el mismo problema con la pantalla HDMI negra. Creo que sé por qué:

Hay una falla de segmentación... Otras personas tuvieron un problema similar con una pantalla negra con el puntero del mouse o una pantalla negra sin el puntero del mouse. Nos dijeron que eso se debe a que las pantallas 4K aún no son compatibles, y esto se puede solucionar forzando 1920 × 1080 en la configuración de lightdm (/etc/lightdm/lightdm.conf) agregando la siguiente línea debajo de [Seat:*]:

Mis pantallas ya son 1920×1080 o 1280×800, y no me funcionó. Así que publiqué una entrada en el foro y puedes seguir el progreso desde allí.

De todos modos, en esta parte de la revisión de VisionFive 2, solo probaré Linux sin cabeza, y probablemente escribiré una segunda parte una vez que se publique una nueva imagen de Debian y pueda acceder a la interfaz gráfica de usuario.

Podemos comprobar la información del sistema con unos pocos comandos:

Parece que todo se detecta correctamente con la CPU de cuatro núcleos JH7110, 8 GB de RAM, tarjeta SD de 32 GB y controladores para pantalla, audio y Ethernet.

No podemos probar HDMI u otras funciones relacionadas con video o gráficos con esta imagen, ya que no funciona con ninguno de mis monitores, pero aún podemos verificar las funciones sin monitor.

Los GPIO están apareciendo en sysfs:

Intentemos alternar GPIO 44 (pin 40 en el encabezado GPIO):

Podría medir 3.27V con un multímetro con cables colocados en los pines 40 y 39. Cambiemos el valor a cero

Mi multímetro reporta 0.00V. GPIO es una pasada. Encontrará cómo usar las interfaces I2C, SPI, PWM y UART en la documentación.

Sigamos probando los dos puertos Gigabit Ethernet con iperf3 instalado con apt.

LAN1 (borde de la placa):

Los resultados son perfectos en cualquier dirección, pero inferiores al máximo con dúplex completo. Sin embargo, esos son resultados similares a los de algunas plataformas Arm como Khadas VIM4 SBC.

LAN2 (junto al puerto HDMI):

Duplex completo:

Es más o menos lo mismo que el otro puerto Ethernet, y eso también es bueno...

Instalé un SSD Apacer M.2 2280 PCIe Gen3 x4 de 256 GB (AS2280P4) en el zócalo M.2 en la parte inferior de la placa y se detectó correctamente:

iozone3 no está disponible a través de apt, así que tuve que descargarlo y construirlo desde la fuente:

No hay una opción RISC-V en el Makefile, así que primero traté de usar "make linux", pero la compilación falló mientras se vinculaba. "make linux-arm" se completó, así que usaremos eso...

Se supone que el SSD admite velocidades de lectura de hasta 1800 MB/s y velocidades de escritura de 1100 MB/s. Entonces, a 169 MB/s y 158 MB/s eso no es suficiente. Anteriormente lo probé a 1100 MB/s con una carcasa ORICO Thunderbolt/USB conectada a una mini PC Intel. La repetición de la prueba en el VisionFive 2 produce las mismas bajas velocidades.

Aquí está la salida para lscpi como referencia:

No muestra la velocidad del enlace, pero si verificamos una salida más detallada, muestra:

Ese sería un fracaso por ahora, ya que el rendimiento es demasiado bajo.

Deje que apague la placa, retire el SSD M.2 NVMe y colóquelo en el gabinete ORICO mencionado anteriormente. Ahora vamos a conectar la caja SSD USB y arrancar la placa de nuevo y

Así es como se ve la salida de lsusb con la caja USB, el teclado y el mouse:

Ahora ejecutemos iozone:

Los números son extrañamente parecidos a los que aparecen cuando se conectan al zócalo M.2. 173 MB/s de escritura y 152 MB/s de lectura... Eso debería estar más cerca de 300 a 400 MB/s en un puerto USB 3.0 a 5 Gbps. También es posible que iozone3 requiera algunas optimizaciones para RISC-V, pero lo veo poco probable.

Si bien no podemos probar el audio HDMI en este momento, aún podemos probar el conector de audio de 3,5 mm conectando un par de altavoces alimentados por uno de los puertos USB de la placa. El USB es solo para alimentación y el audio proviene del conector de 3,5 mm.

Usé el ffplay preinstalado para reproducir algunos MP3 sin licencia:

Funciona bien, pero el audio estaba saturado a todo volumen. No hubo tal problema después de bajar el volumen de los altavoces.

Agreguemos algunos comentarios sobre la tarjeta MicroSD. Las tarjetas que he usado tienen un bajo rendimiento de E/S aleatorias, pero podría usarlas con Raspberry Pi y otros SBC sin mucha dificultad. Pero con la imagen de Debian 12 utilizada en VisionFive 2, solo escribir comandos en la terminal puede ser realmente, incluso un simple "ls" en el directorio raíz puede tardar 10 segundos en completarse.

También tengo que esperar entre 5 y 10 minutos antes de poder pasar por el indicador de inicio de sesión "starfive login: root" y comenzar a escribir comandos. Tener una tarjeta MicroSD de mayor rendimiento o usar un módulo eMMC ciertamente ayudaría, pero estoy bastante seguro de que la imagen de Debian también debe optimizarse en ese sentido.

Por lo general, ejecuto el script sbc-bench.sh para evaluar el rendimiento de computadoras de placa única y mini PC. RISC-V es una plataforma bastante nueva, por lo que no tenía muchas esperanzas de que funcionara sin problemas, pero lo intenté de todos modos.

La vista de información funciona bien. Hay mucha actividad y E/S aquí porque se está instalando un paquete en otra ventana de terminal.

Pero incluso durante el banco SBC inactivo no se iniciará debido a una alta carga de CPU:

También hay otras dos advertencias. La primera es que el script no se ha probado en Debian 12 "Bookworm", que aún no se ha lanzado. El segundo es porque la salida de dmesg está truncada y no comienza desde las 00:00. No voy a reiniciar, ya que toma alrededor de 8 minutos para un ciclo de inicio completo hasta el punto después de iniciar sesión y acceder al símbolo del sistema. Desactivemos la comprobación del promedio de carga de la CPU y reiniciemos el script para ver hasta dónde puede llegar:

El paquete 7-zip no forma parte del repositorio Debian RISCV64 y tendría que compilarse desde el código fuente para ejecutarse en la placa VisionFive 2. Entonces, en este momento, no es posible ejecutar SBC Bench sin omitir algunas pruebas. Repasémoslo en unos meses.

StarFive VisionFive 2 debe verse como una placa de desarrollo RISC-V en esta etapa, y no es adecuado para la integración en proyectos/productos hasta que se realicen más progresos en el lado del software. Dado que Linux RISC-V todavía es bastante nuevo, especialmente desde el punto de vista de video/gráficos, debería esperarse. Ya hay funciones que funcionan bien, como Gigabit Ethernet, GPIO, el conector de audio y USB, pero otras, como HDMI y el rendimiento del almacenamiento, aún necesitan mucho trabajo. La estabilidad del sistema también debe mejorarse, ya que mi conexión SSH se cayó varias veces y no pude volver a conectarme, ni la consola serial funcionó, lo que requirió un reinicio completo. Pero puedo ver una cantidad decente de actividad en los foros y la compañía está trabajando en la integración del kernel de Linux.

Me gustaría agradecer a StarFive por enviar el tablero. Los desarrolladores que deseen ayudar con el software y/o las pruebas pueden comprar el VisionFive 2 SBC revisado aquí por $70.40 más gastos de envío (y posiblemente impuestos). La placa también se ofrece en Amazon por $112 con WiFi.

Jean-Luc comenzó CNX Software en 2010 como un esfuerzo de medio tiempo, antes de dejar su trabajo como gerente de ingeniería de software y comenzar a escribir noticias diarias y reseñas a tiempo completo más tarde en 2011.

¡Admite el software CNX! Done a través de criptomonedas o conviértase en Patrono en Patreon

Artículos Relacionados:

V1.3B