Windows WSL安装GNU Radio

WSL (Windows Subsystem for Linux)是个好东西,特别是对于开发人员来说,虽然说以后不需要安装windows+linux双系统或者虚拟机还为时过早,但是就目前来说,还是挺佩服微软的这波骚操作,别的不说,按照官方给出的操作指导,竟然非常顺利,没有出过差错,我的标准很低,只要不用折腾,节约点时间,就是个好产品,以下是官网的操作指导:

官方链接

Run Linux GUI apps with WSL

因为我之前就已经安装了WSL2,所以省去了一些步骤,如果您还没有装过WSL,按照官网链接操作即可,如果跟我一样已经有WSL2,按照以下操作即可:

1. 下载显卡驱动

根据自己电脑的显卡类型,选择相应的驱动:

  • **Intel** GPU driver for WSL
  • **AMD** GPU driver for WSL
  • **NVIDIA** GPU driver for WSL

我的电脑是i5的集成显卡,所以选择了intel的驱动,文件名是 igfx_win_101.1404.exe 下载完成安装即可

2. 更新wsl

因为我已经安装了WSL2,所以只需要更新即可:用管理员身份打开 Windows TerminalPowerShell 然后执行 wsl --update ,更新完成后,强制关闭 wsl,当然重启windows也可以。

3. 安装 GNU Radio

剩下的工作就和在真正的linux下操作没有什么差别了,我的linux子系统是ubuntu 20.04,安装应用可以用 sudo apt install ... ,所以安装 GNU Radio也很简单: sudo apt install gnuradio ,安装过程会报错:

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/f/freeglut/freeglut3_2.8.1-3_amd64.deb  Connection failed [IP: 91.189.88.152 80]
E: Aborting install.

出于一些超出我认知的原因, freeglut3_2.8.1-3_amd64.deb 下载不了,把链接复制到Windows的浏览器,通过不太安全的上网方式,下载到本地,然后到下载的目录,执行 sudo apt install ./freeglut3_2.8.1-3_amd64.deb ,然后继续执行 sudo apt install gnuradio
请跳过以下链接:
因为放在Notion里面共享,应该是无法下载的,我也不想放到别处了,还请自行下载

通过这种方式安装GNU Radio后,UHD也已经有了,可以直接 uhd_usrp_probe ,但是会找不到设备

[INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5
Error: LookupError: KeyError: No devices found for ----->
Empty Device Address

所以还需要最后关键的一步:

4. 安装 usbipd-win_2.1.0.msi

官网链接:

连接 USB 设备

下载 usbipd-win :

Releases · dorssel/usbipd-win

安装 usbipd-win_2.1.0.msi 当前(2022年初)最新版本,完成后在 ubuntu 下就可以用 lsusb 查看挂载的设备:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

只能看到USB总线,没有挂载设备,是因为USB设备都挂在windows下而不是ubuntu下,需要在 PowerShell 执行挂载操作:

usbipd wsl list # 查看USB设备,目的是找到设备的 BUSID 以便下面的命令使用:
usbipd wsl attach --busid 1-14  # 把设备挂载到ubuntu, 这里 1-14 就是上面命令查到的 BUSID
usbipd wsl detach --busid 1-14  # 把设备从ubuntu中移除,自动挂载到windows

ubuntu 下执行 (可选,暂时还不知道干嘛使的):

sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

你可能感兴趣的:(SDR,Windows,ubuntu,windows,gnu,ubuntu)