Probablemente no hace falta decir que los piratas informáticos estaban entusiasmados cuando se anunció el Raspberry Pi 4, pero no fue solo porque había una nueva entrada en la línea favorita de SBC de Linux de todos. El nuevo Pi ofreció varias actualizaciones de hardware convincentes, incluida una interfaz PCI-Express integrada. El único problema era que la interfaz PCIe estaba dedicada al controlador USB 3.0; pero eso no es nada que una estación de retrabajo de aire caliente no pueda arreglar.

Anteriormente hemos visto piratas informáticos de mano firme quitar el controlador USB 3.0 en el Pi 4 para conectar varios dispositivos PCIe con resultados algo mixtos, pero [Colin Riley] ha elevado el listón al lograr que una placa multiplicadora PCIe funcione con la diminuta computadora Linux. Si bien todavía hay algunos problemas de software para resolver, los resultados son muy prometedores y ya tiene algunos dispositivos funcionando.

Obtener ese primer puerto PCIe agregado al Pi 4 ya se entiende bastante bien, por lo que [Colin] solo tenía que seguir el ejemplo establecido por hackers como [Tomasz Mloduchowski]. Efectivamente, cuando conectó la placa multiplicadora de puertos (después de un poco de lo que se refiere como "meneo profesional"), la entrada correspondiente apareció en lspci.

Pero había un problema. Si bien el kernel reconoció la placa multiplicadora de puertos, no apareció nada que conectó. Al revisar los registros del kernel, encontró mensajes relacionados con conflictos de bus, y uno que parecía especialmente importante: "los dispositivos detrás del puente son inutilizables porque [bus 02] no se les puede asignar". Para resumir, resulta que el núcleo Raspbian está configurado específicamente para permitir solo un bus PCI.

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

[Thanks to Paulie for the tip.]

Dejar respuesta

Please enter your comment!
Please enter your name here