inux下原生ndis驅動及qmi lib探索

2021-07-01 21:28:56 字數 4727 閱讀 3480

據說只要核心版本大於等於3.4

即可使用原生高通

ndis

驅動,這讓我興奮了很久,終於不用自己寫驅動,改

bugubuntu14.04

版本,並將它安裝到了自己的

pc上。

qiao@qiao-lenovo-product:~$ cd /lib/modules/3.13.0-24-generic/kernel/drivers/net/usb/

qiao@qiao-lenovo-product:/lib/modules/3.13.0-24-generic/kernel/drivers/net/usb$ ls

asix.ko          cdc_ether.ko   cdc_subset.ko   hso.ko             kalmia.ko    net1080.ko   r8152.ko       sierra_net.ko  usbnet.ko

ax88179_178a.ko  cdc_mbim.ko    cx82310_eth.ko  huawei_cdc_ncm.ko  kaweth.ko    pegasus.ko   r815x.ko       smsc75xx.ko    zaurus.ko

catc.ko          cdc_ncm.ko     dm9601.ko       int51x1.ko         lg-vl600.ko  plusb.ko     rndis_host.ko  smsc95xx.ko

cdc_eem.ko       cdc-phonet.ko  gl620a.ko       ipheth.ko          mcs7830.ko   qmi_wwan.ko  rtl8150.ko     sr9700.ko

qiao@qiao-lenovo-product:~$sudo modprobe qmi_wwan

qiao@qiao-lenovo-product:~$

sudo echo 1c9e 9b01 > /sys/bus/usb/drivers/qmi_wwan/new_id 

qiao@qiao-lenovo-product:~$ ls /dev/cdc*

/dev/cdc-wdm0

root@qiao-lenovo-product:~# apt-cache search qmi

libqmi-glib-doc - api documentation for libqmi-glib

libqmi-glib0 - support library to use the qualcomm msm inte***ce (qmi) protocol

libqmi-glib0-dbg - support library to use the qualcomm msm inte***ce (qmi) protocol

libqmi-utils - utilities to use the qmi protocol from the command line

qmidiarp - midi arpeggiator for alsa

qmidiarp-dbg - debugging symbols for qmidiarp

qmidinet - midi network gateway via udp/ip multicast

qmidinet-dbg - debugging symbols for qmidinet

qmidiroute - a midi event router and filter

libqmi-glib1 - support library to use the qualcomm msm inte***ce (qmi) protocol

libqmi-glib1-dbg - support library to use the qualcomm msm inte***ce (qmi) protocol

libqmi-proxy - proxy to communicate with qmi ports

root@qiao-lenovo-product:~# apt-get install libqmi-glib-dev

root@qiao-lenovo-product:~# apt-get install libqmi-utils

安裝完成,先讀乙個imsi號看看:

qiao@qiao-lenovo-product:~$ 

sudo qmicli -d /dev/cdc-wdm0 --dms-uim-get-imsi

[/dev/cdc-wdm0] uim imsi retrieved:

imsi: '460110580947046'

qiao@qiao-lenovo-product:~$

sudo qmicli -d /dev/cdc-wdm0 --dms-get-capabilities

[/dev/cdc-wdm0] device capabilities retrieved:

max tx channel rate: '50000000'

max rx channel rate: '100000000'

data service: 'non-simultaneous-cs-ps'

sim: 'supported'

networks: 'gsm, umts, lte'

還可以debug qmi 訊息:

qiao@qiao-lenovo-product:~$

sudo qmicli -d /dev/cdc-wdm0 -v --dms-uim-get-imsi

[26 11月 

2014, 20:28:42] [debug] qmi device at '/dev/cdc-wdm0' ready

[26 11月 

2014, 20:28:42] [debug] [/dev/cdc-wdm0] assuming service 'dms' is supported...

[26 11月 

2014, 20:28:42] [debug] [/dev/cdc-wdm0] allocating new client id...

[26 11月 

2014, 20:28:42] [debug] [/dev/cdc-wdm0] sent message...

<<<<<< raw:

<<<<<<   length = 16

<<<<<<   data   = 01:0f:00:00:00:00:00:01:22:00:04:00:01:01:00:02

關於wds--撥號控制

root@qiao-lenovo-product:~# 

qmicli -d /dev/cdc-wdm0 --wds-start-network=cnnet

[/dev/cdc-wdm0] network started

packet data handle: '1137144008'

在ubuntu

下撥號成功後,再看一下

openwrt

下的qmi_wwan

和uqmi

表現---

基線版本為

14.04;

config_package_kmod-qmi-wwan=m --核心

config_package_kmod-usb-wdm=m --核心

config_package_uqmi=m  ---system

配置network config:

root@openwrt:/# vi /etc/config/network

config inte***ce 'wan'

option  device '/dev/cdc-wdm0'

option proto 'qmi'

option apn  'cnnet'

option username 'card'

option password 'card'

option ifname 'wwan0'

重啟然後:ifup wan

撥號成功:

WinCE下,快速編譯驅動及BSP

wince下,快速編譯驅動及bsp 在wince下面,建立工程,然後編譯是需要花很長時間的。當我們第一編譯完工程以後,如果需要改我們的驅動或者bsp,我們是不需要重新編譯整個工程的 1.如果更改了driver,以wince6.0為例,我們可以在選單裡面選擇 build open release di...

WinCE下,快速編譯驅動及BSP

在wince下面,建立工程,然後編譯是需要花很長時間的。當我們第一編譯完工程以後,如果需要改我們的驅動或者bsp,我們是不需要重新編譯整個工程的 1.如果更改了driver,以wince6.0為例,我們可以在選單裡面選擇 build open release directory in build w...

WinCE下,快速編譯驅動及BSP

在wince下面,建立工程,然後編譯是需要花很長時間的。當我們第一編譯完工程以後,如果需要改我們的驅動或者bsp,我們是不需要重新編譯整個工程的 1.如果更改了driver,以wince6.0為例,我們可以在選單裡面選擇 build open release directory in build w...