The modem is built on the Hisilicon hi6930 chip (Balong v7r2). This chip has in its composition 2 processor cores ARM7. Each processor core runs on its own operating system.
Core 0, at the start of the modem is turned on, running Android 2.3 (kernel Linux v3.4.5). System environment is a stripped-down version Android - without the Dalvik virtual machine. Linux kernel itself is almost completely corresponds to the standard kernel of Android, but has been compiled propietarnye additional modules developed by Huawei - for example, the processor of AT-commands. Furthermore bootstrapping modem AT command processing in the firmware HILINK-linux-modem part of the network stack and supports the work WEB-server.
Kernel 1 is managed by the VxWorks v6.8 real-time operating system. This OS directly manages the radio module and interacts with the cellular network. VxWorks is launched using a special subsystem built into the Linux kernel.
Thus, in the modem operate simultaneously two operating systems. They can interact with each other via ICC subsystem, transmitting a specially formed data packets from one OS to another. ICC contains the debugging tools, allowing you, if desired, to consider in detail the interaction of VxWorks and Linux. Each operating system is composed of a shell, which allows to communicate and give a command OS. Next I'll show you how to access the command line of the operating system.
The easiest way to access the command line is the Linux part of the modem in HILINK firmware. To do this, it is enough to flash the modified firmware from this topic. This firmware allows access to the Linux shell via telnet and adb.
telnet:
adb:
adb connect 192.168.8.1
adb shell
Access via the Android debugger ADB also allows you to transfer and receive files from the internal file system of the modem.
If you have a modem with stick-firmware, or standard (unmodified) HILINK-firmware, then the above methods will not work. In addition, these methods do not allow access to the VxWorks console. Therefore, we consider a more universal method, originally incorporated into the modem by the manufacturer - the A-shell and C-shell ports. Both of these ports are USB-serial devices that are included in the USB-modem compression mode DebugMode. The first one is the Linux console, the second is the VxWorks console.
First you need to get access to the command AT-port of the modem. In stick firmware, this port is available immediately - this is the very first port (/ dev / ttyUSB0). In standard HILINK firmware, the AT port is not available by default. To open access to this port, you need to flash the modified web interface, and then go to the browser at this address:
[url = "http://192.168.8.1/html/switchDebugMode.html"] http://192.168.8.1/html/switchDebugMode.html [/ url]
This will switch the modem to debug mode - now, in addition to the network interface, 6 serial ports are also available. The very first of them will be the command AT-port. Now you need to enter any terminalka on this port, and enter the following AT commands:
at ^ spword = "password"
at ^ shell = 2
at ^ reset
The password in the ^ spword command is a code calculated according to the usual algorithm of v201, but from an IMEI modem deployed backwards. In the calculator for this there is a button Reverse. After entering the commands, the modem reboots.
For a HILINK modem, you should again switch to debug mode via the WEB interface, as I wrote above. As a result, the modem will have 6 serial ports:
ttyUSB0 - AT Command Port
ttyUSB1 - VxWorks console
ttyUSB2 - Linux dwarf
ttyUSB3
ttyUSB4
ttyUSB5 - DSP log
For a stick-modem, you will have to enter into the list of available ports (using the ^ setport command) two additional ports - with numbers 5 and A, for example:
at ^ setport = "FF; 10,12,16, A2,5, A"
As a result, the modem will have 4 serial ports:
ttyUSB0 - AT port for PPP connections
ttyUSB1 - AT port for NDIS connections
ttyUSB2 - Linux dwarf
ttyUSB3 - VxWorks console
The Linux console port is the primary system console (/ dev / console), for which all kernel system messages are issued. Shell there is installed the Android toolbox by default, which is extremely inconvenient in operation. To make your life easier, enter the command:
after which the shell will become busybox and a normal command line editor will appear.
VxWorks also has 2 shells - C-shell (installed by default) and CMD (set by the cmd command). Which one is more convenient is a matter of taste. In both shells there is a help command, and more detailed information on working with the VxWorks command line can be obtained from this document -
http://read.pudn.com/d...ls_users_guide_6.2.pdfAccess to the modem OS consoles opens up the broadest prospects for a deep study of the modem code and its hidden capabilities. For lovers of poking around in the code, this is just a bonanza. I want to warn all the others - thoughtless input of commands in consoles can lead to negative consequences - from the hangup of the modem to the destruction of important data structures on the flush and the complete loss of performance. Be careful!