Project

General

Profile

EC20

The Quectel EC20 is a LTE Modem Module manufactured by the Chinese Company Quectel. It is available as solder-type version but also as miniPCIe card. There are different regional versions with different bands implemented.

According to a lot of sources one would think, that it is based around the Qualcomm MDM9615, but the picture of naked EC20 clearly shows, that there is Qualcomm MDM9215 chip soldered on the board. Which source is true? The modem runs an OE based Linux distribution on its internal Cortex-A5 core. This Linux on Cortex-A5 is what implements the USB device that you see from the host PC!

How does it work?

If on Host-PC I have ttyUSB3.. and I type AT. How does it end up at the modem? On the Linux side there is atfwd_daemon that registers with a local ril daemon but how is USB connected. Who is bouncing things back to it or is Linux forwarding everything..

  • the USB gadget (client) is entirely managed by the Linux on the Cortex-A5.
  • the individual gadgets are implemented by drivers like f_diag.c or f_serial.c
  • f_serial.c seems to be able to connect each virtual serial port to a number of different transports:
    • xport_tty (/dev/ttyGS* device to userspace using u_serial.c)
    • xport_sdio (forwarding via SDIO using u_sdio.c)
    • xport_smd (fowarding via shared memory to different CPU core using u_smd.c)
    • xport_hsic (forwarding to different processor via GSIC using u_{data,ctrl}_hsic.c)
    • xport_hsuart (forwarding via high-speed uart for DUN/RMNET via u_data_hsuart.c)

LED

GPIO90 seems to be the WWAN LED, quectel_daemon controls it via echo 0|1 > /sys/class/gpio/gpio90/value

Power management

Sleep/Power off seem to be "intercepted" by atfwd_daemon that can execute "echo mem > /sys/power/state". Let's explore other options for wakeup. Is there a RTC?

Firmware updates with FOTA

APN for OTA is configured separately on UC20, assumingly the same applies for EC20. A update.zip will be stored on the "cache" partition and it looks like the recovery system will be booted. I guess that then the reocvery system will unpack the update.zip and flash the partitions.

Debugging with ADB

The modem has adbd running, but doesn't export its USB endpoints by default. The default USB descriptors look like this
Interface Function
0 DIAG
1 NMEA
2 AT
3 AT
4 RMNET

Using AT+QLINUXCMD="/usr/bin/usb_uartdiag" you can change the USB Interface/Endpoint configuration to

|_.Interface|_.Function| |0|ADB| |1|DIAG| |2|NMEA| |3|AT| |4|AT| |5|RMNET

Please note that you will need to modify your kernel driver (see Improved_Linux_USB_Driver) accordingly after making this change.

Switching on adb (or fastboot or debug to NMEA console)

Other options for accessing a shell:

AT+QFASTBOOT
AT+QLINUXCMD="echo foo > /dev/ttyGS0" 
AT+QLINUXCMD="ps axuw > /dev/ttyGS0" 
AT+QLINUXCMD="cat /usr/bin/usb_uartdiag > /dev/ttyGS0" 
adb shell
# /
root@gaben:~# echo -e 'AT+QLINUXCMD="/sbin/getty -L ttyGS0 115200 console"\r\n' > /dev/ttyUSB2
root@gaben:~# microcom /dev/ttyUSB1

OpenEmbedded Linux 9615-cdp ttyGS0

msm 20160923 9615-cdp ttyGS0

9615-cdp login: root
Password: oelinux123
root@9615-cdp:~# 

fastboot / flashing

The appsboot.mbn we know of (sha1sum 8d47d7e8ca8a15ff089994d87e36b531f36f907a) has no signature and no certificate chain. This information is established by looking at the image header, whose formta is "documented" in https://android.googlesource.com/kernel/lk/+/caf/master/target/mdm9615/tools/mkheader.c

full lsof output

LsOfOutput

ps

/ # ps
PID   USER     TIME   COMMAND
   1 root       0:01 init [5]
   2 root       0:00 [kthreadd]
   3 root       0:00 [ksoftirqd/0]
   4 root       0:00 [kworker/0:0]
   6 root       0:00 [khelper]
   7 root       0:00 [netns]
   8 root       0:00 [sync_supers]
   9 root       0:00 [bdi-default]
  10 root       0:00 [kblockd]
  11 root       0:00 [khubd]
  12 root       0:00 [kworker/0:1]
  13 root       0:00 [modem_notifier]
  14 root       0:00 [smd_channel_clo]
  15 root       0:00 [smsm_cb_wq]
  16 root       0:00 [kworker/u:1]
  17 root       0:00 [qmi]
  18 root       0:00 [nmea]
  19 root       0:00 [RPCRPY_CNTL]
  20 root       0:00 [IPCRTR]
  21 root       0:00 [msm_ipc_router]
  22 root       0:00 [ipc_rtr_smd_rpc]
  23 root       0:00 [kworker/u:2]
  24 root       0:00 [apr_driver]
  25 root       0:00 [kswapd0]
  26 root       0:00 [ipc_rtr_q6_ipcr]
  27 root       0:00 [fsnotify_mark]
  28 root       0:00 [crypto]
  40 root       0:00 [quec_dtr]
  41 root       0:00 [mtdblock0]
  42 root       0:00 [mtdblock1]
  43 root       0:00 [mtdblock2]
  44 root       0:00 [mtdblock3]
  45 root       0:00 [mtdblock4]
  46 root       0:00 [mtdblock5]
  47 root       0:00 [mtdblock6]
  48 root       0:00 [mtdblock7]
  49 root       0:00 [mtdblock8]
  50 root       0:00 [mtdblock9]
  51 root       0:00 [mtdblock10]
  52 root       0:00 [mtdblock11]
  53 root       0:00 [mtdblock12]
  54 root       0:00 [mtdblock13]
  55 root       0:00 [mtdblock14]
  56 root       0:00 [mtdblock15]
  57 root       0:00 [spi_qsd.0]
  58 root       0:00 [mhsic_wq]
  59 root       0:00 [k_rmnet_mux_wor]
  60 root       0:00 [f_mtp]
  61 root       0:00 [file-storage]
  63 root       0:00 [uether]
  64 root       0:00 [diag_wq]
  65 root       0:00 [diag_cntl_wq]
  66 root       0:00 [iewq]
  67 root       0:00 [irq/368-msm-sdc]
  68 root       0:00 [usb_bam_wq]
  69 root       0:00 [bam_dmux_rx]
  70 root       0:00 [bam_dmux_tx]
  71 root       0:00 [deferwq]
  72 root       0:00 [yaffs-bg-1]
  92 root       0:00 [k_gserial]
  93 root       0:00 [k_gsmd]
  94 root       0:00 [k_gbam]
  95 root       0:00 [gsmd_ctrl]
 129 root       0:00 [yaffs-bg-1]
 140 root       0:00 [yaffs-bg-1]
 183 root       0:00 /sbin/adbd
 205 root       0:00 /usr/bin/time_daemon
 208 root       0:00 /usr/bin/wapfotadaemon
 211 root       0:00 /usr/bin/wapfotadaemon
 212 root       0:00 sh -c qmi_simple_ril_test modem_port=rmnet0 input=/usr/bi
 217 root       0:00 qmi_simple_ril_test modem_port=rmnet0 input=/usr/bin/comm
 224 nobody     0:00 /usr/bin/dnsmasq -7 /etc/dnsmasq.d
 227 root       0:00 qti
 231 root       0:00 /sbin/syslogd -n -C64 -m 20
 240 root       0:00 /usr/bin/diagrebootapp
 246 root       0:00 /usr/bin/atfwd_daemon
 256 root       0:00 /usr/bin/qmuxd
 272 root       0:00 /bin/sh /usr/sbin/restart_mbimd
 275 root       0:00 /usr/bin/netmgrd -u /etc/udhcpc.d/udhcpc.script
 280 root       0:00 /usr/bin/qmi_shutdown_modem
 284 root       0:03 /usr/bin/quectel_daemon
 304 root       0:00 /usr/bin/mbimd
 346 root       0:00 /sbin/reboot-daemon
 347 root       0:00 /sbin/getty -L ttyHSL0 115200 console
 364 root       0:00 /bin/sh /usr/bin/nmea_demon.sh ttyGS0
 367 root       0:00 quec_bridge /dev/nmea /dev/ttyGS0 s
 439 root       0:01 alsaucm_test
 453 root       0:00 [kworker/u:0]
 455 root       0:00 [kworker/u:3]
 457 root       0:00 [kworker/0:2]
 463 root       0:00 [flush-31:15]
 473 root       0:00 /bin/sh -
 477 root       0:00 [flush-31:14]
 478 root       0:00 ps
/ # 

dmesg

/ # dmesg
[    0.000000]   Normal zone: 9266 pages, LIFO batch:1
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 9266
[    0.000000] Kernel command line: noinitrd root=/dev/mtdblock14 rw rootfstype=yaffs2 console=ttyHSL0,115200,n8 androidboot.hardware=qcom androidboot.serialno=MDM9615 androidboot.baseband=msm
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 15MB 22MB = 37MB total
[    0.000000] Memory: 29472k/29472k available, 9440k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xff000000 - 0xffe00000   (  14 MB)
[    0.000000]     vmalloc : 0xc6800000 - 0xfa000000   ( 824 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc6700000   ( 103 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0032000   ( 168 kB)
[    0.000000]       .text : 0xc0032000 - 0xc05ad1d8   (5613 kB)
[    0.000000]       .data : 0xc05ae000 - 0xc061ab38   ( 435 kB)
[    0.000000]        .bss : 0xc061ab78 - 0xc07cd050   (1738 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:681
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30520ns, wraps every 131084001ms
[    0.000000] Console: colour dummy device 80x30
[    0.150190] Calibrating delay using timer specific routine.. 9.62 BogoMIPS (lpj=48102)
[    0.150221] pid_max: default: 32768 minimum: 301
[    0.150679] Mount-cache hash table entries: 512
[    0.151320] Initializing cgroup subsys debug
[    0.151350] Initializing cgroup subsys cpuacct
[    0.151381] Initializing cgroup subsys freezer
[    0.151442] CPU: Testing write buffer coherency: ok
[    0.157271] print_constraints: dummy: 
[    0.157668] NET: Registered protocol family 16
[    0.157820] AXI: msm_bus_fabric_init_driver(): msm_bus_fabric_init_driver
[    0.158980] msm_rpm_init: RPM firmware 3.0.16842958
[    0.173203] pm8018_probe: PMIC revision 1: F3
[    0.173233] pm8018_probe: PMIC revision 2: 08
[    0.173233] pm8018_probe: PMIC version: PM8018 rev 2.1
[    0.173264] pm8018_probe: PMIC Restart Reason: Triggered from KPD (power key press)
[    0.174240] pm_gpio_probe: OK: base=88, ngpio=6
[    0.174515] pm8xxx_mpp_probe: OK: base=94, ngpio=6
[    0.181962] cpufreq_table_init: CPU: 4 scaling frequencies supported.
[    0.186754] sps:REVISION of BAM 0xc6818000 is 0x5.
[    0.186784] sps:BAM 0x12244000 is registered.
[    0.187517] sps:sps is ready.
[    0.209034] bio: create slab <bio-0> at 0
[    0.209797] ION heap vmalloc created
[    0.209827] ION heap iommu created
[    0.209858] ION heap audio created at 46e01000 with size af000
[    0.210254] pm8xxx_pwm_probe: OK
[    0.210865] SCSI subsystem initialized
[    0.211048] usbcore: registered new interface driver usbfs
[    0.211200] usbcore: registered new interface driver hub
[    0.211414] usbcore: registered new device driver usb
[    0.212055] Registered led device: led:kb
[    0.212452] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.213215] Switching to clocksource gp_timer
[    0.223134] NET: Registered protocol family 2
[    0.223378] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.223683] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.223744] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.223805] TCP: Hash tables configured (established 2048 bind 2048)
[    0.223836] TCP reno registered
[    0.223836] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.223897] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.224629] NET: Registered protocol family 1
[    0.228231] Notify: smsm init
[    0.234518] NET: Registered protocol family 27
[    0.235373] apr_tal:Q6 Is Up
[    0.236593] modem_8960_init: modem fatal driver init'ed.
[    0.236868] lpass_fatal_init: lpass SSR driver init'ed.
[    0.237265] msm_rpm_log_probe: OK
[    0.249992] yaffs: yaffs built Jul 21 2016 14:54:39 Installing.
[    0.250053] msgmni has been set to 57
[    0.251701] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    0.251732] io scheduler noop registered
[    0.251762] io scheduler deadline registered
[    0.251823] io scheduler cfq registered (default)
[    0.398596] apr_tal:Modem Is Up
[    0.409064] msm_serial: driver initialized
[    0.409217] msm_serial_hsl: detected port #0
[    0.409400] msm_serial_hsl.0: ttyHSL0 at MMIO 0x16240000 (irq = 182) is a MSM
[    0.409522] msm_serial_hsl: console setup on port #0
[    0.834030] console [ttyHSL0] enabled
[    0.853807] msm_serial_hsl: driver initialized
[    0.865649] brd: module loaded
[    0.871600] loop: module loaded
[    0.874347] init gpio to irq = 0
[    0.877002] init gpio to irq = 312
[    0.880329] quectel_power_manager_probe: OK ###############################
[    0.973874] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[    0.979490] qup_i2c qup_i2c.0: I2C slave addr:0xd not connected
[    0.985533] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[    0.991973] qup_i2c qup_i2c.0: I2C slave addr:0xd not connected
[    0.997894] failed to read wcd9xxx register
[    1.002044] tabla-i2c-core 0-000d: Codec read failed
[    1.006989] failed to read the wcd9xxx status
[    1.014649] tabla-i2c-core: probe of 0-000d failed with error -107
[    1.019807] probe for other slaves devices of tabla
[    1.024690] probe for other slaves devices of tabla
[    1.029513] probe for other slaves devices of tabla
[    1.034457] i2c-core: driver [tabla-i2c-core] using legacy suspend method
[    1.041141] i2c-core: driver [tabla-i2c-core] using legacy resume method
[    1.049137] SCSI Media Changer driver v0.25 
[    1.053197] msm_nand_probe: phys addr 0x1b400000 
[    1.057134] msm_nand_probe: dmac 0x3
[    1.060643] msm_nand_probe: allocated dma buffer at ffdfe000, dma_addr 46a40000
[    1.068121] ONFI probe : Found a nonONFI Compliant device 
[    1.073462] status: c00020
[    1.076087] nandid: 1590aac8 maker c8 device aa
[    1.080604] Found a supported NAND device
[    1.084602] NAND Controller ID : 0x4030
[    1.088386] NAND Device ID  : 0x1590aac8
[    1.092293] Buswidth : 8 Bits
[    1.095284] Density  : 256 MByte
[    1.098458] Pagesize : 2048 Bytes
[    1.101754] Erasesize: 131072 Bytes
[    1.105264] Oobsize  : 64 Bytes
[    1.108377] CFG0 Init  : 0xa8d408c0
[    1.111826] CFG1 Init  : 0x0004745c
[    1.115336] ECCBUFCFG  : 0x00000203
[    1.118785] Creating 16 MTD partitions on "msm_nand":
[    1.123851] 0x0000050c0000-0x000005b00000 : "boot" 
[    1.130260] 0x000000140000-0x0000004a0000 : "sbl2" 
[    1.135479] 0x0000004a0000-0x000000800000 : "rpm" 
[    1.140485] 0x000000800000-0x000000d80000 : "efs2" 
[    1.145643] 0x000000d80000-0x0000012e0000 : "dsp1" 
[    1.150770] 0x0000012e0000-0x000001d20000 : "dsp3" 
[    1.156020] 0x000001d20000-0x000004fe0000 : "dsp2" 
[    1.161147] 0x000004fe0000-0x0000050c0000 : "aboot" 
[    1.166366] 0x000000000000-0x000000140000 : "mibib" 
[    1.171493] 0x000005b00000-0x000009b60000 : "cache" 
[    1.176773] 0x000009b60000-0x000009cc0000 : "misc" 
[    1.181840] 0x000009cc0000-0x00000a720000 : "recovery" 
[    1.187395] 0x00000a720000-0x00000a880000 : "fota" 
[    1.192614] 0x00000a880000-0x00000bf60000 : "recoveryfs" 
[    1.198382] 0x00000bf60000-0x00000d640000 : "system" 
[    1.203754] 0x00000d640000-0x000010000000 : "userdata" 
[    1.210407] rmnet_init: BAM devices[8]
[    1.218373] msm_otg msm_otg: msm_otg probe
[    1.221455] msm_otg msm_otg: failed to get phy_clk
[    1.226308] msm_otg msm_otg: OTG regs = c6828000
[    1.232595] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.251121] Initializing USB Mass Storage driver...
[    1.255211] usbcore: registered new interface driver usb-storage
[    1.260949] USB Mass Storage support registered.
[    1.265679] usbcore: registered new interface driver ums-alauda
[    1.271570] usbcore: registered new interface driver ums-cypress
[    1.277552] usbcore: registered new interface driver ums-datafab
[    1.283503] usbcore: registered new interface driver ums-freecom
[    1.289516] usbcore: registered new interface driver ums-isd200
[    1.295406] usbcore: registered new interface driver ums-jumpshot
[    1.301480] usbcore: registered new interface driver ums-karma
[    1.307309] usbcore: registered new interface driver ums-onetouch
[    1.313352] usbcore: registered new interface driver ums-sddr09
[    1.319304] usbcore: registered new interface driver ums-sddr55
[    1.325194] usbcore: registered new interface driver ums-usbat
[    1.330993] usbcore: registered new interface driver usb_ehset_test
[    1.337494] msm_hsic_peripheral msm_hsic_peripheral: HSIC Peripheral regs = c682a000
[    1.357912] msm_otg msm_otg: phy_reset: success
[    1.362368] msm_hsusb msm_hsusb: [ci13xxx_start] hw_ep_max = 32
[    1.367678] mbim_init: initialize 1 instances
[    1.372287] mbim_init: Initialized 1 ports
[    1.379429] rndis_qc_init: initialize rndis QC instance
[    1.384343] android_usb gadget: Mass Storage Function, version: 2009/09/11
[    1.390477] android_usb gadget: Number of LUNs=1
[    1.395147]  lun0: LUN: removable file: (no medium)
[    1.400457] android_usb gadget: android_usb ready
[    1.405005] msm_hsic_peripheral msm_hsic_peripheral: [ci13xxx_start] hw_ep_max = 32
[    1.412452] android_usb gadget: android_usb ready
[    1.417030] msm_hsic_peripheral msm_hsic_peripheral: CI13XXX_CONTROLLER_RESET_EVENT received
[    1.425423] msm_hsic_peripheral msm_hsic_peripheral: CI13XXX_CONTROLLER_UDC_STARTED_EVENT received
[    1.436105] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[    1.443094] android_work: android_work: did not send uevent (0 0   (null))
[    1.450083] msm_hsic_peripheral msm_hsic_peripheral: HSIC-USB in low power mode
[    1.464764] couldn't get usb power supply
[    1.468976] diagchar initialized now
[    1.471814] input: pmic8xxx_pwrkey as /devices/platform/msm_ssbi.0/pm8018-core/pm8xxx-pwrkey/input/input0
[    1.485365] diag: Invalid Msg type 12 proc 2
[    1.505631] rtc-pm8xxx rtc-pm8xxx: rtc core: registered pm8xxx_rtc as rtc0
[    1.511948] i2c /dev entries driver
[    1.518480] pm8xxx_adc_probe: failed to request pa_therm vreg with error -19
[    1.545551] pm8xxx_tm_probe: OK
[    1.547932] cpuidle: using governor ladder
[    1.551747] cpuidle: using governor menu
[    1.556508] mmc0: mci-version: 18
[    1.560048] mmc0: bam physical base=0x12182000
[    1.563467] mmc0: bam virtual base=0xc6830000
[    1.567892] sps:BAM 0x12182000 is registered.
[    1.571982] mmc0: BAM device registered. bam_handle=0xc63c5000
[    1.578116] sps:REVISION of BAM 0xc6830000 is 0x5.
[    1.583335] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[    1.589195] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[    1.597405] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,368 dma -1 dmacrcri -1
[    1.606439] mmc0: 8 bit data mode disabled
[    1.609674] mmc0: 4 bit data mode enabled
[    1.613490] mmc0: polling status mode disabled
[    1.618098] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    1.624324] mmc0: Slot eject status = 0
[    1.627376] mmc0: Power save feature enable = 1
[    1.631893] mmc0: SPS-BAM data transfer mode available
[    1.637295] mmc1: mci-version: 18
[    1.645383] mmc1: bam physical base=0x12142000
[    1.654753] mmc1: bam virtual base=0xc686c000
[    1.660125] sps:BAM 0x12142000 is registered.
[    1.668243] mmc1: BAM device registered. bam_handle=0xc581b200
[    1.678284] sps:REVISION of BAM 0xc686c000 is 0x5.
[    1.692659] mmc1: Qualcomm MSM SDCC-BAM at 0x0000000012142000 irq 129
[    1.703067] mmc1: Qualcomm MSM SDCC-DML at 0x0000000012140800
[    1.712955] mmc1: No card detect facilities available
[    1.722295] mmc1: Qualcomm MSM SDCC-core at 0x0000000012140000 irq 135,0 dma -1 dmacrcri -1
[    1.734594] mmc1: 8 bit data mode disabled
[    1.742591] mmc1: 4 bit data mode enabled
[    1.750556] mmc1: polling status mode disabled
[    1.754616] mmc1: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    1.759682] mmc1: Slot eject status = 0
[    1.763497] mmc1: Power save feature enable = 1
[    1.767984] mmc1: SPS-BAM data transfer mode available
[    1.774484] logger: created 256K log 'log_main'
[    1.778330] logger: created 256K log 'log_events'
[    1.782908] logger: created 256K log 'log_radio'
[    1.787669] logger: created 256K log 'log_system'
[    1.842575] voice_allocate_shared_memory: ION memory allocation failed
[    1.853502] msm_pcm_probe: dev name msm-voip-dsp
[    1.868213] msm_pcm_probe: dev name msm-host-pcm-voice
[    1.873340] msm_pcm_probe: dev name msm-pcm-dsp
[    1.877033] msm_pcm_probe: dev name msm-multi-ch-pcm-dsp
[    1.883198] mdm9615_audio_init: Interface Type = -1
[    1.887868] ALSA device list:
[    1.890126]   No soundcards found.
[    1.893392] Netfilter messages via NETLINK v0.30.
[    1.898214] nf_conntrack version 0.5.0 (460 buckets, 1840 max)
[    1.904959] ip_set: protocol 6
[    1.907187] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.912620] TCP cubic registered
[    1.916954] NET: Registered protocol family 10
[    1.923332] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.928094] NET: Registered protocol family 17
[    1.932153] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
[    1.939783] Registering SWP/SWPB emulation handler
[    1.947840] clock_late_init() disabled 42 unused clocks
[    1.955989] MSM Watchdog Initialized
[    1.958828] no pmic restart interrupt specified
[    1.964932] rtc-pm8xxx rtc-pm8xxx: setting system clock to 1970-01-01 00:34:05 UTC (2045)
[    1.973172] yaffs: dev is 32505870 name is "mtdblock14" rw
[    1.977689] yaffs: passed flags "" 
[    1.981016] yaffs: Attempting MTD mount of 31.14,"mtdblock14" 
[    2.039401] yaffs: block 155 is bad
[    2.099435] sps:BAM 0x124c2000 is registered.
[    2.144208] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_RESET_EVENT received
[    3.018037] yaffs: yaffs_read_super: is_checkpointed 0
[    3.018129] VFS: Mounted root (yaffs2 filesystem) on device 31:14.
[    3.023805] Freeing init memory: 168K
[    3.319090] sps:BAM 0x12502000 is registered.
[    3.325194] enable_store: android_usb: already disabled
[    3.334014] usmd:register_sysctl_table success.
[    3.337982] frmnet_bind: RmNet(0) dual Speed, IN:ep8in OUT:ep5out
[    3.545734] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[    3.551258] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[    3.564596] android_work: android_work: did not send uevent (0 0   (null))
[    3.619960] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[    3.625911] android_work: android_work: sent uevent USB_STATE=CONNECTED
[    3.631893] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[    3.655241] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[    3.726629] android_usb gadget: high speed config #1: android_usb
[    3.731848] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[    3.738013] msm_otg msm_otg: Avail curr from USB = 500
[    3.743293] diag: USB connected
[    3.744575] sps:REVISION of BAM 0xc68b8000 is 0x5.
[    3.749855] android_work: android_work: sent uevent USB_STATE=CONNECTED
[    3.776468] diag: USB connected
[    3.834976] android_work: android_work: sent uevent USB_STATE=CONFIGURED
[    6.987578] yaffs: dev is 32505871 name is "mtdblock15" rw
[    6.992034] yaffs: passed flags "" 
[    6.995513] yaffs: Attempting MTD mount of 31.15,"mtdblock15" 
[    8.647001] yaffs: yaffs_read_super: is_checkpointed 0
[    8.682405] yaffs: dev is 32505865 name is "mtdblock9" rw
[    8.686983] yaffs: passed flags "" 
[    8.690187] yaffs: Attempting MTD mount of 31.9,"mtdblock9" 
[    8.692507] yaffs: yaffs_read_super: is_checkpointed 1
[    8.984709] adb_open
[    9.579856] yaffs: dev is 32505869 name is "mtdblock13" rw
[    9.590325] yaffs: passed flags "" 
[    9.597192] yaffs: Attempting MTD mount of 31.13,"mtdblock13" 
[    9.597222] yaffs: auto selecting yaffs2
[    9.676789] yaffs: yaffs_read_super: is_checkpointed 1
[    9.955012] mbim_open: Open mbim driver
[    9.959957] mbim_open: Lock mbim_dev->open_excl for open
[    9.971738] mbim_open: USB cable not connected
[    9.975553] mbim_open: Exit, mbim file opened
[   10.053410] smd_pkt_open: DATA9_CNTL open failed -19
[   10.085731] smd_pkt_open: DATA12_CNTL open failed -19
[   10.127941] smd_pkt_open: DATA13_CNTL open failed -19
[   10.175919] smd_pkt_open: DATA14_CNTL open failed -19
[   10.805707] qsmem_poll_timer_cb:67 Modem Msg received.
[   10.860521] nmea: smd opened
[   11.087746] dtr_smd_open smd_open_ret = 0(0 SUCCESS)
[   11.091744] DTR SMD EVENT OPEN
[   11.113016] buf:dtr_low-
[   11.115000] enter rt5616_modinit
[   11.125316] enter rt5616_i2c_probe
[   11.135571] enter rt5616_probe
[   11.137982] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1300c8, irq:183
[   11.144239] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.150404] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.156874] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.178391] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1300c8, irq:183
[   11.184098] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.193010] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.198687] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.204761] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.211597] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.217610] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.224019] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.230154] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.236593] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.242697] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.249290] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.255241] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.261742] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.267938] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.274408] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.280482] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.286952] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.292995] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.299496] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.305569] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.312314] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.318663] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.327697] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.333801] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.343567] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.349641] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.356111] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.362185] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.368655] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.374790] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.381291] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.387456] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.393834] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.400244] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.407172] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.413215] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.420845] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.426552] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.432992] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.439127] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.445566] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.451854] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.458263] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.464306] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.470746] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.476911] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.483351] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.489485] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.495925] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.501999] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.509720] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.514939] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.521471] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.527575] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.534472] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.540088] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.546864] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.552662] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.559133] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.565206] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.571799] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.577872] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.585502] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.590813] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.597192] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.603235] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.610102] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.616023] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.622524] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.628536] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.634945] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.641049] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.647489] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.657652] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.663268] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.670318] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.676697] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.682191] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.688661] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.694674] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.701327] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.707279] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.713902] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.719945] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.726323] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.732427] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.738989] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.744971] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.751838] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.757698] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.764169] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.770242] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.776743] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.782786] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.789317] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.795360] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.802105] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.808026] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.814497] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.820570] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.827102] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.833114] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.839676] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.845688] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.852372] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.858354] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.866809] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.872028] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   11.878498] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.884541] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.891103] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.897146] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.903555] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.909720] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.916191] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.922264] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.928795] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.934839] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.941339] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.947474] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.953914] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.960476] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.966519] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.972592] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.979093] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.985228] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   11.991698] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   11.997833] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.004272] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.010407] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.016847] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.022951] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.029452] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.035525] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.042026] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.048161] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.054600] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.061254] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.067266] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.073370] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.079993] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.085945] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1343c8, irq:183
[   12.092385] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.098550] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.104959] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.111246] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.117564] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.123638] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.130138] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.136273] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.142713] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.148878] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.155318] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.161452] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.167892] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.173996] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.180894] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.187120] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.193071] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.199206] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.205646] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.213032] msm_dai_q6_dai_sec_auxpcm_probe
[   12.216297] msm_dai_q6_dai_sec_auxpcm_probe
[   12.224629] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1300c8, irq:183
[   12.230276] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.236441] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.242820] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.248985] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.255424] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.261559] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.267999] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.274103] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.280604] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.286769] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.293178] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.299313] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.305753] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.311918] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.318358] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.324431] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.330932] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.337066] qup_i2c qup_i2c.0: QUP: I2C status flags :0x1363c8, irq:183
[   12.343537] qup_i2c qup_i2c.0: I2C slave addr:0x1b not connected
[   12.349916] asoc: null-codec-dai <-> MultiMedia1 mapping ok
[   12.357698] asoc: null-codec-dai <-> MultiMedia2 mapping ok
[   12.364748] asoc: null-codec-dai <-> CS-VOICE mapping ok
[   12.372012] asoc: null-codec-dai <-> VoIP mapping ok
[   12.378666] asoc: null-codec-dai <-> SLIMBUS0_HOSTLESS mapping ok
[   12.386235] asoc: msm-stub-rx <-> msm-dai-q6.241 mapping ok
[   12.393285] asoc: msm-stub-tx <-> msm-dai-q6.240 mapping ok
[   12.400396] asoc: null-codec-dai <-> AUXPCM_HOSTLESS mapping ok
[   12.407843] asoc: null-codec-dai <-> VoLTE mapping ok
[   12.414375] asoc: null-codec-dai <-> DTMF_RX_HOSTLESS mapping ok
[   12.421822] asoc: msm-stub-tx <-> msm-dai-stub mapping ok
[   12.428658] asoc: msm-stub-tx <-> msm-dai-stub mapping ok
[   12.435464] asoc: msm-stub-rx <-> msm-dai-stub mapping ok
[   12.442301] asoc: msm-stub-tx <-> msm-dai-stub mapping ok
[   12.449107] asoc: msm-stub-rx <-> msm-dai-stub mapping ok
[   12.456096] asoc: msm-stub-rx <-> msm-dai-q6.12288 mapping ok
[   12.463238] asoc: msm-stub-tx <-> msm-dai-q6.12289 mapping ok
[   12.470441] asoc: msm-stub-rx <-> msm-dai-q6.224 mapping ok
[   12.477460] asoc: msm-stub-tx <-> msm-dai-q6.225 mapping ok
[   12.484541] asoc: rt5616-aif1 <-> msm-dai-q6.2 mapping ok
[   12.491530] asoc: rt5616-aif1 <-> msm-dai-q6.3 mapping ok
[   12.498397] asoc: msm-stub-rx <-> msm-dai-q6.12 mapping ok
[   12.505264] asoc: msm-stub-tx <-> msm-dai-q6.13 mapping ok
[   12.512223] asoc: msm-stub-rx <-> msm-dai-q6.32773 mapping ok
[   12.519395] asoc: msm-stub-tx <-> msm-dai-q6.32772 mapping ok
[   12.526598] asoc: msm-stub-tx <-> msm-dai-q6.32771 mapping ok
-   47.270715] buf:+QFOPEN  passwd 
-  104.919975] buf:+QFCLOSE 0
-  121.510392] buf:+QFOPEN ?
[  391.714603] sps:BAM is already registered: 12502000
[  391.718571] usb_bam_init: register bam error -17
[  391.723088] usb_bam usb_bam: failed to initialize usb bam
[  391.728887] diag: USB disconnected
[  391.731603] frmnet_bind: RmNet(0) dual Speed, IN:ep13in OUT:ep7out
[  391.737158] sps:sps_device_reset:device handle should not be 0.
[  391.746009] usb_bam_reset: BAM reset failed
[  391.755959] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  391.761269] msm_otg msm_otg: Avail curr from USB = 2
[  391.766213] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_SUSPEND_EVENT received
[  391.773264] android_work: android_work: did not send uevent (1 1   (null))
[  392.126384] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_RESUME_EVENT received
[  392.132305] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  392.138562] msm_otg msm_otg: Avail curr from USB = 0
[  392.144025] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[  392.155409] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[  392.198687] android_work: android_work: sent uevent USB_STATE=CONNECTED
[  392.204578] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  392.216145] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[  392.235678] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[  392.291957] android_usb gadget: high speed config #1: android_usb
[  392.298214] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  392.303586] msm_otg msm_otg: Avail curr from USB = 500
[  392.309110] diag: USB connected
[  392.315366] android_work: android_work: sent uevent USB_STATE=CONNECTED
[  392.341492] diag: USB connected
[  392.387700] android_work: android_work: sent uevent USB_STATE=CONFIGURED
[  436.916496] sps:BAM is already registered: 12502000
[  436.920158] usb_bam_init: register bam error -17
[  436.925041] usb_bam usb_bam: failed to initialize usb bam
[  436.930749] diag: USB disconnected
[  436.933221] adb_bind_config
[  436.935144] sps:sps_device_reset:device handle should not be 0.
[  436.945307] frmnet_bind: RmNet(0) dual Speed, IN:ep14in OUT:ep8out
[  436.950617] usb_bam_reset: BAM reset failed
[  436.960750] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  436.966091] msm_otg msm_otg: Avail curr from USB = 2
[  436.971036] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_SUSPEND_EVENT received
[  436.978055] android_work: android_work: did not send uevent (1 1   (null))
[  437.171158] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_RESUME_EVENT received
[  437.177079] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  437.183335] msm_otg msm_otg: Avail curr from USB = 0
[  437.188768] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[  437.198168] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[  437.243644] android_work: android_work: sent uevent USB_STATE=CONNECTED
[  437.249565] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  437.260491] android_work: android_work:usb disconnect cause suspended&sw_suspended to 0
[  437.279078] android_work: android_work: sent uevent USB_STATE=DISCONNECTED
[  437.336578] android_usb gadget: high speed config #1: android_usb
[  437.342713] msm_otg msm_otg: Failed notifying 1 charger type to PMIC
[  437.348115] msm_otg msm_otg: Avail curr from USB = 500
[  437.353670] diag: USB connected
[  437.354768] msm_hsusb msm_hsusb: [ep_enable] enabling a non-empty endpoint!
[  437.363741] android_work: android_work: sent uevent USB_STATE=CONNECTED
[  437.437540] android_work: android_work: sent uevent USB_STATE=CONFIGURED
[  728.231893] [dsp_debug.c:dsp_read] Memory Invalid or not initialized, Base = 0x0, size = 0x0
[  748.249992] Ramdump(ramdump_smem-modem): Read when there's no dump available!
[  754.749549] Ramdump(ramdump_modem_sw): Read when there's no dump available!

Log of flashing process from firmware version EC20EQAR02A05E2G to EC20EQAR02A09E2G

root@gaben:/tmp# ./QLinuxUPG_EC20 -f ./fw
./QLinuxUPG_EC20 V01
firmware path: /tmp/./fw
Module upgrade tool, Sun Jan  8 22:04:41 2017

unknow file EC20-E_Firmware_Release_Notes_V0209.pdf in firmware path
unknow file EC20_E_20150923.qcn in firmware path
Module Status Detection
/tmp/QLinuxUPG_EC20 fastboot devices
In Diag Command Status
111
2222
buf i:[0],value is [0x13]
buf i:[1],value is [0x06]
buf i:[2],value is [0x88]
buf i:[3],value is [0xd5]
buf i:[4],value is [0x7e]
in normal mode
buff is AT+QFASTBOOT
buff is
OK
STBOOT
/tmp/QLinuxUPG_EC20 fastboot devices
[ 1044.501484] usb 2-1.1: USB disconnect, device number 4
[ 1044.506930] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[ 1044.515161] qcserial 2-1.1:1.0: device disconnected
[ 1044.520849] ugps: tty error, shutting down
[ 1044.525531] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1
[ 1044.533793] qcserial 2-1.1:1.1: device disconnected
[ 1044.543042] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2
[ 1044.551301] qcserial 2-1.1:1.2: device disconnected
[ 1044.556552] qcserial ttyUSB3: Qualcomm USB modem converter now disconnected from ttyUSB3
[ 1044.564789] qcserial 2-1.1:1.3: device disconnected
[ 1044.569959] qmi_wwan 2-1.1:1.4 wwan0: unregister 'qmi_wwan' usb-ci_hdrc.1-1.1, WWAN/QMI device
/tmp/QLinuxUPG_EC20 fastboot devices
/tmp/QLinuxUPG_EC20 fastboot devices
[ 1049.545886] ugps: /dev/ttyUSB1: device open failed: No such file or directory
/tmp/QLinuxUPG_EC20 fastboot devices
[ 1050.365366] usb 2-1.1: new high-speed USB device number 5 using ci_hdrc
/tmp/QLinuxUPG_EC20 fastboot devices
MDM9615 fastboot
/tmp/QLinuxUPG_EC20 fastboot flash system /tmp/./fw/msm-9615-cdp-image--ipk-20160923-9615-cdp.rootfs.yaffs2
sending 'system' (10172 KB)...
OKAY [  1.386s]
writing 'system'...
[ 1054.555941] ugps: /dev/ttyUSB1: device open failed: No such file or directory
OKAY [  2.592s]
finished. total time: 3.978s
/tmp/QLinuxUPG_EC20 fastboot flash userdata /tmp/./fw/9615-cdp-usr-image.usrfs.yaffs2
sending 'userdata' (28225 KB)...
[ 1059.566441] ugps: /dev/ttyUSB1: device open failed: No such file or directory
OKAY [  3.861s]
writing 'userdata'...
[ 1064.576879] ugps: /dev/ttyUSB1: device open failed: No such file or directory
OKAY [  6.716s]
finished. total time: 10.577s
/tmp/QLinuxUPG_EC20 fastboot flash boot /tmp/./fw/boot-oe-msm9615.img
sending 'boot' (6196 KB)...
OKAY [  0.855s]
writing 'boot'...
[ 1069.587219] ugps: /dev/ttyUSB1: device open failed: No such file or directory
OKAY [  1.577s]
finished. total time: 2.431s
/tmp/QLinuxUPG_EC20 fastboot flash recovery /tmp/./fw/recovery-boot-oe-msm9615.img
sending 'recovery' (6196 KB)...
OKAY [  0.834s]
writing 'recovery'...
OKAY [  1.586s]
finished. total time: 2.421s
/tmp/QLinuxUPG_EC20 fastboot flash recoveryfs /tmp/./fw/9615-cdp-recovery-image-9615-cdp.yaffs2
sending 'recoveryfs' (20457 KB)...
OKAY [  2.791s]
writing 'recoveryfs'...
OKAY [  4.723s]
finished. total time: 7.514s
/tmp/QLinuxUPG_EC20 fastboot flash dsp1 /tmp/./fw/dsp1.mbn
sending 'dsp1' (3380 KB)...
OKAY [  0.485s]
writing 'dsp1'...
OKAY [  0.848s]
finished. total time: 1.334s
/tmp/QLinuxUPG_EC20 fastboot flash dsp2 /tmp/./fw/dsp2.mbn
sending 'dsp2' (34648 KB)...
OKAY [  4.750s]
writing 'dsp2'...
OKAY [  8.420s]
finished. total time: 13.170s
/tmp/QLinuxUPG_EC20 fastboot flash dsp3 /tmp/./fw/dsp3.mbn
sending 'dsp3' (6636 KB)...
OKAY [  0.900s]
writing 'dsp3'...
OKAY [  1.674s]
finished. total time: 2.574s
/tmp/QLinuxUPG_EC20 fastboot continue
resuming boot...
OKAY [  0.001s]
finished. total time: 0.001s
[ 1097.237732] usb 2-1.1: USB disconnect, device number 5
[ 1101.565369] usb 2-1.1: new high-speed USB device number 6 using ci_hdrc
[ 1101.715167] qcserial 2-1.1:1.0: Qualcomm USB modem converter detected
[ 1101.722002] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB0
[ 1101.733400] qcserial 2-1.1:1.1: Qualcomm USB modem converter detected
[ 1101.740247] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB1
[ 1101.751158] qcserial 2-1.1:1.2: Qualcomm USB modem converter detected
[ 1101.758024] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB2
[ 1101.769230] qcserial 2-1.1:1.3: Qualcomm USB modem converter detected
[ 1101.776076] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB3
[ 1101.785728] qmi_wwan 2-1.1:1.4: cdc-wdm0: USB WDM device
[ 1101.791733] qmi_wwan 2-1.1:1.4 wwan0: register 'qmi_wwan' at usb-ci_hdrc.1-1.1, WWAN/QMI device, fe:4e:b0:fd:2f:20
Old version is  EC20EQAR02A05E2G
Switch to PRG status
[ 1115.413733] usb 2-1.1: USB disconnect, device number 6
[ 1115.419175] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[ 1115.427430] qcserial 2-1.1:1.0: device disconnected
[ 1115.432751] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1
[ 1115.441038] qcserial 2-1.1:1.1: device disconnected
[ 1115.446402] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2
[ 1115.454644] qcserial 2-1.1:1.2: device disconnected
[ 1115.459934] qcserial ttyUSB3: Qualcomm USB modem converter now disconnected from ttyUSB3
[ 1115.468217] qcserial 2-1.1:1.3: device disconnected
[ 1115.473355] qmi_wwan 2-1.1:1.4 wwan0: unregister 'qmi_wwan' usb-ci_hdrc.1-1.1, WWAN/QMI device
[ 1115.915373] usb 2-1.1: new high-speed USB device number 7 using ci_hdrc
[ 1116.048046] qmi_wwan: probe of 2-1.1:1.0 failed with error -22
[ 1116.054011] qcserial 2-1.1:1.0: Qualcomm USB modem converter detected
[ 1116.060806] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB0
111
2222
buf i:[0],value is [0x7e]
buf i:[1],value is [0x02]
buf i:[2],value is [0x6a]
buf i:[3],value is [0xd3]
buf i:[4],value is [0x7e]
in download mode
In PRG Status
Send /tmp/./fw/NPRG9x15.hex.hex
progress : 100% finished

111
2222
buf i:[0],value is [0x7e]
buf i:[1],value is [0x0e]
buf i:[2],value is [0x49]
buf i:[3],value is [0x6e]
buf i:[4],value is [0x76]
buf i:[5],value is [0x61]
buf i:[6],value is [0x6c]
buf i:[7],value is [0x69]
buf i:[8],value is [0x64]
buf i:[9],value is [0x20]
buf i:[10],value is [0x43]
buf i:[11],value is [0x6f]
buf i:[12],value is [0x6d]
buf i:[13],value is [0x6d]
buf i:[14],value is [0x61]
buf i:[15],value is [0x6e]
buf i:[16],value is [0x64]
buf i:[17],value is [0x0a]
buf i:[18],value is [0x58]
buf i:[19],value is [0xbd]
buf i:[20],value is [0x7e]
buf i:[21],value is [0x7e]
buf i:[22],value is [0x0d]
buf i:[23],value is [0x05]
buf i:[24],value is [0x00]
buf i:[25],value is [0x00]
buf i:[26],value is [0x00]
buf i:[27],value is [0x49]
buf i:[28],value is [0x6e]
buf i:[29],value is [0x76]
buf i:[30],value is [0x61]
buf i:[31],value is [0x6c]
buf i:[32],value is [0x69]
buf i:[33],value is [0x64]
buf i:[34],value is [0x20]
buf i:[35],value is [0x43]
buf i:[36],value is [0x6f]
buf i:[37],value is [0x6d]
buf i:[38],value is [0x6d]
buf i:[39],value is [0x61]
buf i:[40],value is [0x6e]
buf i:[41],value is [0x64]
buf i:[42],value is [0xbf]
buf i:[43],value is [0xc3]
buf i:[44],value is [0x7e]
in go mode
Start to download firmware
handle_parti_tbl command = 1a, status = 01
handle_parti_tbl command = 1a, status = 00
flash 0:SBL1 /tmp/./fw/sbl1.mbn
sending '0:SBL1' (115KB)
progress : 100% finished
OKAY
flash 0:SBL2 /tmp/./fw/sbl2.mbn
sending '0:SBL2' (356KB)
progress : 100% finished
OKAY
flash 0:RPM /tmp/./fw/rpm.mbn
sending '0:RPM' (102KB)
progress : 100% finished
OKAY
flash 0:APPSBL /tmp/./fw/appsboot.mbn
sending '0:APPSBL' (76KB)
progress : 100% finished
OKAY
[ 1133.077732] usb 2-1.1: USB disconnect, device number 7
[ 1133.083141] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[ 1133.091387] qcserial 2-1.1:1.0: device disconnected
[ 1143.045365] usb 2-1.1: new high-speed USB device number 8 using ci_hdrc
[ 1143.194751] qcserial 2-1.1:1.0: Qualcomm USB modem converter detected
[ 1143.201478] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB0
[ 1143.219325] qcserial 2-1.1:1.1: Qualcomm USB modem converter detected
[ 1143.226165] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB1
[ 1143.262508] qcserial 2-1.1:1.2: Qualcomm USB modem converter detected
[ 1143.271353] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB2
[ 1143.286572] qcserial 2-1.1:1.3: Qualcomm USB modem converter detected
[ 1143.293382] usb 2-1.1: Qualcomm USB modem converter now attached to ttyUSB3
[ 1143.304643] qmi_wwan 2-1.1:1.4: cdc-wdm0: USB WDM device
[ 1143.310651] qmi_wwan 2-1.1:1.4 wwan0: register 'qmi_wwan' at usb-ci_hdrc.1-1.1, WWAN/QMI device, fe:4e:b0:fd:2f:20
restart...

Upgrade module successfully, Sun Jan  8 22:06:27 2017
Add picture from clipboard (Maximum size: 48.8 MB)