nqminds / trustnetz

BRSKI demo for NIST
0 stars 0 forks source link

Document NIST BRSKI hardware demo setup #9

Closed aloisklink closed 1 year ago

aloisklink commented 1 year ago

@mereacre, @nallott I've managed to get the one of the BRSKI NIST Raspberry Pi 4Bs running as a server and one as a client, but no matter what I try, the last Raspberry Pi 4B is being extremely stubborn. It seems to be dropping packets, so maybe the USB-C cable is bad quality, or there's some SD-card corruption (I did take the SD-cards from the super old Raspberry Pis in the office, and they're incredibly slow).

Nevertheless, we should at least be able to remotely update two of the Pis, which should be enough for a working demo.

Getting the BRSKI demo working will probably still be a whole load of work, since the current httplib that BRSKI uses is basically impossible to debug, and that's not even including of the other bits that we need to make a working demo.


Below is a checklist of all the parts you should need (all should be on @nallott's desk). The only thing you should need to buy is a UK to US power adapter.

Parts

Connection diagram

flowchart TD
    subgraph "USB-C hub"
      upstreamUsbC["`**USB-C** upstream fa:fa-desktop`"]
      power["`DC in fa:fa-plug`"]
      downstreamUsbA["`**USB-A** downstream (unused)`"]
      downstreamUsbC1["`**USB-C** downstream`"]
      downstreamUsbC2["`**USB-C** downstream`"]
      downstreamUsbC3["`**USB-C** downstream (unused)`"]
      upstreamUsbC ~~~ downstreamUsbC1
      upstreamUsbC ~~~ downstreamUsbC2
      upstreamUsbC ~~~ downstreamUsbC3
    end
    hubPsu["Hub PSU fa:fa-plug"] <----> power
    subgraph "nqm-brittanic-brski"
      hostUsbC["`**USB-C** connection`"]
      hostrj465["`RJ45 (Ethernet) connection`"]
      hostUsb3A1["`**USB-A 3.0** connection`"]
      hostUsb3A2["`**USB-A 3.0** connection (unused)`"]
      hostUsb2A1["`**USB-A 2.0** connection`"]
      hostUsb2A2["`**USB-A 2.0** connection`"]
    end
    hostUsb3A1 <--"`USB-C to USB-A cable`"--> upstreamUsbC
    hostUsb2A1 --> usbWifiAp1["`USB Wifi AP`"]
    hostUsb2A2 --> usbWifiAp2["`USB Wifi AP`"]
    subgraph "nqm-benign-brski"
        benignUsbC["`**USB-C** connection`"]
    end
    subgraph "nqm-biddable-brski"
        biddableUsbC["`**USB-C** connection`"]
    end
    downstreamUsbC1  <--"`USB-C to USB-C cable`"--> benignUsbC
    downstreamUsbC2  <--"`USB-C to USB-C cable`"--> biddableUsbC
    rasperryPiPsu["`Raspberry Pi 4 PSU fa:fa-plug`"] <--"USB-C power cable"--> hostUsbC
    nistUpstreamPort["`NIST upstream Ethernet port`"] <-- "Ethernet" --> hostrj465