El multiplicador PCIe amplía las opciones de Raspberry Pi 4

No hace falta decir que los piratas informáticos se emocionaron cuando se anunció la Raspberry Pi 4, pero no fue solo porque apareció una nueva entrada en todas las líneas SBC favoritas de Linux. El nuevo Pi ofreció una serie de atractivas actualizaciones de hardware, incluida una interfaz PCI-Express incorporada. El único problema fue que la interfaz PCIe estaba dedicada al controlador USB 3.0; pero nada que una estación de reescritura de aire caliente pudiera arreglar.

Anteriormente, hemos visto constantes piratas informáticos quitar el controlador USB 3.0 en el Pi 4 para conectar una variedad de dispositivos PCIe con resultados algo mixtos, pero [Colin Riley] subió la barra con éxito al recibir una placa de multiplicación PCIe que funciona con la pequeña computadora Linux. Aunque todavía hay algunos problemas de programación, los resultados son muy prometedores y ya tiene algunos dispositivos en funcionamiento.

Obtener ese primer puerto PCIe agregado al Pi 4 ya se comprende bastante bien, por lo que [Colin] solo tenía que seguir el ejemplo dado por hackers como [Tomasz Mloduchowski]. Probablemente cuando insertó la placa de multiplicación de puertos (después de un poco de lo que él llama "escalonamiento profesional"), apareció la entrada apropiada en lspci.

Pero había un problema. Si bien la tabla de multiplicar de la puerta fue reconocida por el núcleo, no apareció nada que hubiera insertado en ella. Verificando los protocolos centrales, encontró mensajes relacionados con conflictos de bus, y que parecían especialmente importantes: "dispositivos detrás de un puente son inutilizables porque [bus 02] no se puede asignar para ellos“. Para abreviar una larga historia, resulta que el kernel de Raspbian está configurado específicamente para permitir solo un bus PCI.

Afortunadamente, es una solución fácil una vez que sepa cuál es el problema. Con la herramienta "Compilador de árbol de dispositivos", [Colin] fue capaz de editar el archivo de árbol de dispositivos Raspbian y cambiar la variable PCI "rango de bus" de <0x0 0x1> Alabama <0x0 0xff>. A partir de ahí solo fue cuestión de insertar varios dispositivos y ver qué funciona. Cosas simples como los controladores USB no fueron un problema, pero obtener soporte de ARM Linux para la NVIDIA GTX 1060 que probó tendrá que ser un problema para otro día.

  • Xeon dice:

    Alguien tiene que crear un puerto para que coincida en lugar del chip, por lo que hacer este modo puede ser muy sencillo.

    • Nadia Mayer dice:

      Simplemente conéctelo al puerto USB 3 para que pueda usar una tarjeta de cable en el mismo chip

      • onebiozz dice:

        Sería bueno ver una gota de PCB de jersey para eso

      • Darren Dickerson dice:

        Fue lo primero que pensé ...

        • Naga Ravi dice:

          Un conector flexible también funciona como conectores móviles tipo LEGO

      • METRO dice:

        Estos puertos USB 3.0 no son puertos USB 3.0. Las tarjetas multiplicadoras de puertos están conectadas junto con cables y conectores USB 3.0, pero están conectadas eléctricamente para PCIe 1x. Conectar cualquier dispositivo USB 3.0 a ellos o viceversa permitirá que la magia fume y acabe con el puerto en el mejor de los casos.

  • ScriptGiddy dice:

    ¿Cuánto tiempo hemos estado ...

  • Este truco apesta dice:

    Supongo que el siguiente paso sería agregar RAM adicional a la Raspi, pero el paso final será tener una placa base vieja y simple con un zócalo ARM.

    • Xeon dice:

      Me encantaría ver un brazo llegar hasta aquí.
      imagina que puedes intercambiar la cpu

      • CityZen dice:

        Pero no es una "CPU", es un microcontrolador o, en otras palabras, es un chip "casi todo". Para cambiar "casi todo", suele ser más fácil cambiar "todo".

        • tekkieneet dice:

          La palabra que busca es SOC
          https://en.wikipedia.org/wiki/System_on_a_chip

      • Mate dice:

        Había un antiguo proyecto de AMD llamado Skybridge que habría introducido procesadores ARM como parte de él.

        Lo que veo es que los núcleos ARM están integrados principalmente en los SOC, que se supone que tienen todo integrado en ellos. Algo como el módulo de cómputo Raspberry Pi es una solución para la modularidad que existe.

        Como entusiasta, creo que sería bueno ver a alguien crear un chip ARM que use múltiples buses más programados como PCIe. Pero también entiendo una variedad de razones que no tienen sentido.

        Sin embargo, espero que la comunidad esté progresando con PCIe en la Pi y veamos que se abren más opciones (tal vez incluso un SOC barato y bien soportado con más rutas de PCIe).

  • hybls dice:

    Las armas para tarjetas gráficas AMD y Nvidia cambiarían el juego. podría implementar el nuevo tipo de usb 4 en un teléfono futuro (o habilitar tormentas eléctricas en el futuro) y hacer que funcione con una tarjeta gráfica y un monitor externos. Incluso se podría colocar un receptor de corto alcance de ghz dentro de una bobina de carga inalámbrica, para que se conecte y funcione tan pronto como apague su teléfono. Solo puedes soñar ...

    • mm0zct dice:

      La Nvidia 710 funciona bien conectada a nuestras plataformas virtuales ARM a través de pcie-pasthrough, necesita modificar la configuración de nouveau para que se ajuste a que Aarch64 es un objetivo válido, pero luego se construye y funciona bien con Mesa. Ejecuté el programa de prueba glx-gears y jugué GLTron en él. Este es básicamente el mismo que el diseño de Pi si está utilizando un kernel Aarch64 Pi.

  • David dice:

    Cuánto tiempo antes de que la interfaz sea realmente equivalente de fábrica.

  • JKW dice:

    ¿No hay un módulo de computadora para RPi4 donde una ráfaga PCIe podría ser más fácil?

    • Greg dice:

      no, no existe.

    • Paulie dice:

      Un módulo de computadora Pi4 en su factor de forma actual no tendría suficientes pines en el conector de borde para romper un PCIe. Por lo tanto, un conector de borde más una pieza adicional para PCIe se vuelve más difícil de fabricar y menos robusto en la práctica.
      Predigo que la primera versión no tendrá PCIe y, sin embargo, es posible que CM4 + no sea factible.

    • Sykobee dice:

      El módulo de computadora equivalente aún se está diseñando, según un artículo que leí a principios de esta semana.

  • johnny_programmer dice:

    Entonces, ¿eso significa que podría reemplazar la tarjeta mmc con un HDD o SSD rápido? ¿Eso significa que puedes ejecutar Windows 10?

    • Este truco apesta dice:

      Aún necesitaría la tarjeta de memoria para comenzar. Luego, necesitaría realizar una rutina de inicio de pcie / sata que tome los primeros 512 de un disco duro SATA definido. Después de eso, creo que el sistema operativo debería modificarse para poder extraer más datos de las unidades SATA utilizando esta configuración.

      Supongo que sería mucho más fácil extraer el primer 1 GB de datos en la RAM e iniciar el sistema operativo desde allí. Implementaría mucho más fácilmente un controlador trivial dentro del sistema operativo que pudiera reconocer la existencia de una placa controladora SATA, dentro de una placa PCIe.

      La mayoría de estas cosas terminan con el chip dentro del circuito base, pero como no obtuviste un chip, debes implementarlo manualmente y sería mucho más lento que el circuito base actual.

    • Vic delicada dice:

      La solución fácil sería agregar una ranura B-Key M.2 y usar un disco PCIe, pero no es de arranque, probablemente también necesite controladores.

      Suponiendo que Windows RT permanezca muerto, Windows no puede funcionar y nunca funcionará de manera utilizable con Raspberry Pi. Inevitablemente necesitas una placa x86_64 para esto

      • LinuxSBC dice:

        Hay Windows en ARM, un proyecto de Microsoft. Algunas personas realmente lo iniciaron, consulte https://pi64.win/

        • Joshua F Jordan dice:

          Lo encendí, pero nunca encendí los puertos USB, ¿sabes si alguien más trabajó alguna vez?

    • Dissy dice:

      Esto debería haber sido mucho más fácil de agregar al Pi4 que los modelos anteriores, pero ahora no se ve así.
      Pi 3s tenía el código de inicio en el BCM y solo podía arrancar desde sd, usb, gpio y network.

      Parece que el Pi4 ha movido el gestor de arranque a una eeprom. El artículo que leí decía en ese momento que ahora solo puede arrancar desde sd, pero están trabajando en el arranque usb / net.
      Pero estar en eeprom significa que se pueden crear y poner en marcha métodos de inicio alternativos en el futuro.

    • MTR dice:

      ¿Por qué diablos alguien intentaría lanzar Windows 10 en una frambuesa?

      • Este truco apesta dice:

        No hay nada de malo en intentar iniciar Windows 10 en una arquitectura ARM. Todo el mundo tiene derecho a realizar los trucos que desee y a utilizar los sistemas operativos que considere necesarios.

        Ahora, dicho esto, ¿por qué diablos alguien agregaría ranuras de expansión PCIe a Raspi? ¿No sería más barato comprar una placa base ARM de uso general?

  • lamalas dice:

    ¿Por qué no comprar una sola tableta con brazo que tenga un mini pci-e o m.2? O una placa base x86 normal con una CPU integrada. Es un buen truco / mod independientemente.

    • isama dice:

      Creo que respondiste tu propia pregunta 🙂

      Sería bueno de alguna manera conectar una tarjeta de red de 2 puertos para configurar un enrutador / firewall, o conectar un montón de tarjetas sata y un montón de discos duros lentos para un almacenamiento grande y de energía relativamente baja. No es que no exista un producto estándar que pueda mejorarlo, ¡pero bueno! ¡es divertido!

  • Chris dice:

    No entiendo. Si desea el sistema X86 WIN10, compre.

  • Aleksclark dice:

    Los conectores Raspberry Pi PCie tienen un alcance realmente largo de solo 6 pies.

    2.1.4 Conecte el cable al Pi

    Conecte el cable a un puerto USB 3.0 en la Raspberry Pi.

    Conecte los cables Pi a la alimentación / reinicio de la fuente de alimentación en el PCIE (P8, U0, P9, P10, S1)

    El cable debe encajar bien y los cables deben estar dirigidos entre sí.

    Si tiene problemas cuando el cable encaja alrededor del conector (o se conecta a otros cables dentro del Pi), esto se resuelve apagando la fuente de alimentación. Intente no apagar la fuente de alimentación si ocurre este problema. Algunos de los cables del PCIE pueden ser difíciles de introducir en el PCIE debido al ajuste estricto.

  • bonzadog dice:

    Sería bueno conectar DIsk ... supongo que sí que debe redactarse CUANDO el dispositivo esté completamente probado. Lástima que el RP4 no tenga un puerto SATA, eso sería genial ... incluso si costara un puerto HDMI (¿son dos puertos deportivos demasiados?)

  • Richard Collins dice:

    Cuando hacen A + Rpi4, espero que el único puerto USB sea el puerto usb 2.0 y el cable plano para el PCI

  • donante dice:

    Si alguien puede ejecutar un adaptador Pcie a MXM, me interesaría. Actualmente estoy haciendo una conversión de computadora portátil vieja a pi (lo llamo ThinkPi jajaja) y algo así sería genial (aunque destruiría el consumo de energía jajaja)

  • Molesto dice:

    ¿Se pregunta si una tarjeta de generación anterior (es decir, GTX650) podría usarse para aplicaciones de inteligencia artificial?
    Ya los he visto por tan solo £ 10 y la ventaja es que solo se necesita poco tiempo para entrenar el NN y luego ejecutarlo en hardware dedicado.

América Aguilar
América Aguilar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.