Osmocon » History » Revision 8
Revision 7 (Anonymous, 02/19/2016 10:49 PM) → Revision 8/29 (Anonymous, 02/19/2016 10:49 PM)
[[PageOutline]] = osmocon = Osmocon is a console tool for our baseband implementation. It is used to Using osmocon on your (Linux) PC, you can * download a firmware or bootloader arbitrary object code (such as the osomcomBB apps) into your Compal-made Calypso-based phone, using the phone over the serial interface, which is currently implemented for the CompalE88 and the CompalE99. After uploading a firmware, it turns into an protocol described at [wiki:CompalRamloader] * establish HDLC mux/demux, allowing multichannel communication multiplexed communications channels with the device. The phones console is software on one such channel and will be redirected to the terminal on which osmocom runs. Several other HDLC channels are accessible by means of the following unix domain sockets: phone * /tmp/osmocom_l2 is the socket for the [wiki:L1A_L23_Interface] * /tmp/osmocon_loader for the [wiki:Bootloader] terminal itself acts as sercomm console to read text messages generated by the phone == Usage == * Connect your Compal phone to a serial port of your PC, using a [wiki:CalypsoSerialCable] (3.3V RS232 on 2.5mm headphone jack) * Start the osmocon program like this {{{ $ ./osmocon -m c123xor -p /dev/ttyUSB0 /path/to/your/object_code.bin }}} * Push the power-on button of your phone (short push, not like a regular phone boot!) * Observe the following output: {{{ got 1 bytes from modem, data looks like: 04 got 1 bytes from modem, data looks like: 81 got 1 bytes from modem, data looks like: 1b got 1 bytes from modem, data looks like: f6 got 1 bytes from modem, data looks like: 02 got 1 bytes from modem, data looks like: 00 got 1 bytes from modem, data looks like: 41 got 1 bytes from modem, data looks like: 01 got 1 bytes from modem, data looks like: 40 Received PROMPT1 from phone, responding with CMD got 1 bytes from modem, data looks like: 1b got 1 bytes from modem, data looks like: f6 got 1 bytes from modem, data looks like: 02 got 1 bytes from modem, data looks like: 00 got 1 bytes from modem, data looks like: 41 got 1 bytes from modem, data looks like: 02 got 1 bytes from modem, data looks like: 43 Received PROMPT2 from phone, starting download got 1 bytes from modem, data looks like: 1b got 1 bytes from modem, data looks like: f6 got 1 bytes from modem, data looks like: 02 got 1 bytes from modem, data looks like: 00 got 1 bytes from modem, data looks like: 41 got 1 bytes from modem, data looks like: 03 got 1 bytes from modem, data looks like: 42 Received DOWNLOAD ACK from phone, your code is running now! }}} * Observe further output of the serial port generated by the code you have downloaded {{{ Hello World from C program code ====================================================================== Device ID code: B4FB Device Version code: 0000 ARM ID code: FFF3 cDSP ID code: 0128 Die ID code: 6397191EFA039BE7 ====================================================================== REG_DPLL=2002 CNTL_ARM_CLK=F081 CNTL_CLK=FF51 CNTL_RST=FFF7 CNTL_ARM_DIV=FFF9 ====================================================================== REG_DPLL=2193 CNTL_ARM_CLK=F081 CNTL_CLK=FF51 CNTL_RST=FFF7 CNTL_ARM_DIV=FFF9 ====================================================================== Releasing DSP from Reset Loading initial DSP bootcode Releasing DSP from Reset Setting some api_ndb values Setting API NDB parameters DSP Download Status: 0001 DSP API Version: 0DC4 6308 Finishing download phase DSP Download Status: 0002 DSP API Version: 3606 0000 }}} == Known Problems == For some USB-Serial converters (most notably FTDI based cables), you might need the {{{-m c123}}} mode, not the {{{-m c123xor}}} mode.