LTE EG25-G Mini PCIe driver

Hello All,

I have installed this module LTE EG25-G Mini PCIe on jetson nano, but i do not find aany information regarding the necessary drivers are how to build the driver.
Can some one can help me
registered new interface driver option
[ 262.749548] usbserial: USB Serial support registered for GSM modem (1-port)
[ 262.749706] option 1-2.2:1.0: GSM modem (1-port) converter detected
[ 262.750002] usb 1-2.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 262.750101] option 1-2.2:1.1: GSM modem (1-port) converter detected
[ 262.750345] usb 1-2.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 262.750436] option 1-2.2:1.2: GSM modem (1-port) converter detected
[ 262.752028] usb 1-2.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 262.752270] option 1-2.2:1.3: GSM modem (1-port) converter detected
[ 262.752634] usb 1-2.2: GSM modem (1-port) converter now attached to ttyUSB3

kernel version 4.9.253-tegra

Regards
Rg

You can refer to the Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0.pdf.
q_drivers/Quectel_QConnectManager_Linux_V1.6.7 at master · QuectelWB/q_drivers (github.com)

Hi all - when building modules, using the qmi_wwan_q.c from:

I’m getting some errors preventing the completion of the build:

drivers/net/usb/qmi_wwan_q.c: In function '_rmnet_vnd_get_stats64':
drivers/net/usb/qmi_wwan_q.c:863:33: error: implicit declaration of function 'u64_stats_fetch_begin_irq'; did you mean 'u64_stats_fetch_begin'? [-Werror=implicit-function-declaration]
  863 |                         start = u64_stats_fetch_begin_irq(&stats64->syncp);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 u64_stats_fetch_begin
drivers/net/usb/qmi_wwan_q.c:868:26: error: implicit declaration of function 'u64_stats_fetch_retry_irq'; did you mean 'u64_stats_fetch_retry'? [-Werror=implicit-function-declaration]
  868 |                 } while (u64_stats_fetch_retry_irq(&stats64->syncp, start));
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                          u64_stats_fetch_retry

I’m guessing that these are missing some forward declarations of u64_stats_fetch_reqtry_irq at the top of the file.

So, it looks like the functions definitions are blocked by a #if 0 #endif block, which seems odd.
Flipping the #if 0 to #if 1 resolves the build error.

The Linux kernel version is higher than 6.5 and so that you see such errors.

You can add it in the qmi_wwan_q.c.

/* Obsolete interfaces */
static inline unsigned int u64_stats_fetch_begin_irq(const struct u64_stats_sync *syncp)
{
	return u64_stats_fetch_begin(syncp);
}

static inline bool u64_stats_fetch_retry_irq(const struct u64_stats_sync *syncp,
					     unsigned int start)
{
	return u64_stats_fetch_retry(syncp, start);
}