香橙派OrangePi zero H2+ 驱动移远4G/5G模块

目录

1 安装系统和内核文件:

1.1 下载镜像

1.2 内核头安装 

1.2.1 下载内核

1.2.2 将内核头文件导入开发板中

1.2.3 安装内核头

2 安装依赖工具:

2.1 Installing Required Host Utilities

3 驱动步骤:       

3.1 下载模块驱动文件

3.2 找到接近内核的文件

3.3 将v5.4.51驱动文件导入开发板中

3.4 添加对应的PID VID

3.5 编译并安装驱动

4 验证驱动:

4.1 接入4G/5G模块

4.2 查看USB节点

4.3 查看模块版本号

4.4 查看模块网卡


1 安装系统和内核文件:

        Linux orangepizero 5.4.65-sunxi #2.2.2 SMP Tue Aug 15 17:45:28 CST 2023 armv7l armv7l armv7l GNU/Linux

1.1 下载镜像

        https://download.csdn.net/download/weixin_37613240/88258590

1.2 内核头安装 
1.2.1 下载内核

        https://download.csdn.net/download/weixin_37613240/88258469

1.2.2 将内核头文件导入开发板中
orangepi@orangepizero:~$ ls
linux-headers-current-sunxi_2.2.2_armhf.deb
1.2.3 安装内核头
sudo dpkg -i linux-headers-current-sunxi_2.2.2_armhf.deb

2 安装依赖工具:

2.1 Installing Required Host Utilities
sudo install make
sudo install make-guile
sudo install gcc
sudo install udhcpc

3 驱动步骤:       

3.1 下载模块驱动文件

下载:模块Linux驱动文件https://download.csdn.net/download/weixin_37613240/87636073

3.2 找到接近内核的文件

 本文章镜像为5.4.65内核,那么就选择 v5.4.51文件

3.3 将v5.4.51驱动文件导入开发板中
orangepi@orangepizero:~$ ls
v5.4.51
3.4 添加对应的PID VID
orangepi@orangepizero:sudo vi ~/v5.4.51/drivers/usb/serial/option.c

在option.c添加入这些PID和VID
#if 1 //Added by Quectel
        //****省略****//
        { USB_DEVICE(0x2C7C, 0x6002) },  /* Quectel EC200s ECx00M ECx00N*/
        { USB_DEVICE(0x2C7C, 0x6005) },  /*EC200A */
        { USB_DEVICE(0x2C7C, 0x6007) },  /*EG800Q */
        { USB_DEVICE(0x2C7C, 0x0903) },  /* ECx00E */
        { USB_DEVICE(0x2C7C, 0x0901) },  /* ECx00U */
        { USB_DEVICE(0x2C7C, 0x0902) },  /* ECx00D */
        { USB_DEVICE(0x2C7C, 0x0904) },  /* ECx00G */
        { USB_DEVICE(0x2C7C, 0x0900) },  /* Rxx00U */
        //****省略****//
#endif

3.5 编译并安装驱动
orangepi@orangepizero:~$ cd v5.4.51
orangepi@orangepizero:~/v5.4.51$ sudo make install

//****过程****//
make -C /lib/modules/5.4.65-sunxi/build M=/home/orangepi/v5.4.51 clean
make[1]: Entering directory '/usr/src/linux-headers-5.4.65-sunxi'
  CLEAN   /home/orangepi/v5.4.51/Module.symvers
make[1]: Leaving directory '/usr/src/linux-headers-5.4.65-sunxi'
make -C /lib/modules/5.4.65-sunxi/build M=/home/orangepi/v5.4.51 modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.65-sunxi'
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/option.o
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.o
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.o
  Building modules, stage 2.
  MODPOST 3 modules
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/option.mod.o
  LD [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/option.ko
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.mod.o
  LD [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.ko
  CC [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.mod.o
  LD [M]  /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.4.65-sunxi'
cp /home/orangepi/v5.4.51/drivers/usb/serial/*.ko /lib/modules/5.4.65-sunxi/kernel/drivers/usb/serial/
depmod

4 验证驱动:

4.1 接入4G/5G模块
图片上USB 4G通信板是博主制作,可以找博主订购

4.2 查看USB节点
orangepi@orangepizero:~$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 2c7c:6005
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
orangepi@orangepizero:~$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
orangepi@orangepizero:~$
4.3 查看模块版本号
orangepi@orangepizero:~$ cat /dev/ttyUSB2&
[1] 1680
orangepi@orangepizero:~$ echo -en "ATI\r\n" > /dev/ttyUSB2
ATI
Quectel
EC200A
Revision: EC200ACNHAR01A09M16

OK
orangepi@orangepizero:~$
4.4 查看模块网卡
orangepi@orangepizero:~$ ifconfig usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::e40f:ef33:14fc:3c85  prefixlen 64  scopeid 0x20<link>
        ether d2:59:3b:a3:e5:8b  txqueuelen 1000  (Ethernet)
        RX packets 7  bytes 460 (460.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 132  bytes 28619 (28.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

要单独编译 Linux 驱动模块(ko 文件),你需要有 Linux 内核的源代码和相应的编译工具链。以下是一个基本的步骤: 1. 首先,确保你已经安装了所需的编译工具链,包括 GCC、Make 和相应的头文件。你可以使用以下命令来安装它们: ```shell sudo apt-get install build-essential ``` 2. 获取 Linux 内核的源代码。你可以从官方网站下载特定版本的内核源代码,或者使用你当前系统正在运行的内核版本的源代码。 3. 解压源代码压缩包并进入源代码目录。 4. 在源代码目录中,使用 `make` 命令来配置内核编译选项。你可以使用以下命令来复制当前正在运行的内核配置: ```shell cp /boot/config-$(uname -r) .config ``` 或者,如果你下载了特定版本的内核源代码,可以使用以下命令来进行配置: ```shell make menuconfig ``` 在配置界面中,选择你需要编译的驱动模块,并保存配置文件。 5. 编译驱动模块。使用以下命令来编译驱动模块: ```shell make modules ``` 这将会编译所有的驱动模块。如果你只想编译特定的驱动模块,可以使用以下命令: ```shell make modules SUBDIRS=path/to/driver ``` 其中 `path/to/driver` 是驱动模块的路径。 6. 编译完成后,在源代码目录中会生成编译好的驱动模块(ko 文件)。你可以在 `drivers` 目录下找到这些模块。 请注意,编译驱动模块可能需要一些额外的步骤,具体取决于驱动模块的要求和依赖项。在实际使用中,你可能需要参考相关文档或向开发者寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值