Project

General

Profile

Serial Cable » History » Revision 28

Revision 27 (unrznbl, 10/11/2018 03:06 PM) → Revision 28/31 (laforge, 12/17/2019 02:52 PM)

The Calypso phones typically all have a serial port @ 3.3V levels on the 2.5mm earphone jack. 

 Those cables are sometimes called _T191 unlock cable_ and come in a variety of fashions, such as 
 * Real RS232 on DB9 
 * with integrated USB serial converter chips 
 ** PL2303 (cheap, only standard baud rates) 
 ** FT232 (expensive, non-standard baud rates, the voltage levels are set with the pin VCCIO that you can measure) 
 ** [[HardwareCP210xTutorial|CP2102]] (medium price, non-standard baud rates) 

 You can either buy ready-made cables, e.g. at: 
 * USB variant 
 ** "gsmliberty.net":http://www.gsmliberty.net/shop/motorola-t191-dataunlock-cable-p-1252.html 
 ** "fonefunshop.co.uk":http://www.fonefunshop.co.uk/datacables/motorola.htm 
 ** "gsmserver":http://gsmserver.com/cables/Smart-Clip_Cable_for_Compal_Chi_Mei_based_phones.php 
 ** "sysmocom shop":http://shop.sysmocom.de/products/cp2102-25 (CP2102 for burst_ind!) 
 ** "sysmocom shop":http://shop.sysmocom.de/products/cable-t191-pl2303 (PL2303) 
 * RS232 variant, you still need a RS232 serail port or separate USB/RS232 adapter 
 ** "cellcorner.com":http://www.cellcorner.com/xshp/unlock-phone-codes/motorola-t190-t191-t193-unlock-data-cable.html 
 * USB/RS232 cable  
 ** "tronisoft.com":http://www.tronisoft.com/cat_usbtoserial.php (FTDI and Prolific cables) 

 Or you can build it yourself (detailed instructions can be found on the net, search for "t191 unlock cable" or the like). 

 * TxD is at the tip of the plug (PC to Device) 
 * RxD is at the middle contact (Device to PC) 
 * GND is the outer contact 


 h2. Hints and Warnings 

 * If you don't use a 3.3V (low voltage TTL, LVCMOS) serial port you can fry your phone! (internally, it connects to the IO-pins of the baseband processor which run at 2.8V). *Don't connect directly to your PCs serial port (running at +/- 12V!).* 
 * If your development system is virtualized (runs inside VMware, Virtualbox, Parallels...) the connections can be unreliable (the loader protocol is timing critical). 
 * Your safest bet is a USB cable with a FTDI chip (FTx232) configured for operation at 3.3V connected to a machine running Linux natively. Prolific chips (PL2303) also work, but are far less reliable. 


 h3. Testing/Debugging the Cable 

 From "this message":http://lists.osmocom.org/pipermail/baseband-devel/2011-August/002421.html are the following two test procedures for the Phone to PC and PC to Phone connections. 

 > When i test my cables i prefer the following test procedure: 
 >  
 > Plug the cable in, use a terminal program (e.g. gtkterm or cu) to  
 > connect at 115200 baud. Press the powerbutton. You should now see  
 > someting like fmttool error and some garbeled chars. This indicates that  
 > the Connection from the Phone to the PC works properly. 
 >  
 > Then unplug the cable, short circuit the last 2 pins on the audio jack  
 > and type some chars. The chars should be echoed on the screen. This  
 > verifies the correct function of the sender (PC to the Phone) 
 >  
 > When these 2 tests are passing properly you can be sure that your cable  
 > is working properly.  

 h3. non-standard higher baud-rates (burst_ind branch) 

 If you want to communicate with the Calypso at baudrates higher than 115200 bps, you'll have to resort to non-standard baudrates.  

 These are not supported by cheap PL2303 based cables and only work with a FTDI or [[HardwareCP210xTutorial|CP210x]] based USB adapter cable. 


 h3. Using [[OsmocomBB]] with a Bus Pirate 

 
 To connect to your phone using a Bus Pirate, you have to put the bp into "Bridge Mode", that is a transparent bridge between whatever you connect to the bp and the serial terminal it provides. 
 Because timing is _very_ critical when working with the phone's boot loader, you have to set the bp in "Bridge Mode with Flow Control". Thus, the code can use exact timing and would not have to wait for serial port timeouts. 
 
 To do so, first disconnect your bus pirate if it already is in bridge mode. 
 Then connect it to your computer and open a serial terminal. 
 At the "HiZ>" prompt, enter the following keys exactly as described: 
         1. m      - 	 to change the mode 
         2. 3      - 	 for UART mode 
         3. 9      - 	 for 115200 bps 
         4. 1      - 	 for 8 bits of data, no parity control 
         5. 1      - 	 for 1 stop bit 
         6. 1      - 	 for Idle 1 receive polarity 
         7. 2      - 	 for Normal output type 
 
 Then you are at the "UART>" prompt. Enter "(0)" to show available macros: 

 UART>(0) 

  0.Macro menu 

  1.Transparent bridge 

  2.Live monitor 

  3.Bridge with flow control 

 
 Now enter "(3)" to enter bridge mode with flow control, confirm your selection with "y" and you're ready to go! 
 
Add picture from clipboard (Maximum size: 48.8 MB)