Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux – PPP Dial-Up

1. Hardware

4G Module: Hezhao Air780EMain Control: NUC980

Main Control Pin: Using USB1

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

4G Module Pins:

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

2. 4G Module

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

The VID and PID of the 780ER module are 19d1 and 0001 respectively.

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

3. Kernel Driver Configuration

Before adding the USB driver, check the original development board’s USB information.Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

3.1 Driver Modification

Add VID and PIDTo modify the driver for the Air780E under Linux, you need to add the corresponding Vendor ID and Product ID.Open the filedrivers/usb/serial/option.c in the Linux kernel and add the following information:

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

static const struct usb_device_id option_ids[] = {
	{ USB_DEVICE(0x1782, 0x4e00) },//Air720U
	{ USB_DEVICE(0x19d1, 0x0001) },//Air780E
	....
};

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

static int option_probe(struct usb_serial *serial, const struct usb_device_id *id) {
	....
	if (dev_desc->idVendor == cpu_to_le16(0x1782) && dev_desc->idProduct == cpu_to_le16(0x4e00) && iface_desc->bInterfaceNumber <= 1) {
		return -ENODEV;
	}
	if (dev_desc->idVendor == cpu_to_le16(0x19d1) && dev_desc->idProduct == cpu_to_le16(0x0001) && iface_desc->bInterfaceNumber <= 1) {
		return -ENODEV;
	}
	....
}

Save the changes.

Kernel Configuration

make menuconfig

Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpStep-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpCompile

make
make uImage

Download the generated image to the development board, power off, and restart the device.During the boot process, the prompts will appear:Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpAfter entering the system, use the command to check:Step-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpStep-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-Up

3.2 Compile PPP

Link: Arm Linux Compile PPP Software Package – 4G Module Network Test

https://mp.weixin.qq.com/s/rugnhlPNb8cU2UBy5RN0GA

4. Testing

TestingStep-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpStep-by-Step Guide: Using the Air780 4G Module for USB Internet Access on Arm Linux - PPP Dial-UpDial-up successful.

Note:After downloading the generated image to the development board, make sure to power off and restart the device.

Reference: Air780ER USB Internet Access Quick Start

Leave a Comment