Project

General

Profile

Huawei ME906 » History » Version 9

laforge, 01/14/2017 01:39 PM

1 1 laforge
h1. Huawei ME906v
2
3
The Huawei ME906v is yet another MDM9x15 based cellular modem that uses Linux on its Cortex-A5 processor, based on [[Qualcomm_Linux]] (LE).
4 2 laforge
5
h2. USB configuration
6
7
The ME906v has different USB configurations:
8
9
h3. Configuration 1
10
11
|Interface|Name|Description|
12
|0|Huawei Mobile Connect - Modem|AT Commands|
13
|1|Huawei Mobile Connect - Application|DIAG|
14
|2|Huawei Mobile Connect - Pcui||
15
|3|HUAWEI Mobile Connect - Network Card|qmi-wwan|
16
|4|Huawei Mobile Connect - Gps||
17
|5|Huawei Mobile Connect - Serial B||
18
19
h3. Configuration 2
20
21
|Interface|Name|Description|
22
|0|CDC Ethernet Control Model (ECM)||
23
|1|CDC Ethernet Data||
24
|2|Huawei Mobile Connect - Modem||
25
|3|HUAWEI Mobile Connect - Application||
26
|4|HUAWEI Mobile Connect - Pcui||
27
|5|Huawei Mobile Connect - Gps||
28
|6|Huawei Mobile Connect - Serial B||
29
30
h3. Configuration 3
31
32
|Interface|Name|Description|
33
|0|HUAWEI Mobile Connect - Network Card||
34 1 laforge
|2|Huawei Mobile Connect - Gps||
35 4 laforge
36
h3. Initialization on Linux side:
37
38
from /usr/bin/usb/ (combining multipel scripts, expanding variables)
39
40
<pre>
41
echo "hsusb" > /sys/devices/platform/usb_bam/enable
42
echo 0 > /sys/class/android_usb/android0/enable
43
echo 0x1573 > /sys/class/android_usb/android0/idProduct
44
echo 0x12D1 > /sys/class/android_usb/android0/idVendor
45
echo diag > /sys/class/android_usb/android0/f_diag/clients
46
echo smd,tty > /sys/class/android_usb/android0/f_serial/transports
47
echo SMD,BAM2BAM > /sys/class/android_usb/android0/f_rmnet/transports
48
echo "pcui,diag,modem,ccid,rmnet,gps:usb_mbim,gps" > /sys/class/android_usb/android0/functions
49
echo 0 > /sys/class/android_usb/android0/mbim_name
50
echo 0 > /sys/module/restart/parameters/download_mode
51
echo 1 > /sys/class/android_usb/android0/remote_wakeup
52
echo 1 > /sys/class/android_usb/android0/enable
53
</pre>
54 2 laforge
55
h2. AT Command interface
56
57
Unless otherwise noted, this was done using a modem with the following firmware version:
58
59
<pre>
60
ATI
61
Manufacturer: Huawei Technologies Co., Ltd.
62
Model: ME906V
63
Revision: 11.234.44.03.00
64
</pre>
65
66 3 laforge
<pre>
67
root@9615-cdp:/# cat /build.prop 
68
ro.build.version.release=AU_LINUX_BASE_KIWI_TARGET_ALL.03.00.032
69
</pre>
70
71 2 laforge
h3. Interesting non-standard commands
72
73
The following commands appear to be non-standard and implemented in the device:
74
75
<pre>
76
+ES
77
+ESA
78
+CMOD
79
+CEMODE
80
+CVHU
81
+CECALL
82
+HUAWEI
83
^TBAT
84
^TCHRENABLE
85
^TCHRINFO
86
^APBATLVL
87
^SETMODE
88
$QCSIMSTAT
89
$QCPBMPREF
90
$CREG
91
$CCLK
92
$QCCNMI
93
*CNTI
94
$QCCLR
95
$QCDMR
96
$QCDNSP
97
$QCDNSS
98
$QCTER
99
$QCSLOT
100
$QCSIMAPP
101
$QCPINSTAT
102
$QCPDPP
103
$QCPDPLT
104
$QCPWRDN
105
$QCDGEN
106
$QCPDPCFGE
107
$BREW
108
$QCANTE
109
$QCRPW
110
$QCSQ
111
$CSQ
112
$QCSYSMODE
113
$QCCTM
114
$QCBANDPREF
115
^DSCI
116
$QCVOLT
117
$QCHWREV
118
$QCBOOTVER
119
$ECALL
120
$QCDEFPROF
121
$QCMRUE
122
$QCMRUC
123
$QCAPNE
124
$QCPDPIMSCFGE
125
$QCCLAC
126
$QCRMCALL
127
$QCDRX
128
</pre>
129 5 laforge
130 6 laforge
h3. AT commands in atfwd_daemon
131
132
<pre>
133
+HUAWEI
134
^PSTANDBY
135
^TBAT
136
^TCHRENABLE
137
^TCHRINFO
138
^APBATLVL
139
^SETMODE
140
</pre>
141
142 8 laforge
h4. AT^SETMODE
143
144
This can be used to switch between different USB Product IDs. 
145
146
* @AT^SETMODE=0@ is for the normal 1573 product ID
147
* @AT^SETMODE=1@ is for the 157E product ID
148
149
Unfortunately none of the two contain adb by default :(
150 6 laforge
151 5 laforge
h2. Serial Console
152
153
Like all/most MDM9x15 targets, there is an 1.8V serial console available on ttyHSL0.
154
155
TODO: Describe soldering of serial console pads.
156
157
Once you have connected to the serial console, you should be able to observe the boot log like in the attached @bootlog.txt@
158
159
h3. Keeping modem from suspend
160
161
It seems like the Linux system is suspended after very few seconds of inactivity.  To keep it alive, you can write any character to any of the serial devices.  For example, the following one-liner script will work (assuming /dev/ttyUSB5 is one of the AT command ports of the modem):
162
<pre>
163
while [ -f /etc/passwd ]; do echo "AT" > /dev/ttyUSB5; sleep 1; done
164
</pre>
165 7 laforge
166
h2. Linux on Cortex-A5
167
168
h3. processes
169
170
see attached @ps.txt@
171
172
h3. rmnet
173
174
<pre>
175
2: hw_rmnet: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
176
    link/ether 3a:1c:af:e4:29:03 brd ff:ff:ff:ff:ff:ff
177
3: hw_rmnet2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
178
    link/ether 56:f5:0f:cf:4c:cd brd ff:ff:ff:ff:ff:ff
179
4: rmnet0: <> mtu 2000 qdisc noop state DOWN qlen 1000
180
    link/[530] 
181
5: rmnet1: <> mtu 2000 qdisc noop state DOWN qlen 1000
182
    link/[530] 
183
6: rmnet2: <> mtu 2000 qdisc noop state DOWN qlen 1000
184
    link/[530] 
185
7: rmnet3: <> mtu 2000 qdisc noop state DOWN qlen 1000
186
    link/[530] 
187
8: rmnet4: <> mtu 2000 qdisc noop state DOWN qlen 1000
188
    link/[530] 
189
9: rmnet5: <> mtu 2000 qdisc noop state DOWN qlen 1000
190
    link/[530] 
191
10: rmnet6: <> mtu 2000 qdisc noop state DOWN qlen 1000
192
    link/[530] 
193
11: rmnet7: <> mtu 2000 qdisc noop state DOWN qlen 1000
194
    link/[530] 
195
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)