ubuntu16.04调试5G模组ZM9000

1、Linux内核国内镜像下载地址

    http://mirror.bjtu.edu.cn/kernel/linux/kernel/
    下载内核版本:4.19.124
    解压内核压缩包linux-4.19.124.tar.xz
    

cp linux-4.19.124.tar.xz /usr/src/
cd /usr/src/
xz -d linux-4.19.124.tar.xz
tar -xvf linux-4.19.124.tar
cd linux-4.19.124


以下步骤参考教程:https://blog.csdn.net/qq_36829091/article/details/79783533
2、下载软件依赖包
    参考教程:第二章节部分

sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11


3、编译内核(一)
    参考教程:第三章节部分
    依次使用命令:
    
    执行make menuconfig,遇到报错:解决办法参考:https://www.cnblogs.com/tod-reg20130101/articles/9280792.html
        error:/bin/sh: 1: bison: not found
        error:/bin/sh: 1: flex: not found
    实现完全干净的第一次编译。
    其中mrproper为清除编译过程中产生的所有中间文件。
    clean为清除上一次产生的编译中间文件。
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓这句很重要↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    在menuconfig中出现选择的图形化界面后,直接按右方向键选择到exit退出,退出提示中选择保存,实现内核的默认配置。
    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑这句很重要↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
    使用默认配置即可。

    CONFIG_USB_SERIAL = y 
    CONFIG_USB_SERIAL_GENERIC = y 
    CONFIG_USB_SERIAL_OPTION = y 
    CONFIG_USB_USBNET = y 
    CONFIG_USB_NET_RNIDS_HOST = y 
    CONFIG_USB_NET_CDCETHER = y


4、修改内核源码:中兴5G模组ZM9000适配
    修改/driver/usb/serial/option.c 文件,增加 ZM9000 VID/PID 信息

Static const struct usb_device_id option_ids[]={
    { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1702, 0xff, 0xff, 0xff),
      .driver_info = RSVD(4) },

    RSVD(4) 大概意思是:第4个功能处于黑名单,过滤黑名单,某些功能设备不是串口,是网口
    参考方法:http://www.openwrt.pro/post-90.html
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓这句很重要↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1702, 0xff, 0xff, 0xff),
      .driver_info = RSVD(4) },

    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑这句很重要↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
5、编译内核(二)
    参考教程:第三章节部分
    lscpu:我的机器是4核心,8线程
    输入

make –j8

命令,使用八个线程进行编译,接下来是漫长的编译过程,耐心等待;
6、安装内核
    编译完成后使用:
    

sudo make modules_install
sudo make install


    等待安装完成。
7、加载内核
    重新启动系统,选择高级选项,进入内核选择加载界面,选择自己编译的内核的正常模式。
    选择Ubuntu,Linux-4.19.124,我的机器重启过之后自动加载Linux-4.19.124内核。
    注意:
    进入高级选项方法:参考:https://blog.csdn.net/qq_29631521/article/details/89036485
    如电脑只装了一个linux,有时候开机不会有选择启动项,那么你在开机的时候一直按ESC键就可以了(不要按得太快了,不然当出现选择界面时,由于按下ESC会直接启动),然后选择内核。
    文章提到:重启后又加载原来的内核,但是我的机器没有遇到这个问题。如果有上述的话,有提供另一种方法永久解决问题。
===============================================================================
分割线
===============================================================================
8、测速
    8.0 系统启动后,在/dev 目录下有 3 或者 4 个 ttyUSB*设备,依次为 diag、AT 和 MODEM ,GPS。
        

root@8010:~# ls /dev |grep ttyUSB
ttyUSB0
ttyUSB1
ttyUSB2
root@8010:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 19d2:1702 ZTE WCDMA Technologies MSM 	#5G模组
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


    8.1 系统启动后,将自动拨号,网卡IP为192.168.200.xxx,我的模组一直是这个网段,
        注意:其他网卡不要设置为200网段,以避免冲突。
        root@8010:~# ifconfig
        enp0s20f0u6 Link encap:以太网  硬件地址 ee:8c:25:8e:6a:68  
                  inet 地址:192.168.200.118  广播:192.168.200.255  掩码:255.255.255.0
                  inet6 地址: fe80::5877:935b:962e:c9ca/64 Scope:Link
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
                  接收数据包:21 错误:0 丢弃:0 过载:0 帧数:0
                  发送数据包:31 错误:0 丢弃:0 过载:0 载波:0
                  碰撞:0 发送队列长度:1000 
                  接收字节:1838 (1.8 KB)  发送字节:4662 (4.6 KB)
    8.2 设置DNS
        不设置DNS,是无法ping通百度的,
        vim /etc/resolv.conf
        增加一下内容:
            nameserver 114.114.114.114    #其他可用的DNS服务器也可以
        保存
    8.3 ping www.baidu.com
        如果仍然fail,那么需要使用串口工具,对5G模组发送激活网络at命令minicom (ttyUSB1)
            at+zipcall=1
        此时,应该可以ping成功
        root@8010:~# ping www.baidu.com
        PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
        64 bytes from 61.135.169.121: icmp_seq=1 ttl=56 time=29.7 ms
        64 bytes from 61.135.169.121: icmp_seq=2 ttl=56 time=18.7 ms
        64 bytes from 61.135.169.121: icmp_seq=3 ttl=56 time=17.5 ms
    8.4 测速
        方法一:网页测速:测速网
        方法二:apt install speedtest-cli

apt install speedtest-cli


            执行speedtest即可完成测速
        由于办公室没有5G网络覆盖,测速实际为4G网速
        

root@8010:~# speedtest
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from China Unicom Beijing (124.64.16.139)...
Selecting best server based on latency...
Hosted by Beijing Broadband Network (Beijing) [1.67 km]: 43.451 ms
Testing download speed........................................
Download: 69.89 Mbit/s
Testing upload speed..................................................
Upload: 33.09 Mbit/s


        实际5G网速待补充。。。
        
    
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章