移远RM500Q模块直连ubuntu实现拨号上网 | 您所在的位置:网站首页 › 5g上网卡怎么使用 › 移远RM500Q模块直连ubuntu实现拨号上网 |
RM500Q驱动配置
1.环境配置与内核下载2.修改内核文件3.内核设置与编译4.QMI,GobiNet驱动的安装5.QConnectManager的安装6.拨号上网7.问题解决
1.环境配置与内核下载
首先将虚拟机磁盘空间设置为100G,运行内存4G,不够的扩容或者重装系统 需要将虚拟机的USB兼容性设置到3.1或者3.0 以Ubuntu 20.04为例 uname -r: 查看当前内核版本 sudo apt search linux-source: 查看当前可用的内核 下载跟当前内核版本相同的内核,命令的后面加上内核号,例如,我的内核版本是5.4.0-54-generic,使用命令sudo apt-get install linux-source-5.4.0下载 打开 /usr/src 目录 解压内核 tar xvf linux-source-5.4.0.tar.bz2 -C ~/,解压到家目录下/home/ubuntu/linux-source-5.4.0,后续的操作中这个目录就是内核的目录 安装必要的程序和库 sudo apt-get install bison -y sudo apt-get install flex sudo apt-get install libncurses5-dev sudo apt-get install lib32ncurses5 sudo apt-get install lib32z1 sudo apt-get install libssl-dev sudo apt-get install lzop sudo apt-get install libelf-dev 安装arm-linux-gcc交叉编译器 由于此Ubuntu20.04 是64 位的Ubuntu 系统,就安装64 位的arm-linux-gcc 交叉编译器,直接安装就能成功。链接:https://pan.baidu.com/s/1SffxkJ2ZS17d1F1aYY3pSA 提取码:gydq 把下载好的安装包移动到根目录下的/tmp 目录中 使用tar 命令解压安装包,执行指令sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C /,执行此命令会把安装包解压到根目录下的opt 的TuxamitoSoftToolchains 里面(/opt/TuxamitoSoftToolchains) 将压缩包解压完成之后,在/usr/local 中创建一个新的目录arm,执行指令 sudo mkdir /usr/local/arm 创建arm 目录成功后,还需要给它解放全部权限,执行指令sudo chmod 777 /usr/local/arm 在解压出来的目录中找到并把整个gcc-4.6.4 目录复制到刚刚建好的arm 目录中,执行指令 cd /opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/ 再执行cp 复制命令,-r 表示整个目录以及里面的任何东西 sudo cp -r gcc-4.6.4 /usr/local/arm 打开/etc/profile 配置环境变量和库变量,目的是以后可以在任何位置使用该交叉编译器,执行指令sudo vi /etc/profile 用vi 或者vim 打开后,在文件最后添加两行,并输入以下代码:第一行是添加执行程序的环境变量,第二行是库文件的路径 export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib使用source 命令重新加载生效该配置文件,执行指令source /etc/profile 检验是否安装成功,在Terminal 输入以下命令输出版本信息,执行指令arm-linux-gcc -v 退出时等gedit左下角保存完后再退出 在此内核路径下/linux-source-5.4.0/drivers/usb/serial 执行指令gedit qcserial.c 将{USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */ 禁用掉。 在此内核路径下/linux-source-5.4.0/drivers/net/usb 执行指令gedit qmi_wwan.c 将{QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */ 禁掉。 添加零包机制 在此内核路径下/linux-source-5.4.0/drivers/usb/serial 执行指令gedit usb_wwan.c 将以下语句添加到static struct urb *usb_wwan_setup_urb(struct usb_serial *serial, int endpoint,int dir, void *ctx, char *buf, int len,void (*callback) (struct urb *))函数中 #if 1 //Added by Quectel for zero packet if (dir == USB_DIR_OUT) { struct usb_device_descriptor *desc = &serial->dev->descriptor; if (desc->idVendor == cpu_to_le16(0x2C7C)) urb->transfer_flags |= URB_ZERO_PACKET; } #endif切换到内核目录下(/home/ubuntu/linux-source-5.4.0),执行make menuconfig,找到Device Drivers →USB Support →USB Serial Converter support →USB driver for GSM and CDMA modems选项,选择保存,名称默认.config即可,然后退出 执行make bzImage(半小时左右) 执行make moudles(三个小时左右) 执行make modules_install 执行make install 执行sudo mkinitramfs -o initrd.img-5.4.65 5.4.65,完成之后检查/lib/modules下有没有生成镜像文件 低版本的ubuntu可能需要执行前两步,ubuntu20.04换阿里的源可以直接执行最后一步 sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer 执行指令 grub-customizer,出现下面的界面后退出即可 到这里基本安装完毕,插入模块并选择连接到虚拟机,/dev目录下出现ttyUSB0,1,2,3等说明安装成功 4.QMI,GobiNet驱动的安装这里需要使用到两个Linux集成驱动文件,可以找销售商要,或者留言我私发 将文件夹复制到虚拟机上,并分别在目录下执行sudo make install,完成两个驱动的安装。 QMI驱动安装完成之后可以在/dev目录下可看到节点qcqmi0. 5.QConnectManager的安装 首先安装git, sudo apt-get install git执行命令git clone https://github.com/friendlyarm/quectel-cm.git将文件克隆到本地切换到目录下,执行make执行命令sudo cp quectel-CM /usr/bin/下载busybox udhcpc源码,链接https://busybox.net/我这里下载的版本是1.32.0复制到虚拟机中,找到文件[BUSYBOX]/examples/udhcp/simple.script,重命名为default.script新建目录/usr/share/udhcpc/,sudo mkdir /usr/share/udhcpc将default.script复制到新建的目录下,sudo cp default.script /usr/share/udhcpc/赋予权限,chmod 755 /usr/share/udhcpc/default.script安装ifconfig,sudo apt-get install net-tools 6.拨号上网切换到quectel-cm目录下,执行sudo quectel-CM & 如果出现执行sudo quectel-CM &没有反应的情况,如下图 实际上第一个驱动也就是ttyUSB1,2,3那个驱动也是可以直接通过文件安装的,不需要编译内核那么麻烦 使用5G卡测试的时候,拨号总是失败,使用AT+CSQ测试的时候返回值是99,99,AT+CGREG?命令测试返回值是0,0。应该是没有注册上网络,解决办法: 依次输入 at+qeng=“servingcell” AT+QNWPREFCFG= “nr5g_band”,0 at+qeng=“servingcell” 此时再次拨号,便能成功,该命令是否通用未知,对这方面不懂 AT测试指令在哪里输入? sudo busybox microcom /dev/ttyUSB2然后输入AT指令即可得到返回值 拨号成功并获取到IP地址后依旧无法上网,在Ubuntu 20.04中打开设置,点击网络,拨号成功时会出现USB以太网,将其打开即可上网 |
CopyRight 2018-2019 实验室设备网 版权所有 |