因为在ubuntu14.04 下安装了GNU Radio,其中连接usrp实现收发的第一个例程中就要用到tun/tap模块,而ubuntu14.04的内核版本是3.6,已经不再支持这个模块,所以需要自己安装。查了很多资料,自己也是在摸索中前进,希望把这些东西记录下来,算是对自己学习的一个记录,也希望能够帮到其他有需要的人。
尝试各种办法都没有成功之后,终于等到你~~~~
这是别人转自ubuntu论坛上的解决办法,原文地址如下:
解决没有tuntap模块问题
具体代码如下:
sudo apt-get install build-essential linux-headers-`uname -r`
mkdir faketun
cd faketun
echo -e "#include <linux/module.h>\nstatic int start__module(void) {return 0;}\nstatic void end__module(void){return;}\nmodule_init(start__module);\nmodule_exit(end__module);">tun.c
echo -e "obj-m += tun.o\nall:\n\tmake -C /lib/modules/\$(shell uname -r)/build/ M=\$(PWD) modules\nclean:\n\tmake -C /lib/modules/\$(shell uname -r)/build/ M=\$(PWD) clean\nclean-files := Module.symvers">Makefile
make
sudo install tun.ko /lib/modules/`uname -r`/kernel/net/tun.ko
sudo depmod -a
sudo modprobe tun
说实话我并不能看懂,但是看大家说这个问题解决了,我就试了一下,果然如此!喜极而泣啊!!!
这是我最后成功时使用的方法,此前还试过这个网址中的方法,地址如下:
用ocmal来安装tuntap
这个方法的前多少步都成功了,奈何在安装tuntap时,在终端写入ocaml setup.ml -configure
以后给我报错,错误是E: Cannot find findlib package cmdliner
, 安装了cmdliner仍然未能解决,一时半会儿也不知道问题出在哪里,好在最后用这种方法启用或者安装了tuntap模块。
今天的工作总算是有了小的进展,再接再厉,加油!