Geontech / redhawk-rfnoc-build

0 stars 0 forks source link

UHD is no longer downloading the firmware #1

Open btgoodwin opened 3 years ago

btgoodwin commented 3 years ago

A third party has pointed out that presently, the uhd_images_downloader that runs during the build is either failing silently or otherwise not actually downloading the firmware .bit files from Ettus' server. When the do_install task executes, it fails because the file is missing. The proposed fix is to redhawk-rfnoc-build/meta-redhawk-apps/recipes-support/uhd/uhd_firmware.inc:

BASE_URL = "http://files.ettus.com/binaries/cache/"
UHD_FIRMWARE_TYPE = ""
UHD_FIRMWARE_TYPE_ettus-e300 = "e3xx_e310.*"
do_compile () {
    uhd_images_downloader -v -v -v -i ${S_DL} -t "${UHD_FIRMWARE_TYPE_ettus-e300}" -b ${BASE_URL}
}
do_compile[cleandirs] = "${S_DL}"
do_install() {
    install -d ${D}${datadir}/uhd/images
    install -m 0644 ${S_DL}/* ${D}${datadir}/uhd/images
    install -m 0644 /home/mike/Documents/stuff/* ${D}${datadir}/uhd/images
}

In this proposed fix, the person ran the downloader outside the context of Yocto and then modified the install task to pull the files in from that path (i.e., /home/mike/Documents/stuff/*). Note too this patch appends the -b ${BASE_URL} argument which isn't present at this current release.

Assuming the versions of UHD are the same in both the Yocto environment and the user's environment, and that all arguments provided to the utility are the same, it's unclear why the utility fails inside Yocto without a related log from do_compile. As more details are relayed, each will be captured here.

btgoodwin commented 3 years ago

The do_compile log shows that it's missing the six python module. It might be possible to get around this by adding whatever native package provides that module to the DEPENDS list.