Kiwi BBAI-64 software installation instructions [updated 29-Jul-22]

jksjks
edited July 31 in BeagleBone AI-64

[updated 29-Jul-22]

Part 1 of 3

It is very important that you read and understand these instructions before proceeding. If at any time you get an unexpected result STOP and ask for help on the Kiwi forum.


SPECIAL CONSIDERATIONS:

1) Export restrictions. Mouser will likely not ship an AI64 outside of the USA due to export controls on the TI TDA4VM CPU chip. However check the distributor okdo.com for deliveries within Europe. Distributors are listed here: beagleboard.org/ai-64

2) The Beagle P9 cape header connector has been changed on the AI64. It has extra power pins you MUST NOT accidentally use. It is now easier than ever to incorrectly install, and thus instantly destroy, the Kiwi board due to incorrect voltages being applied. Carefully check the installation step below (do NOT install the Kiwi board until instructed to below).

3) DO NOT power the Kiwi+AI64 combo through the Kiwi 5V DC barrel connector. Too much current is required and the Kiwi's common-mode choke will likely burn up. Unlike the AI, the AI64 has both a 2.1/5.5 mm DC barrel connector (same as the Kiwi) and a USB-C power input. Use these instead. The AI64 manual recommends 3A minimum and the Kiwi needs about 1.5A peak. So use a 4.5A minimum supply to avoid problems.

4) If you brick your AI64 (e.g. due to an incorrect sequence of software update steps) then recovery is especially difficult. As of this writing users are reporting problems using many brands of micro SD cards which are necessary to hold a bootable recovery image (see: forum.beagleboard.org/t/sdcard-guaranteed-to-work-with-ai-64/32480)

Also, if a failure causes the AI64 to stop in the bootloader (U-boot), before Debian is even loaded, then you can only recover using the BBAI serial port. You must purchase a USB-to-3.3V serial cable (e.g. uk.farnell.com/ftdi/ttl-232r-3v3/cable-usb-to-ttl-level-serial/dp/1329311) and also an adapter cable from the header of the serial cable to the AI64's tiny JST ZH connector (e.g. uk.farnell.com/element14/1103004000156/beaglebone-ai-serials-cable/dp/3291081)

5) On the plus side, the excellent heat sink of the AI64 is a vast improvement over the AI. A modest fan is all that is required. We use a 5V 120 mm fan spinning at a slow 1500 RPM to reduce noise. It can be powered from the AI64 fan connector (Molex 4-pin PicoBlade, see: forum.beagleboard.org/t/ai-64-fan-header-compatible-male-connector/32231/6) or from one of the USB-A connectors.

6) Do not attempt to make SD card backups on the AI64 using the admin page, backup tab. A different procedure is going to have to be developed.

Continue with Part 2 in the next post.


Comments

  • jksjks
    edited July 28

    Part 2 of 3

    FIRST TIME SETUP:

    1) WITHOUT the Kiwi board installed, provide airflow to the heatsink, connect Ethernet, and apply 5V @ >= 4.5A to the AI64 power input.

    2) Find the Ethernet ip address assigned by your DHCP. Login using ssh/PuTTY as "debian" password "temppwd".

    sudo su using the "temppwd" again to get a root shell. With this Debian distro you cannot login as "root" [no password] anymore, i.e. it's more secure.

    3) Update Debian. Follow the instructions at beagleboard.org/update-ai64 but note these differences:

    • Leave out the use of sudo as you are already root.
    • During apt upgrade a couple of times your connection will be placed into a blue-screen dialog panel. The first will mention how a new kernel will be installed and you should consider immediately rebooting. DELAY REBOOTING until specified in the instructions. If you reboot too soon (e.g. immediately after the apt upgrade command) your AI64 will become bricked! Just hit the return key to the "OK" prompt to exit the panel.
    • A second panel will show a bunch of options. Don't make any changes. Just hit the tab key to get to the "OK" prompt followed by the return key to exit the panel.
    • After the apt upgrade finishes make sure to perform the /opt/u-boot/bb-u-boot-beagleboneai64/install-emmc.sh and /opt/u-boot/bb-u-boot-beagleboneai64/install-microsd.sh commands BEFORE the reboot command as shown in the instructions.
    • After the reboot ignore the remaining steps in the instructions: update xfce (window system), ti-edge-ai, cleanup.

    4) After the reboot login again, sudo su, and from the root shell do:

    cd /opt/source/dtb-5.10-ti-arm64

    git pull -v

    This should display a bunch of output as files are updated. You may see a warning saying "hint: Pulling without specifying how to reconcile divergent branches is discouraged." Ignore this warning.

    5) Build and install the Kiwi code (at this point the Kiwi board is still NOT YET installed).

    cd [changes current directory to /root]

    git clone https://github.com/jks-prv/Beagle_SDR_GPS.git

    cd Beagle_SDR_GPS

    make clean

    make

    make install

    The make step will take a while (up to 40 minutes) as many packages have to be installed prior to building the Kiwi software.

    Press the return key when prompted to reboot.

    If you are never prompted to reboot or there are any obvious errors in the build process STOP, take some screenshots of the error messages (or cut/paste), and ask for help on the Kiwi forum.

    6) Login again after the reboot, sudo su, and type halt to power down the AI64.

    Continue with Part 3 in the next post.

  • jksjks
    edited July 28

    Part 3 of 3

    7) With the AI64 powered off install the Kiwi board. Refer to the image below. Note the square "notch" in the Kiwi board to orient it properly. Align the Kiwi pins flush with the end of the P8 connector as shown by the green rectangle. On the other side, the P9 connector, the first 2 rows of pins MUST be skipped (as shown in the red rectangle) if the board is aligned properly. Triple check this before seating the Kiwi board onto the AI64 headers.

    [click image for larger]


    8) Apply power to the AI64. After about 60 to 90 seconds the Kiwi server should be running. Try connecting on port 8073. Configure as usual. The git clone above will have downloaded the most recent Kiwi release.


    CURRENT LIMITATIONS:

    1) The Kiwi software will display correct cpu temperature information. But cpu frequency information is not yet available. The Beagle guys are working on it. "2 GHz" is displayed by default as this should be the maximum supported.


    RESOURCES:

    Product information: beagleboard.org/ai-64

    System reference manual, schematic, block diagram: git.beagleboard.org/beagleboard/beaglebone-ai-64

    Forum: forum.beagleboard.org/tag/bbai64


    [end of instructions]

  • putting a piece of tape over the "evil" pins on J9 is a good measure. Kapton tape a good choice if you have it

  • Great idea!

  • jksjks
    edited August 1

    If anyone buys one and tries it please let me know if this procedure works for you or not.

    Interestingly, BeagleBoard.org considers the BBAI-64 to be the "Rev B" of the BBAI, despite the fact that it turned out so different from the BBAI. From the BBAI-64 System Reference Manual:

    2.2.1. Rev B

    We are starting with revision B based on this being an update to the BeagleBone

    Black AI. However, because this board ended up being so different, we’ve decided

    to name it BeagleBone AI-64, rather than simply a new revision.

  • How many simultaneous demod channels can the BBAI-64 support? More than the 14 that the BBAI supports, or does the Beagle software still need updating for more channels?

  • Only 14 because it's limited by the amount of logic that can be crammed into the FPGA. The FPGA cannot hold another rx channel (when there are zero waterfall channels) beyond 14.

    It's always a race between FPGA logic space, SPI interface utilization and Beagle cpu cycles (SPI is the data path between the FPGA and Beagle).

Sign In or Register to comment.