OpenAirInterface 安装USRP或BLADERF时Hash校验和不符问题

本文介绍了解决USRP与BLADERF驱动安装过程中遇到的Hash校验和不符问题的方法,包括更换国内源和修改源配置文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装USRP和BLADERF驱动的时候,都遇到了
W: 无法下载 http://ppa.launchpad.net/bladerf/bladerf/ubuntu/dists/trusty/main/binary-amd64/Packages Hash 校验和不符

W: 无法下载 http://ppa.launchpad.net/bladerf/bladerf/ubuntu/dists/trusty/main/i18n/Translation-en Hash 校验和不符
问题

注意这个地方实际上是OpenAirInterface自己要从这个源下载USRP或者是BLADERF的驱动。

那么当出现这个Hash校验和不符问题时一般可能是由于国内网络连接问题,或者是国内服务器缓存内容与源内容不一致导致的。可以尝试以下几种方法:
(1) 重新换一个源,可以尝试使用国内高校的源,并执行以下命令:

sudo rm -rf /var/lib/apt/list/*
sudo apt-get update 

(2) 修改源,如图中所示,可以看出是由于bladerf/bladerf/的源出了问题(你可以根据具体情况看是哪个源的问题),可以在目录 /etc/apt/sources.list.d 找到juju的源配置文件 bladerf/bladerf/-stable-trusty.list,内容为:
deb http://ppa.launchpad.net/bladerf/bladerf/stable/ubuntu trusty main

手动将内容改为:
deb http://ppa.launchpad.net/bladerf/bladerf/stable/ubuntu/dists trusty main
然后执行sudo apt-get update

笔者按第二种方法改完之后,发现每次执行
./build_oai -I -w USRP
命令之后,/etc/apt/sources.list.d 目录下的配置文件又被添加了没有dists的条目。。所以又编译不过了

OpenAirInterface的./build_oai调用的是
openairinterface5g/cmake_targets/tools目录下的build_helper和openairinterface5g/targets目录下的build_helper.bash(build_oai.bash)
所以说修改build_helper和build_helper.bash中的内容,打开这两个文件,搜索USRP
把build_helper.bash中

check_install_usrp_uhd_driver(){
    if [ ! -f /etc/apt/sources.list.d/ettus.list ] ; then 
        $SUDO bash -c 'echo "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu`lsb_release -cs` `lsb_release -cs` main" >> /etc/apt/sources.list.d/ettus.list'
        $SUDO apt-get update
    fi 
    $SUDO apt-get install -t $UBUNTU_REL_NAME uhd
    test_install_package python 
    test_install_package libboost-all-dev 
    test_install_package libusb-1.0-0-dev
    #test_install_package uhd
}

替换为

check_install_usrp_uhd_driver(){
    if [ ! -f /etc/apt/sources.list.d/ettus.list ] ; then 
        #$SUDO bash -c 'echo "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/dists`lsb_release -cs` `lsb_release -cs` main" >> /etc/apt/sources.list.d/ettus.list'
        $SUDO apt-get update
    fi 
    $SUDO apt-get install -t $UBUNTU_REL_NAME uhd
    test_install_package python 
    test_install_package libboost-all-dev 
    test_install_package libusb-1.0-0-dev
    #test_install_package uhd
}

把build_helper中的

check_install_usrp_uhd_driver(){
        #first we remove old installation
        $SUDO apt-get remove -y uhd || true
        $SUDO apt-get remove libuhd-dev libuhd003 uhd-host -y
        v=$(lsb_release -cs)
        $SUDO apt-add-repository --remove "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu$v $v main"
        #The new USRP repository
        $SUDO add-apt-repository ppa:ettusresearch/uhd -y
        $SUDO apt-get update
        $SUDO apt-get -y --allow-unauthenticated install  python python-tk libboost-all-dev libusb-1.0-0-dev
        $SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
}

替换成

check_install_usrp_uhd_driver(){
        #first we remove old installation
        $SUDO apt-get remove -y uhd || true
        $SUDO apt-get remove libuhd-dev libuhd003 uhd-host -y
        v=$(lsb_release -cs)
        $SUDO apt-add-repository --remove "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/dists$v $v main"
        #The new USRP repository
        #$SUDO add-apt-repository ppa:ettusresearch/uhd -y
        $SUDO apt-get update
        $SUDO apt-get -y --allow-unauthenticated install  python python-tk libboost-all-dev libusb-1.0-0-dev
        $SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
}

其实就是把添加源的语句注释掉了,让他直接根据最开始修改的源来update,不要自己再添加源就可以了。

注意看这句话
#$SUDO add-apt-repository ppa:ettusresearch/uhd -y
为什么注释掉这句话,大家应该可以理解了吧(取消添加源的操作)

写在最后,笔者在编译完成后
出现状态如下:

.......
正在设置 libuhd-dev (3.5.5-1) ...
正在设置 uhd-host (3.5.5-1) ...
net.core.rmem_max = 50000000
net.core.wmem_max = 1048576
Processing triggers for libc-bin (2.19-0ubuntu6.13) ...
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
uhd-host 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 402 个软件包未被升级。

You do not have write permissions at the install location!
build have failed

You do not have write permissions at the install location!
build have failed!

简直头皮发麻,经过一天的努力,解决方法见本博客另外一篇博文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值