3 Pin serial connection for Wavecom GSM Modem
When working with SBC or Single Board Computer for embedded project, we can't have full RS-232 serial with all 9 pin signal compatibility at all times. For instance, while I'm working with TS-7260 board from Technologic Systems, the COM3 serial interface have only 3 pin which is RX, TX and GND. So, in order to make my Wavecom GSM/GPRS/EDGE modem working, I have to create my own cable pinout to connect the 15 pin connector on the Wavecom Modem to the 3 pin RS-232 serial interface on the board.
Before creating the cable, I did some search and find this cable pinout from Wavecom GSM Modem manual.
After struggling with so many testing, probing and research, I found the cable pinout and how I can make the 3 pin serial connection cable. Here is the result:
Problem with Wavecom Fastrack Supreme 20 - GSM/GPRS/EDGE CI.10 Plug & Play
My cable is working great with previous Wavecom Modem (Ref: M1306B). However, we cannot find this type of modem anymore in stock from our supplier. So, they suggest us to use Wavecom Fastrack Supreme 20 and then the weird thing happen.
By default, the Modem is working fine with my computer but somehow didn't work on my SBC. The modem didn't reply to any command I send. I did check the baud rate, cable and pinout. It is exactly the same pinout and the default baudrate is 112500. So, what is going to be wrong here?
After a day of searching, I found that the default setting for DTE-DCE local flow control of this modem is set to 2,2. you can check it by sending this command to your wavecom modem:
* please note that <CR> is just a simbol for carriage return character.
and my modem reply like this:
Here is the setting table for the DTE-DCE local flow control +IFC:
This command is used to control the operation of local flow control between the DTE and DCE.
AT+IFC=<DCE_by_DTE>,<DTE_by_DCE>
*< DCE_by_DTE >
*< DTE_by_DCE >
So, in order to fix it, I connect the modem to my computer and use minicom to send this command to the modem:
then plug it back to the SBC with the 3 pin cable. and it should works like charm again.
Before creating the cable, I did some search and find this cable pinout from Wavecom GSM Modem manual.
Pin Description 1 DCD (Data Carrier Detect) 2 TXD (Transmit Data) 3 Reserved 4 MICROPHONE (+) 5 MICROPHONE (-) 6 RXD (Receive Data) 7 DSR (Data Set Ready) 8 DTR (Data Terminal Ready) 9 GND(Signal Ground) 10 SPEAKER (+) 11 CTS (Clear To Send) 12 RTS (Request To Send) 13 RI (Ring Indicator) 14 RESET 15 SPEAKER (-)and the pinout from TS-7260 Board manual:
5.6 COM3 Header
In the default TS-7260 configuration (OP-2TTLCOM not selected), the COM3 port has RS-232 signal levels, utilizes RTS and CTS signals and is accessible on a 10-pin header labeled COM3:
Table: TS-7260 COM3 Serial Port Header Pin Out NC RTS CTS NC NC |-----|-----|-----|-----|-----| | 6 | 7 | 8 | 9 | 10 | |-----|-----|-----|-----|-----| | 1 | 2 | 3 | 4 | 5 | |-----|-----|-----|-----|-----| NC RXD TXD NC GNDThe COM3 serial port is implemented at address 0x12400000. It has a 5-byte receive FIFO and a 1-byte transmit FIFO. A TS-Kernel serial driver, "tsuart" is available which allows manipulation of this hardware in Linux using the device node /dev/ttyTS0. The 5-byte receive FIFO is enough to prevent buffer overflow at 115200 baud with the Linux driver; however, it is recommended that user designs first utilize using COM1 or COM2 ports with 16-byte FIFOs at these high speeds
After struggling with so many testing, probing and research, I found the cable pinout and how I can make the 3 pin serial connection cable. Here is the result:
Wavecom Modem cable pin-out. [9 Pin connection] 15 pin male connector (to modem) View from Back side (solder point) +-----------------------------------+ | +---------------------+ | _____|___________|___________ | | / | | \ | | / 11 | 12 13 | 14 15 \ | | / 0-+ 0\ 0-+ 0 0 \ | | / +----+ `------------------+ \ | | / | 6 | 7 8 9 10 | \ | | / | 0 | 0 0 0 0 | \ | | | | | | | | | | | | | | | | |1 | 2 | 3 | 4 5 | | | | | | | 0 | 0 | 0 | 0 0 | | | | | | | +-+ | | | | | | | \___|_|___|____|__|_____|____________|____/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ | | | +----+ | | | +--+ | | | +---+ | | | | | | | | | | | | | ___|______|_|____|______|______|___ | | | / | | | | | | \ | | | | | | | | | | | | | | | 0 0 | 0 0 0 | | | | \ 1 2 | 3 4 5 / | | | \ ,----+ ,------------------------+ | | \ 0 0 +-0 0--------------------+ | \ 6 7 | 8 9 / | \________________|_____________/ | | | +-------------------------------+ 9 pin female connector (to mother board) ------------------------------------------------------ Wavecom Modem cable pin-out for 3 wire (RX,TX,GND) 15 pin male connector (to modem) View from Back side (solder point) _____________________________ / \ / 11 12 13 14 15 \ / 0-----0 0 0 0 \ / \ / 6 7 8 9 10 \ / 0 0-----0 0 0 \ | | | | | | | 1 | 2 3 | 4 5 | | | 0--+ 0 0 | 0 0 | | | | | | \_____|________|________|_________________/ | | | |RX |TX |GND | | | +-+ | +----+ | | | | | | __________|______|_____________|___ / | | | \ | | | | | | 0 0 0 0 0 | \ 1 2 3 4 5 / \ / \ 0 0 0 0 / \ 6 7 8 9 / \______________________________/ 9 pin female connector (to mother board)Mind my bad ASCII Art.. heheh Hope you understand it.
Problem with Wavecom Fastrack Supreme 20 - GSM/GPRS/EDGE CI.10 Plug & Play
My cable is working great with previous Wavecom Modem (Ref: M1306B). However, we cannot find this type of modem anymore in stock from our supplier. So, they suggest us to use Wavecom Fastrack Supreme 20 and then the weird thing happen.
By default, the Modem is working fine with my computer but somehow didn't work on my SBC. The modem didn't reply to any command I send. I did check the baud rate, cable and pinout. It is exactly the same pinout and the default baudrate is 112500. So, what is going to be wrong here?
After a day of searching, I found that the default setting for DTE-DCE local flow control of this modem is set to 2,2. you can check it by sending this command to your wavecom modem:
AT+IFC?<CR>
* please note that <CR> is just a simbol for carriage return character.
and my modem reply like this:
AT+IFC=2,2
Here is the setting table for the DTE-DCE local flow control +IFC:
This command is used to control the operation of local flow control between the DTE and DCE.
AT+IFC=<DCE_by_DTE>,<DTE_by_DCE>
*< DCE_by_DTE >
code | description |
---|---|
0 | none |
1 | Xon/Xoff local circuit 103 |
2 | RTS |
3 | Xon/Xoff global on circuit 103 |
*< DTE_by_DCE >
code | description |
---|---|
0 | none |
1 | Xon/Xoff circuit 104 |
2 | CTS |
So, in order to fix it, I connect the modem to my computer and use minicom to send this command to the modem:
AT+IFC=0,0<CR> AT&W<CR>
then plug it back to the SBC with the 3 pin cable. and it should works like charm again.
Comments
AT&W
men, I looked for this for so many hours, I had a similar problem I was sure it had to be a control problem, because my devive RGK didn't get any info from modem, but when I connected the modem to the pc, this would unload all tx buffer.
Very good, and thak you a lot!!
tiago.m.azevedo@gmail.com
is there away to share the modem between two clients ?
Has anybody done this before ?
I don't understand what do you mean by sharing between two client. If you are asking about sharing the internet connection, then it depends on your operating system. In linux, you can use iptables. But if you wanna share the modem, serial connection normally handled by single client. If you know programming, make a program to be the single client and then, you can share the output to multiple clients you like.