The current version of the smsc_at code uses a rather brute force approach to opening and using the serial port in that it basically tries for a finite amount of times to open the interface, and then if this fails it does a number of retries. What this means is that if the modem crashes, the serial port gets unplugged or various other scenarios happen then the whole thing locks up and we hit problems.
 
The modifications we made to it recently (yet to be merged into CVS) apply a little bit more intelligence by having various levels of drop back on failure, however these are still based around the 'it will work at somepoint' mind-set rather than the 'expect the worst' (see earlier posts from me to get a copy of the patches if you want a look).
 
Ideally the whole of the smsc_at module could do with a good overhall to make it asyncronous and to learn from the behaviour patterns that everyone in this group has worked out (as well as to make it upgraded to the new smsc code style). Best plan would be to put a team together to work on this part of the code and it's architecture - I suggest Nick Clarey, myself, yourself, any other volunteers - and then we can ideally produce a fully working at smsc gateway (*smslink and all the others in the market that I have found have various other limitations so it would do everyone a favour to do this).
 
Let me know what everyone thinks.
 
Alex
skywire.co.uk
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Alexei Pashkovsky
Sent: Thursday, July 05, 2001 6:39 PM
To: [EMAIL PROTECTED]
Subject: smsc_at question

Hi all,
I have a serious sync problem in sema interface.
After looking into AT module, which also uses serial connection, I found they are identical in the port reading/writing scheme.
The question is, if Kannel reads data from serial port (receiving message from AT module) and there's an outgoing message to be sent, and kannel tries to write to port same time, who is supposed to synchronize read/write operations ?
I am not sure, but I think I already saw AT module failing to send messages because of this.
As another example of serial device connection, I have the Gnokii soure, and as far as I could see from it, gnokii initializes the serial interface as Async, thus, solving this problem, but to do so, many other changes in AT module required..
Am I the only one who got this kind of problem ?
Thanks.
 
P.S.
to test this "feature" try sending 10 messages from your AT module (siemens/nokia/wavecom) to itself with no delay.
 

Reply via email to