Giter VIP home page Giter VIP logo

quectel_linux_usb_driver's Introduction

Introduction

Quectel USB Serial Driver for UCxx/EC2x/EGxx/EP06/EM06/BG96/AG35.

As I am working in Quectel as an FAE for Vietnam and South East Asia, we will try our best to support all world wide customers.

Prepare

Ubuntu 16.04 running kernel 4.15.0-43-generic.

$ uname -a
Linux ubuntu 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Download Ubuntu linux headers:

$ sudo apt-get install linux-headers-$(uname -r)

the Linux headers will be located in /usr/src/

Compile/Install

Determine the kernel version:

$ uname -r

Checkout the driver to the correct kernel version:

$ git clone [email protected]:ngohaibac/Quectel_USB_Serial_Driver.git
$ cd Quectel_USB_Serial_Driver
$ git checkout 4.15.0
$ make 
$ sudo make install

Credit

This guide and kernel driver is based on Quectel Driver User Guide V1.8 by Quectel Wirreless Solutions.

quectel_linux_usb_driver's People

Contributors

bacnh85 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quectel_linux_usb_driver's Issues

make install error!

modprobe -r option qcserial qmi_wwan
modprobe: FATAL: Module option is in use.
Makefile:13: recipe for target 'install' failed
make: *** [install] Error 1

Make fails

Hi,

When trying to make for
Linux ubuntu 4.4.0-2-upboard #12-Ubuntu SMP Thu Dec 1 15:01:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I get
/test/Quectel_USB_Serial_Driver/./drivers/usb/serial/usb_wwan.c: In function ‘usb_wwan_resume’: /test/Quectel_USB_Serial_Driver/./drivers/usb/serial/usb_wwan.c:695:8: error: implicit declaration of function ‘tty_port_initialized’ [-Werror=implicit-function-declaration] if (!tty_port_initialized(&port->port))

Any advice for a quick fix?

USB Device Discovery PlatformIO Issue

Hello,

I am currently on Ubuntu 18.04.4 and I am trying to upload to a BG96 module. I have installed the driver and I am attempting to upload to it, but I receive a "connect no response" error when I attempt to connect to the "DM-Port"

The device's list is displayed as such:

/dev/ttyUSB4 Qualcomm CDMA Technologies MSM USB VID:PID=2C7C:0296 SER=67a0116c LOCATION=1-1.2:1.3
/dev/ttyUSB3 Qualcomm CDMA Technologies MSM USB VID:PID=2C7C:0296 SER=67a0116c LOCATION=1-1.2:1.2
/dev/ttyUSB2 Qualcomm CDMA Technologies MSM USB VID:PID=2C7C:0296 SER=67a0116c LOCATION=1-1.2:1.1
/dev/ttyUSB1 Qualcomm CDMA Technologies MSM USB VID:PID=2C7C:0296 SER=67a0116c LOCATION=1-1.2:1.0
/dev/ttyUSB0 USB Serial Converter USB VID:PID=0403:6001 SER=FTB6AQ39 LOCATION=3-4

As you can see all of the devices (except the usb hub) are recognized as a generic "CDMA"/"MSM" device. I am able to connect over USB3 to the AT command interface, but I cannot get anything else to work.

I am also unable to use the Qflash tool, When I attempt to compile the tool it complains of "error: unable to find string literal operator ‘operator""fmt’ with ‘const char [6]’, ‘long unsigned int’ arguments" at around 100 different places in the code.

I am fine with using the graphical or CLI tool to move the build image from PlatformIO to the device directly, but I am currently unable to get anything to communicate properly.

Thanks

S

BG95

good day, can I also use the BG95 modem on a Raspian RPI3 + with your installer? Unfortunately, the USB devices are not displayed to me. Many Thanks

Doesn't seem to work on Raspbian 10?

I am seeing the following:

deployer@rpi1:~/Quectel_Linux_USB_Driver $ sudo apt-get install raspberrypi-kernel-headers
Reading package lists... Done
Building dependency tree
Reading state information... Done
raspberrypi-kernel-headers is already the newest version (1.20210303-1).
0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.
deployer@a9cfe6fe153c78477d45:~/Quectel_Linux_USB_Driver $ make
rm -rf *~ .tmp_versions modules.order Module.symvers
find . -type f -name *~ -o -name *.o -o -name *.ko -o -name *.cmd -o -name *.mod.c |  xargs rm -rf
make -C /lib/modules/5.4.51-v7l+/build M=/data/deployer/Quectel_Linux_USB_Driver modules
make[1]: Entering directory '/lib/modules/5.4.51-v7l+/build'
make[1]: *** No rule to make target 'modules'.  Stop.
make[1]: Leaving directory '/lib/modules/5.4.51-v7l+/build'
make: *** [Makefile:10: modules] Error 2
deployer@rpi1:~/Quectel_Linux_USB_Driver $

Any ideas?

Failed to make in Kernel 4.9.201-tegra

Hi,

I am trying to install the network adapter driver in my Jetson Nano with Kernel 4.9.201-terga. However, it failed to compile the qmi_wwan.c file.

Here is the error message:

rm -rf *~ .tmp_versions modules.order Module.symvers
find . -type f -name *~ -o -name *.o -o -name *.ko -o -name *.cmd -o -name *.mod.c |  xargs rm -rf
make -C /lib/modules/4.9.201-tegra/build M=/home/jetson/Quectel_USB_Serial_Driver modules
make[1]: Entering directory '/usr/src/linux-headers-4.9.201-tegra-ubuntu18.04_aarch64/kernel-4.9'
  CC [M]  /home/jetson/Quectel_USB_Serial_Driver/./drivers/usb/serial/usb_wwan.o
  CC [M]  /home/jetson/Quectel_USB_Serial_Driver/./drivers/usb/serial/option.o
  CC [M]  /home/jetson/Quectel_USB_Serial_Driver/./drivers/usb/serial/qcserial.o
/home/jetson/Quectel_USB_Serial_Driver/./drivers/usb/serial/qcserial.c:91:34: warning: "/*" within comment [-Wcomment]
 /* {USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

  CC [M]  /home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.o
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c: In function ‘qmimux_start_xmit’:
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:104:6: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
  hdr = skb_push(skb, sizeof(struct qmimux_hdr));
      ^
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c: In function ‘qmimux_setup’:
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:126:5: error: ‘struct net_device’ has no member named ‘needs_free_netdev’
  dev->needs_free_netdev = true;
     ^~
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c: In function ‘qmimux_rx_fixup’:
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:191:3: error: implicit declaration of function ‘skb_put_data’; did you mean ‘skb_add_data’? [-Werror=implicit-function-declaration]
   skb_put_data(skbn, skb->data + offset, len);
   ^~~~~~~~~~~~
   skb_add_data
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c: In function ‘qmimux_register_device’:
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:224:8: error: too many arguments to function ‘netdev_upper_dev_link’
  err = netdev_upper_dev_link(real_dev, new_dev, NULL);
        ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:15:0:
./include/linux/netdevice.h:3966:5: note: declared here
 int netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev);
     ^~~~~~~~~~~~~~~~~~~~~
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c: At top level:
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:548:21: error: ‘usbnet_get_stats64’ undeclared here (not in a function); did you mean ‘usbnet_get_settings’?
  .ndo_get_stats64 = usbnet_get_stats64,
                     ^~~~~~~~~~~~~~~~~~
                     usbnet_get_settings
/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.c:1277:39: warning: "/*" within comment [-Wcomment]
 /* {QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

cc1: some warnings being treated as errors
scripts/Makefile.build:341: recipe for target '/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.o' failed
make[2]: *** [/home/jetson/Quectel_USB_Serial_Driver/./drivers/net/usb/qmi_wwan.o] Error 1
Makefile:1646: recipe for target '_module_/home/jetson/Quectel_USB_Serial_Driver' failed
make[1]: *** [_module_/home/jetson/Quectel_USB_Serial_Driver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.9.201-tegra-ubuntu18.04_aarch64/kernel-4.9'
Makefile:10: recipe for target 'modules' failed
make: *** [modules] Error 2

May I know if there is any method to solve this problem?

Thanks in advanced!

porting to latest Ubuntu 16.04?

Hi, I found that this is very useful, I am using EC20 for my project. However, by checking out the 4.15.0 it doesn't work on the latest Ubuntu 16.04 installation. Could you pls provide a branch that works with the latest kernel version which is, in my case, is linux-image-4.15.0-96-generic? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.