EC25 » History » Revision 15
Revision 14 (laforge, 12/16/2016 10:25 PM) → Revision 15/33 (laforge, 12/16/2016 10:25 PM)
{{>toc}} h1. EC25 Below testing has been made on an EC25-E Revision: EC25EFAR02A03M4G (according to ATI0 and the label on the device) h2. serial console In the EC25-E miniPCI that was analyzed, the serial console of bootloader and Linux appears to be active on pins 11+12 of the LGA module (DBG_RXD, DBG_TXD). The console is at 1.8V and at 115200bps. h2. processes h3. quectel_daemon seems to be primarily concerned with voice routing / alsa codec related bits, including playback of ringtones h3. atfwd_daemon implements Quectel specific extensions to the AT command interpreter (ATCOP) using the QMI framework to register them in the modem processor h3. Quec_WIFI_CLI h3. /usr/bin/time_daemon h3. /usr/bin/mbimd h3. /usr/bin/pdc_daemon h3. /usr/bin/diagrebootapp an application registering a DIAG command with /dev/diag. Once that diag command is received, it will write to @/dev/rebooterdev@ which will be picked up by reboot-daemon to actually do the reboot. Weird architecture. h3. /sbin/reboot-daemon strange minimalistic daemon that does a blocking read on @/dev/rebooterdev@ and issues a system("reboot") as soon as the read returns. h3. wlan_services h3. /usr/bin/qmi_ip_multiclient h3. eMBMs_TunnelingModule something related to eMBMS (evolved=LTE Multicast) h3. alsaucm_test h3. /usr/bin/quectel-remotefs-service * uses /dev/smd8 h3. /usr/bin/quectel_psm_aware h3. /usr/bin/quectel_monitor_daemon * reads from /sys/devices/4080000.qcom,mss/subsys1/quec_state h3. /usr/bin/quectel-gps-handle * uses /dev/ttyGS0 to print NMEA to host * uses /dev/smd7 to communicate with BB h3. /usr/bin/qmi_shutdown_modem something low power mode related, uses @qmi_simple_ril_test@ and data in /tmp/qmi-shutdown-modem/ h3. /usr/bin/netmgrd h3. /usr/bin/thermal-engine some kind of thermal management for the MSM SoC h3. /usr/bin/qmuxd h3. /usr/bin/quectel_pcm_daemon related to alsa soc (asoc) codec configuration, uses /etc/auxpcm.conf h3. /usr/bin/qti h3. QCMAP_ConnectionManager related to WLAN/WWAN back-haul switching h3. QCMAP_CLI Program to configure QCMAP. Cnfiguration can also be done via web? <pre> Please select an option to test from the items listed below. 1. Display Current Config 49. Get UPnP Status 2. Delete SNAT Entry 50. Get DLNA Status 3. Add SNAT Entry 51. Get MDNS Status 4. Get SNAT Config 52. Get Station Mode Status 5. Set Roaming 53. Set DLNA Media Directory 6. Get Roaming 54. Get DLNA Media Directory 7. Delete DMZ IP 55. Set MobileAP/WLAN Bootup Config 8. Add DMZ IP 56. Get MobileAP/WLAN Bootup Config 9. Get DMZ IP 57. Enable/Disable IPV4 10. Set IPSEC VPN Passthrough 58. Get IPv4 State 11. Get IPSEC VPN Passthrough 59. Get Data Bitrate 12. Set PPTP VPN Passthrough 60. Set UPnP Notify Interval 13. Get PPTP VPN Passthrough 61. Get UPnP Notify Interval 14. Set L2TP VPN Passthrough 62. Set DLNA Notify Interval 15. Get L2TP VPN Passthrough 63. Get DLNA Notify Interval 16. Set Autoconnect Config 64. Add DHCP Reservation Record 17. Get Autoconnect Config 65. Get DHCP Reservation Records 18. Get WAN status 66. Edit DHCP Reservation Record 19. Add Firewall Entry 67. Delete DHCP Reservation Record 20. Enable/Disable M-DNS 68. Activate Hostapd Config 21. Enable/Disable UPnP 69. Activate Supplicant Config 22. Enable/Disable DLNA 70. Get Webserver WWAN access flag 23. Display Firewalls 71. Set Webserver WWAN access flag 24. Delete Firewall Entry 72. Enable/Disable ALG 25. Get WWAN Statistics 73. Set SIP server info 26. Reset WWAN Statistics 74. Get SIP server info 27. Get Network Configuration 75. Restore Factory Default Settings(** Will Reboot Device ) 28. Get NAT Type 76. Get Connected Device info 29. Set NAT Type 77. Get Cradle Mode 30. Enable/Disable Mobile AP 78. Set Cradle Mode 31. Enable/Disable WLAN 79. Get Prefix Delegation Config 32. Connect/Disconnect Backhaul 80. Set Prefix Delegation Config 33. Get Mobile AP status 81. Get Prefix Delegation Status 34. Set NAT Timeout 82. Set/Get Gateway URL 35. Get NAT Timeout 83. Enable/Disable DDNS 36. Set WLAN Config 84. Set DDNS Config 37. Get WLAN Config 85. Get DDNS Config 38. Activate WLAN 86. Enable/Disable TinyProxy 39. Set LAN Config 87. Get TinyProxy Status 40. Get LAN Config 88. Set DLNAWhitelisting 41. Activate LAN 89. Get DLNAWhitelisting 42. Get WLAN Status 90. Add DLNAWhitelistingIP 43. Enable/Disable IPV6 91. Delete DLNAWhitelistingIP 44. Set Firewall Config 92. Set UPNPPinhole State 45. Get Firewall Config 93. Get UPNPPinhole State 46. Get IPv6 State 94. Configure Active Backhaul Priority 47. Get WWAN Profile 95. Get Backhaul Priority 48. Set WWAN Profile 96. Teardown/Disable and Exit </pre> h3. ipacmdiag related to https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/data-ipa-cfg-mgr/ ? h3. ipacm_perf related to https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/data-ipa-cfg-mgr/ ? h3. psmd /dev/socket/psm h3. /sbin/adbd android debug bridge. h2. misc outputs h3. lsusb output <pre> Bus 001 Device 058: ID 2c7c:0125·· Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0· bDeviceProtocol 0· bMaxPacketSize0 64 idVendor 0x2c7c· idProduct 0x0125· bcdDevice 3.18 iManufacturer 1 Android iProduct 2 Android iSerial 0· bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 209 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0· bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0· Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0· bInterfaceProtocol 0· iInterface 0· ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0· bInterfaceProtocol 0· iInterface 0· ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0· bInterfaceProtocol 0· iInterface 0· ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0· Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x89 EP 9 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x88 EP 8 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0· bDeviceProtocol 0· bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) </pre> h3. ps <pre> root@mdm9607-perf:/firmware/image# ps axuw PID USER TIME COMMAND 1 root 0:06 init [5] 2 root 0:00 [kthreadd] 3 root 0:02 [ksoftirqd/0] 4 root 0:04 [kworker/0:0] 5 root 0:00 [kworker/0:0H] 6 root 0:00 [kworker/u2:0] 7 root 0:00 [rcu_preempt] 8 root 0:00 [rcu_sched] 9 root 0:00 [rcu_bh] 10 root 0:00 [khelper] 11 root 0:00 [netns] 12 root 0:00 [perf] 13 root 0:00 [msm_watchdog] 14 root 0:00 [smd_channel_clo] 15 root 0:00 [smsm_cb_wq] 17 root 0:00 [deferwq] 19 root 0:00 [irq/52-cpr] 20 root 0:00 [mpm] 29 root 0:00 [writeback] 30 root 0:00 [crypto] 31 root 0:00 [bioset] 32 root 0:00 [kblockd] 33 root 0:00 [system] 34 root 0:00 [devfreq_wq] 35 root 0:00 [cfg80211] 36 root 0:00 [power_off_alarm] 37 root 0:00 [kswapd0] 38 root 0:00 [fsnotify_mark] 46 root 0:00 [glink_ssr_wq] 47 root 0:00 [apr_driver] 48 root 0:00 [k_hsuart] 49 root 0:00 [msm_serial_hs_0] 50 root 0:00 [msm_serial_hs_0] 51 root 0:00 [diag_real_time_] 52 root 0:00 [diag_wq] 53 root 0:00 [DIAG_USB_diag] 54 root 0:00 [diag_cntl_wq] 55 root 0:00 [diag_dci_wq] 56 root 0:00 [DIAG_SMD_MODEM_] 57 root 0:00 [DIAG_SMD_MODEM_] 58 root 0:00 [DIAG_SMD_MODEM_] 59 root 0:00 [DIAG_SMD_MODEM_] 60 root 0:00 [DIAG_SMD_MODEM_] 61 root 0:00 [DIAG_SMD_LPASS_] 62 root 0:00 [DIAG_SMD_LPASS_] 63 root 0:00 [DIAG_SMD_LPASS_] 64 root 0:00 [DIAG_SMD_LPASS_] 65 root 0:00 [DIAG_SMD_LPASS_] 66 root 0:00 [DIAG_SMD_WCNSS_] 67 root 0:00 [DIAG_SMD_WCNSS_] 68 root 0:00 [DIAG_SMD_WCNSS_] 69 root 0:00 [DIAG_SMD_WCNSS_] 70 root 0:00 [DIAG_SMD_WCNSS_] 71 root 0:00 [DIAG_SMD_SENSOR] 72 root 0:00 [DIAG_SMD_SENSOR] 73 root 0:00 [DIAG_SMD_SENSOR] 74 root 0:00 [DIAG_SMD_SENSOR] 75 root 0:00 [DIAG_SMD_SENSOR] 76 root 0:00 [DIAG_SOCKMODEM_] 77 root 0:00 [DIAG_SOCKMODEM_] 78 root 0:00 [DIAG_SOCKMODEM_] 79 root 0:00 [DIAG_SOCKMODEM_] 80 root 0:00 [DIAG_SOCKMODEM_] 81 root 0:00 [DIAG_SOCKLPASS_] 82 root 0:00 [DIAG_SOCKLPASS_] 83 root 0:00 [DIAG_SOCKLPASS_] 84 root 0:00 [DIAG_SOCKLPASS_] 85 root 0:00 [DIAG_SOCKLPASS_] 86 root 0:00 [DIAG_SOCKWCNSS_] 87 root 0:00 [DIAG_SOCKWCNSS_] 88 root 0:00 [DIAG_SOCKWCNSS_] 89 root 0:00 [DIAG_SOCKWCNSS_] 90 root 0:00 [DIAG_SOCKWCNSS_] 91 root 0:00 [DIAG_SOCKSENSOR] 92 root 0:00 [DIAG_SOCKSENSOR] 93 root 0:00 [DIAG_SOCKSENSOR] 94 root 0:00 [DIAG_SOCKSENSOR] 95 root 0:00 [DIAG_SOCKSENSOR] 96 root 0:00 [DIAG_CNTL_SOCKE] 97 root 0:00 [k_gserial] 98 root 0:00 [k_ipa_usb] 99 root 0:00 [uether] 100 root 0:00 [k_gbridge] 101 root 0:00 [therm_core:noti] 102 root 0:00 [therm_core:noti] 103 root 0:00 [therm_core:noti] 104 root 0:00 [therm_core:noti] 105 root 0:00 [therm_core:noti] 106 root 0:00 [irq/216-tsens_i] 107 root 0:00 [therm_core:noti] 108 root 0:00 [therm_core:noti] 109 root 0:00 [cfinteractive] 110 root 0:00 [irq/170-7824900] 111 root 0:00 [irq/155-mmc0] 112 root 0:03 [irq/253-7864900] 113 root 0:00 [irq/157-mmc1] 114 root 0:00 [usb_bam_wq] 115 root 0:00 [qsmd] 116 root 0:00 [ipv6_addrconf] 117 root 0:00 [msm_ipc_router] 118 root 0:00 [irq/441-modem] 119 root 0:00 [sysmon_wq] 120 root 0:00 [qmi_svc_event_w] 122 root 0:00 [bam_dmux_rx] 123 root 0:00 [bam_dmux_tx] 124 root 0:00 [ubi_bgt0d] 125 root 0:00 [ubi_bgt1d] 126 root 0:00 [k_bam_data] 127 root 0:00 [f_mtp] 129 root 0:00 [msm_thermal:fre] 130 root 0:00 [msm_thermal:the] 131 root 0:00 [ubifs_bgt0_0] 132 root 0:00 [IPCRTR] 133 root 0:00 [modem_IPCRTR] 186 root 0:00 [ubifs_bgt0_1] 195 root 0:00 /sbin/adbd 216 root 0:00 psmd 324 root 0:00 ipacm_perf 333 root 0:00 ipacmdiag 343 root 0:00 QCMAP_ConnectionManager /etc/mobileap_cfg.xml d 347 root 0:00 /usr/bin/qti 358 root 0:00 /sbin/tftp_server 359 root 0:00 /sbin/fs-scrub-daemon 377 root 0:00 /usr/bin/quectel_pcm_daemon 397 root 0:00 [sh] 435 root 0:00 /sbin/syslogd -n -C64 444 root 0:00 [k_gsmd] 445 root 0:00 [k_gbam] 459 root 0:00 /usr/bin/qmuxd 463 root 0:00 /usr/bin/thermal-engine 468 root 0:00 /usr/bin/netmgrd 497 root 0:00 /usr/bin/qmi_shutdown_modem 504 root 0:01 /usr/bin/quectel-gps-handle 518 root 0:00 /usr/bin/quectel_monitor_daemon 537 root 1:30 /usr/bin/quectel_daemon 544 root 0:00 /usr/bin/quectel_psm_aware 563 root 0:00 /usr/bin/quectel-remotefs-service 672 root 0:20 alsaucm_test 811 www-data 0:02 /usr/sbin/lighttpd -f /etc/lighttpd.conf 818 nobody 0:00 dnsmasq -i bridge0 -I lo -z --dhcp-range=bridge0,192.168. 824 root 0:00 eMBMs_TunnelingModule 828 root 0:00 /usr/bin/qmi_ip_multiclient /etc/qmi_ip_cfg.xml 887 root 0:00 wlan_services 1004 messageb 0:00 /usr/bin/dbus-daemon --system 1022 root 0:00 /sbin/reboot-daemon 1024 diag 0:02 /usr/bin/diagrebootapp 1029 root 1:24 /usr/bin/atfwd_daemon 1066 root 0:00 /usr/bin/pdc_daemon 1079 root 0:00 /usr/bin/mbimd 1080 root 0:00 -sh 1081 root 0:00 /usr/bin/time_daemon 1177 root 0:00 [kworker/0:1] 1202 root 0:00 [kworker/u2:1] 1205 root 0:09 [kworker/u2:2] 1206 root 0:02 [kworker/u2:3] 1213 root 0:00 [kworker/u2:4] 1233 root 0:00 ps axuw </pre>