detecting modems on USB

Andreas Fink andreas at
Wed Aug 16 11:48:25 CEST 2006

On 16.08.2006, at 11:41, fred wrote:

> perhaps this is not strictly a kannel question...YET!!
> but this is a developers list, and other people writing C code on  
> linux are
> here.
> In case you haven't got it yet, the way kannel modems are currently
> configured,
> by the device name, ie /dev/ttyUSB00 for example....
> now if you have many modems, and you happen to take one out, the  
> usb devices
> re-enumerate themselves.

This depends on the USB modem driver. Some of them might simply  
numerate them, others might not.

> so the modem now that you have may no longer be the GSM for  
> vodafone, for
> example, but telstra....
> kannel restarted and your screwed.......your now sending sms via  
> telstra at
> double the cost!!

This is however not avoidable. Kannel has no way of checking which is  

> this is NOT what you want, because...
> Eg
> ..............
> group = smsc
> smsc = at
> smsc-id = 001
> ...........
> group = sendsms-user
> username = vodafone
> password = bar
> forced-smsc = 001
> so when sending to the vodafone modem, we are forcing the routing  
> to smsc-id
> = 001.
> this is perfectly acceptable with serial com ports and multi-com  
> ports like
> stallion etc,
> because the com ports do not change...unless you physically swap  
> cables.
> but with usb, this is no longer reliable.

Yes but how should kannel know the mapping? This is highly operating  
system and driver specific. There is no way for kannel to know which  
modem has which SIM card in it. And frankly in your case you probably  
have the same modem type multiple times, so there's no way to figure  
out which is which out of the scope of kannel as all will respond  
exactly the same way.

> So I am attempting to come up with a solution where
> group = smsc
> smsc = at
> smsc-id = 001
> modemserial = 10202020 ( or whatever...something that identifies the
> particular sim and/or modem)

thats just the point, there is no such "unique" thing.
The ATI1... ATI9 commands might output something like that on SOME  
modems but then, if you swap sim cards or remove one in the row,  
youre still screwed because kannel would know which one is which but  
has no way to resolve the problem.

What you could maybe do is a script to verify your specific  
configuration before you start kannel. As this is OS and  
configuration specific, this might work for you fine but I dont think  
its  wise to add anything like this to kannel.

More information about the devel mailing list