Re: Modem connection help : Multi-Tech MTCBA-G-EN-F4
Andreas Fink <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Tony, Try CVS version and apply this patch. This adds telnet support besides rawtcp. I also added support for login/password prompts scanning as the Multi- Tech asks for Username / Password at login (and Cisco's do as well usually). in the config put this: group = modems id = wavecom name = Wavecom detect-string = "WAVECOM" group = smsc smsc = at smsc-id = "mymodem" modemtype = wavecom speed = 19200 device = telnet port = 5000 host = 1.2.3.4 keepalive = 240 smsc-username = xxxx smsc-password = xxxx I tested with Multitech Firmware Release 1.19. If it works fine with you and others, I will commit it tomorrow after having it tested with a cisco router as well. On 24.06.2008, at 01:02, Andreas Fink wrote: > Tony, > > I looked a little bit deeper into your issue with Multi-Tech MTCBA-G- > EN-F4 modem. > I actually have such a device now on my desk as I found it rather > neat to have it on ethernet. Saves a computer and USB to serial for > my test modem banks. > > There are two things to be changed for it to work with Kannel: > > a) after connecting a tcp session, a telnet handshake has to be done > (that part i find rather strange). So some exchange of escape > sequences has to be done. > b) after that exchange, the user is prompted with Login: and > Password: before he gets access to the AT commands. > > tcp connections are supported in kannel (device=rawtcp, host=... > port=...) but above stops your device from working. > I'll see that I can make a patch for this device by extending kannel > to support smsc-username/smsc-password on at-commands to log in as > well as to add the telnet handshake. > > On 19.06.2008, at 00:08, Tony Kirkham wrote: > >> I have not been able to make any headway on this. If anyone has >> any ideas, that would help, I would greatly appreciate it. >> >> Thanks, >> >> -Tony >> >> On Sat, Jun 7, 2008 at 1:27 PM, Tony Kirkham >> <[email protected]> wrote: >> Hi, guys, >> >> I'm back with more questions. I am still trying to get kannel to >> talk to a Multi-Tech MTCBA-G-EN-F4 modem that connects via an >> ethernet port. >> >> If you have good knowledge of the smsc_at driver code I could >> really use your help. >> >> I have been hacking away at the smsc_at.c code and have wrapped the >> code to detect the modem speed in an >> if ( privdata->is_serial ) { ... } >> statement so that this won't be attempted because, apparently, you >> cannot detect this modems speed. >> >> I thought this would solve my problem but, alas, it did not. I >> have now worked my way down into the at2_read_buffer() call and I >> think that this is where the problem is occurring. I have placed a >> few DEBUG log file writes in locations to show what is happening. >> I am completely new to communicating to modems and via raw tcp so I >> do not know what should be expected. However, I don't think the >> at2_read_buffer() call is getting anything. Below, is a reduced >> log file for the at device containing what is written from a >> startup - shutdown cycle of bearerbox. >> >> The biggest indicators that I see are that privdata->lib = strange >> characters and at2_read_line() never finds an end-of-line >> character. The at2_read_buffer() call only executes a read the >> first time for the first AT command. After that it seems like the >> state of something is stuck because the select() call only returns >> 0 causing the at2_read_buffer() call to return NULL before the >> read() is attempted. >> >> If anyone has some insight into this I would greatly appreciate >> it. I am using the code in the source download. I have not pulled >> anything from the cvs repository. >> >> Thank you very much, >> >> -Tony >> >> log file >> >> 1 2008-06-07 12:51:06 [15527] [6] INFO: AT2[vzn00]: opening >> device >> 2 2008-06-07 12:51:06 [15527] [6] DEBUG: AT2[vzn00]: device >> opened >> 3 2008-06-07 12:51:06 [15527] [6] INFO: AT2[vzn00]: init device >> 4 2008-06-07 12:51:06 [15527] [6] DEBUG: AT2[vzn00]: --> ATZ^M >> 5 2008-06-07 12:51:06 [15527] [6] DEBUG: AT2[vzn00]: --> >> ATZ^M -response: 4 >> 6 2008-06-07 12:51:06 [15527] [6] DEBUG: in >> at2_wait_modem_command: before while cur_time <= end_time >> 7 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 1 >> 8 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_buffer: >> before read, ret: 1 >> 9 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_buffer: >> after read, s: 12 >> 10 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 11 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> 12 2008-06-07 12:51:06 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 0 >> 13 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 14 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> ... 1000's of repetitions of the above 3 lines ... >> 15 2008-06-07 12:51:10 [15527] [6] DEBUG: in >> at2_wait_modem_command: Out of loop: cur_time: 1212864670, >> end_time: 1212864669 >> 16 2008-06-07 12:51:10 [15527] [6] ERROR: AT2[vzn00]: Wrong or >> no answer to ATZ, ignoring >> 17 2008-06-07 12:51:10 [15527] [6] DEBUG: AT2[vzn00]: --> AT^M >> 18 2008-06-07 12:51:10 [15527] [6] DEBUG: AT2[vzn00]: --> AT^M >> -response: 3 >> 19 2008-06-07 12:51:10 [15527] [6] DEBUG: in >> at2_wait_modem_command: before while cur_time <= end_time >> 20 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 0 >> 21 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 22 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> ... 1000's of repetitions ... >> 23 2008-06-07 12:51:10 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 0 >> 24 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 25 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> 26 2008-06-07 12:51:14 [15527] [6] DEBUG: in >> at2_wait_modem_command: Out of loop: cur_time: 1212864674, >> end_time: 1212864673 >> 27 2008-06-07 12:51:14 [15527] [6] ERROR: AT2[vzn00]: Wrong or >> no answer to AT. Trying again >> 28 2008-06-07 12:51:14 [15527] [6] DEBUG: AT2[vzn00]: --> AT^M >> 29 2008-06-07 12:51:14 [15527] [6] DEBUG: AT2[vzn00]: --> AT^M >> -response: 3 >> 30 2008-06-07 12:51:14 [15527] [6] DEBUG: in >> at2_wait_modem_command: before while cur_time <= end_time >> 31 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 0 >> 32 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 33 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> ... 1000's of repetitions ... >> 34 2008-06-07 12:51:14 [15527] [6] DEBUG: in at2_read_buffer: >> after select, ret: 0 >> 35 2008-06-07 12:51:18 [15527] [6] DEBUG: in at2_read_line >> with gt_flag=0, gtloc=-1, lib=ÿý^Xÿý ÿý#ÿý' >> 36 2008-06-07 12:51:18 [15527] [6] DEBUG: in at2_read_line if >> eol == -1 will return NULL eol: -1 >> 37 2008-06-07 12:51:18 [15527] [6] DEBUG: in >> at2_wait_modem_command: Out of loop: cur_time: 1212864678, >> end_time: 1212864677 >> 38 2008-06-07 12:51:18 [15527] [6] ERROR: AT2[vzn00]: Second >> attempt to send AT failed >> 39 2008-06-07 12:51:18 [15527] [6] ERROR: AT2[vzn00]: Opening >> failed. Terminating >> 40 2008-06-07 12:51:18 [15527] [6] INFO: AT2[vzn00]: closing >> device >> 41 2008-06-07 12:51:18 [15527] [6] INFO: AT2[vzn00]: closing >> device >> 42 2008-06-07 12:51:18 [15527] [6] DEBUG: Thread 6 (gw/smsc/ >> smsc_at.c:at2_device_thread) terminates. >> >> >> >