커널아이 m2m 모듈 리눅스(우분투) 상 설치 및 세팅 방법 - netipark/lte_m2m GitHub Wiki

1. 지그보드 USB 포트에 연결 후 상태 확인

[참고] VMWare를 통해 연동할 경우, USB 케이블 연결 후 아래와 같이 장비가 인식되는 지 확인 필요

image

가) USB 인식 상태 확인(lsusb 명령 사용)
  • 아래와 같이 Vendor ID: 05c6, Device ID: 9025 인 Device가 확인되면 정상
root@allinone:~# lsusb   
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 05c6:9025 Qualcomm, Inc. Qualcomm HSUSB Device
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

나) cdc-wdm0 디바이스 인식 확인
epc@ubuntu:/dev$ ls /dev/cdc-wdm0 
/dev/cdc-wdm0

2. QMI 라이브러리 설치

sudo apt-get update
sudo apt-get install libqmi-utils

3. 네트워크 시작

  • [참고] 커널아이 M2M 모듈은 전원 인가 시 자동으로 LTE 망 접속을 수행하며, LTE 망 접속이 완료된 상태에서 다음 명령을 수행해야 한다.

qmi-network /dev/cdc-wdm0 start

root@ubuntu:/dev# qmi-network /dev/cdc-wdm0 start
Starting network with 'qmicli -d /dev/cdc-wdm0 --wds-start-network=  --client-no-release-cid'...
Saving state... (CID: 26)
Saving state... (PDH: 11676704)
Network started successfully

  • DHCP로 IP를 할당받는 방법은 다음과 같다.
가) 방법 1: dhclient 명령 사용

dhclient -v wwan0

나) 방법 2: /etc/network/interfaces 설정 파일에 다음 설정을 추가한다.
auto wwan0
iface wwan0 inet dhcp
  up route add -net 192.168.100.0 netmask 255.255.255.0 dev wwan0

  • wwan0 인터페이스 명칭은 다를 수 있으며, 이를 확인하기 위한 방법은 다음과 같음(인터페이스 명칭이 wws35u1i4 인 경우)
root@ubuntu:/dev# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:93:03:0c brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.64/25 brd 10.1.1.127 scope global dynamic ens33
       valid_lft 1376sec preferred_lft 1376sec
    inet6 fe80::9a34:659b:a09f:15a6/64 scope link 
       valid_lft forever preferred_lft forever
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:93:03:16 brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.192/25 brd 10.1.1.255 scope global dynamic ens38
       valid_lft 1482sec preferred_lft 1482sec
    inet6 fe80::3a3e:2b17:6922:1eec/64 scope link 
       valid_lft forever preferred_lft forever
4: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:93:03:20 brd ff:ff:ff:ff:ff:ff
    inet 10.1.2.64/25 brd 10.1.2.127 scope global dynamic ens39
       valid_lft 1721sec preferred_lft 1721sec
    inet6 fe80::2d19:3fe3:1d76:49e3/64 scope link 
       valid_lft forever preferred_lft forever
5: ens40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:93:03:2a brd ff:ff:ff:ff:ff:ff
    inet 192.168.65.129/24 brd 192.168.65.255 scope global dynamic ens40
       valid_lft 1496sec preferred_lft 1496sec
    inet6 fe80::d50b:e4d1:c600:f013/64 scope link 
       valid_lft forever preferred_lft forever
12: wws35u1i4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ee:79:20:e7:e0:4f brd ff:ff:ff:ff:ff:ff
root@ubuntu:/dev# 

4. 트러블 슈팅

가) CID allocation failed 문제
epc@ubuntu:/dev$ sudo qmi-network /dev/cdc-wdm0 start
Starting network with 'qmicli -d /dev/cdc-wdm0 --wds-start-network=  --client-no-release-cid'...
error: couldn't create client for the 'wds' service: CID allocation failed in the CTL client: Transaction timed out
error: network start failed, client not allocated
  • 식별된 원인 1: LTE 모듈 불량
    • LTE 모듈만 교체 후 재 시험
  • 식별된 원인 2: `/dev/cdc-wdm0' 디바이스를 타 프로세스에서 잡고 있는 문제
    • ModemManger가 해당 디바이스를 잡고 있는 경우 아래와 같이 확인됨

mmcli -L

epc@ubuntu:/dev$ mmcli -L

Found 1 modems:
	/org/freedesktop/ModemManager1/Modem/2 [QUALCOMM INCORPORATED] 0

vi /var/log/syslog

Apr 28 19:07:45 ubuntu ModemManager[813]: <info>  Creating modem with plugin 'Generic' and '2' ports
Apr 28 19:07:45 ubuntu ModemManager[813]: <info>  Modem for device at '/sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1' successfully created
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Opening device with flags 'version-info, net-802-3, net-no-qos-header, proxy'...
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Checking version info (10 retries)...
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] QMI Device supports 25 services:
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    ctl (1.5)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    wds (1.36)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    dms (1.14)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    nas (1.25)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    qos (1.3)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    wms (1.10)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    auth (1.3)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    at (1.2)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    voice (2.1)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    cat2 (2.23)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    uim (1.36)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    pbm (1.4)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    test (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    loc (2.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    sar (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    ts (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    tmd (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    wda (1.11)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    csvt (1.1)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    coex (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    pdc (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    rfrpe (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    dsd (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    ssctl (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0]    unknown [0x30] (1.0)
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Setting network port data format...
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Network port data format operation finished
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Allocating new client ID...
Apr 28 19:07:45 ubuntu ModemManager[813]: [/dev/cdc-wdm0] Registered 'dms' (version 1.14) client with ID '5'
  • 해결책: qmicli를 통해 제어하기 위해서는 ModemManger를 shutdown 시킴
epc@ubuntu:/dev$ ps -ef | grep ModemManager
root        813      1  0 18:43 ?        00:00:00 /usr/sbin/ModemManager
epc        5088   3442  0 19:16 pts/4    00:00:00 grep --color=auto ModemManager
epc@ubuntu:/dev$ 
epc@ubuntu:/dev$ systemctl stop ModemManager
epc@ubuntu:/dev$ 
epc@ubuntu:/dev$ ps -ef |grep ModemManager
epc        5122   3442  0 19:17 pts/4    00:00:00 grep --color=auto ModemManager
epc@ubuntu:/dev$ 

⚠️ **GitHub.com Fallback** ⚠️