Changes between Version 8 and Version 9 of Resources/Notes/Krypton Usage
- Timestamp:
- May 11, 2020, 12:57:03 AM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Resources/Notes/Krypton Usage
v8 v9 6 6 === Installation / Starting of PCIe driver === 7 7 From the COSMOS console, load an image that has a compatible UHD & kernel driver already installed. The image baseline-uhd.ndz or similar can be used. 8 {{{ 9 console >omf load -i baseline-uhd.ndz -t sdr2-lg1.sb1.cosmos-lab.org10 console >omf tell -a on -t sdr2-lg1.sb1.cosmos-lab.org8 {{{#!shell-session 9 console:~# omf load -i baseline-uhd.ndz -t sdr2-lg1.sb1.cosmos-lab.org 10 console:~# omf tell -a on -t sdr2-lg1.sb1.cosmos-lab.org 11 11 }}} 12 12 13 13 Now ssh into the Krypton host and verify it is able to detect the radio on the PCIe bus. Use ''lspci'' to list all the devices that are detected. 14 {{{ 14 {{{#!shell-session 15 15 root@sdr2-lg1:~# lspci 16 16 }}} 17 17 18 18 In the output of lspci, search for ''Signal processing controller: National Instruments PXIe/PCIe Device''. This means the host computer's PCIe controller sees the Krypton radio. Now download and install the PCIe driver so the UHD applications access the radio. Complete details on this driver is [https://files.ettus.com/manual/page_ni_rio_kernel.html here]. 19 {{{ 19 {{{#!shell-session 20 20 root@sdr2-lg1:~# wget http://files.ettus.com/binaries/niusrprio/niusrprio-installer-18.0.0.tar.gz 21 21 root@sdr2-lg1:~# tar -zxf niusrprio-installer-18.0.0.tar.gz … … 24 24 25 25 After the installation is complete start the driver by loading it into the kernel modules. 26 {{{ 26 {{{#!shell-session 27 27 root@sdr2-lg1:~# /usr/local/bin/niusrprio_pcie start 28 28 Making sure drivers are up to date... … … 37 37 38 38 At this point use ''uhd_find_devices'' and ''uhd_usrp_probe'' query the radio. 39 {{{ 39 {{{#!shell-session 40 40 root@sdr2-lg1:~# uhd_find_devices --args="type=x300" 41 41 [INFO] [UHD] linux; GNU C++ version 7.4.0; Boost_106501; UHD_3.14.0.HEAD-0-g6875d061 … … 67 67 68 68 To update the FPGA following these steps. 69 {{{ 69 {{{#!shell-session 70 70 root@sdr2-lg1:~# /usr/local/lib/uhd/utils/uhd_images_downloader.py 71 71 root@sdr2-lg1:~# uhd_image_loader --args "type=x300" … … 76 76 77 77 '''Note:''' If the Krypton host is rebooted, the driver modules are NOT automatically reloaded into the kernel. So the command ''/usr/local/bin/niusrprio_pcie start'' has to be run on the Krypton host everytime it is power-cycled or rebooted. 78 {{{ 78 {{{#!shell-session 79 79 root@sdr2-lg1:~# /usr/local/bin/niusrprio_pcie start 80 80 }}} … … 84 84 While trying to build the NI driver following the instructions above, you may encounter an error regarding the ''do_munmap'' function not having enough input arguments. To fix, issue the following command to open the problematic C code file in nano: 85 85 86 {{{ 86 {{{#!shell 87 87 nano /var/lib/nikal/5.0.0-29-generic/nikal/nikal.c 88 88 }}} … … 90 90 In nano, use CTRL-W to search for "do_munmap" and locate the following function: 91 91 92 {{{ 92 {{{#!c 93 93 static inline int nNIKAL240_do_munmap(struct mm_struct *mm, unsigned long addr, size_t len) 94 94 { … … 105 105 Note that the third and final call to ''do_munmap'' is missing the fourth parameter. Add NULL as the fourth parameter so that the line reads as the following: 106 106 107 {{{ 107 {{{#!c 108 108 return do_munmap(mm, addr, len, NULL); 109 109 }}}