From: Pavel A. on
Yes now it is very clear. It is also clear that without help of the
manufacturer you can't write such a driver (and maybe they can suggest other ways).
Think: you want the modem to be in two different states in the same time.
You can't do this from outside.

Good luck,
--PA


"Olivier" <olb91(a)yahoo.fr> wrote in message news:eqyBuvqbFHA.2212(a)TK2MSFTNGP14.phx.gbl...
> Thanks Maxim, but I'm not sure I understand your answer : a lot of GPRS
> modem manufacturers publish drivers for their products (Siemens,
> Motorola...). I agree there is no need of a driver for GSM modems (they are
> just modems). For GPRS, it's not the same : I'll use the modem to connect
> the Internet (or a private network) using PPP, and in the same time, allows
> the use of SMS or voice calls. That's why I need a driver. The driver allows
> the modem to be used in "multiplex mode" : it creates 2 virtual ports, one
> is or can be connected to the GPRS network, via a RAS as an example, the
> other port is used to send AT commands, to read ad/or send SMS.
> I exactly need such a driver, or ideas to write it. Hope my question is
> clear enough.
> Thanks to anyone who could help.
> Olivier
>
> "Maxim S. Shatskih" <maxim(a)storagecraft.com> a ýcrit dans le message de
> news:Op6eCgqbFHA.2996(a)TK2MSFTNGP10.phx.gbl...
> > No drivers for GPRS modems (only INF files). For the software, it is
> just a
> > COM port which can accept the AT initialization strings.
> >
> > --
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > maxim(a)storagecraft.com
> > http://www.storagecraft.com
> >
> > "Olivier" <olb91(a)yahoo.fr> wrote in message
> > news:e$5gXmfbFHA.1392(a)TK2MSFTNGP14.phx.gbl...
> > > Thanks for your answer, fat_boy
> > > You described correctly the problem I have, but as there is no driver
> for
> > > that specific GPRS modem, I only have one com port in the device
> manager,
> > > which is the physical com port. In fact, your answer gave me this idea :
> is
> > > there a standard GPRS device driver which will add 2 UARTs / ports where
> I
> > > only have one physical port ? I'll have a look to that point and I'll
> let
> > > you know.
> > >
> > > Many thanks,
> > > Olivier
> > >
> > > "fat_boy" <m.sykes(a)option.com> a ýcrit dans le message de
> > > news:1118401058.996536.268660(a)o13g2000cwo.googlegroups.com...
> > > > Hi, Sounds like you have hardware that has standard UART(S) so the
> > > > system drivers can run the card as a modem with the system suupplied
> > > > drivers.
> > > >
> > > > You can do AT commands to get SMSs via the modem port but, as you say,
> > > > once dial up networking (ras) gets the modem into data mode (does PPP
> > > > rather than AT), AT commands are either ignored, or kick the card out
> > > > of data mode.
> > > >
> > > > However, you might have more than one UART/ Port on the card. Check
> in
> > > > device manager with 'view devices by connection' set and see what you
> > > > have. If you see another COM port alongside the modem port hanging off
> > > > the card, try to open that in hyperterminal and send AT commands to
> it.
> > > >
> > >
> > >
> >
> >
>
>




From: Olivier on
Thanks Pavel, but I think it's possible. Let's explain how it could probably
work :
1. It 's possible to send AT command to a modem, even while it's connected,
using escape sequence, following by the AT command. I mean it's clearly
possible to send or read SMS while the modem is connected (all GSM mobiles
do that), and I know how to do it. My problem is that if I connect to the
Internet using Windows RAS functions, Windows does not allow another app
than the RAS dll to write orders to the serial port physically connected to
the modem.
2. Quite all GPRS modems support a "multiplex mode". In this mode, the modem
encapsulate all data on the MODEM-PC serial link with a light protocol
(start key byte, length of the frame, data, checksum). This protocol handles
DATA and AT packets in a different way, the start byte is different. As an
example, the command AT\r\n will be encapsulated 0xAA,0x04,0xE8,AT\r\n,0x42.
A data packet will be sent with a 0xDD prefix, instead of a 0xAA.
3. The multiplexing mode can be forced using the command AT+WMUX.

Here is my idea : Suppose my modem is connected to COM1. I should write a
service which will open COM1 and force multiplex mode. This service also
permanently read incoming data and is able to write data from/on COM1. then
I write 2 virtual com port drivers (ie COM10 & COM11). I think it's possible
to send DATA packets to COM10 and AT packets to COM11.

If anyone have a better idea ...
Thanks again
Olivier

"Pavel A." <pavel_a(a)NOwritemeNO.com> a ýcrit dans le message de
news:uJ9GHAsbFHA.1040(a)TK2MSFTNGP10.phx.gbl...
> Yes now it is very clear. It is also clear that without help of the
> manufacturer you can't write such a driver (and maybe they can suggest
other ways).
> Think: you want the modem to be in two different states in the same time.
> You can't do this from outside.
>
> Good luck,
> --PA
>
>
> "Olivier" <olb91(a)yahoo.fr> wrote in message
news:eqyBuvqbFHA.2212(a)TK2MSFTNGP14.phx.gbl...
> > Thanks Maxim, but I'm not sure I understand your answer : a lot of GPRS
> > modem manufacturers publish drivers for their products (Siemens,
> > Motorola...). I agree there is no need of a driver for GSM modems (they
are
> > just modems). For GPRS, it's not the same : I'll use the modem to
connect
> > the Internet (or a private network) using PPP, and in the same time,
allows
> > the use of SMS or voice calls. That's why I need a driver. The driver
allows
> > the modem to be used in "multiplex mode" : it creates 2 virtual ports,
one
> > is or can be connected to the GPRS network, via a RAS as an example, the
> > other port is used to send AT commands, to read ad/or send SMS.
> > I exactly need such a driver, or ideas to write it. Hope my question is
> > clear enough.
> > Thanks to anyone who could help.
> > Olivier
> >
> > "Maxim S. Shatskih" <maxim(a)storagecraft.com> a ýcrit dans le message de
> > news:Op6eCgqbFHA.2996(a)TK2MSFTNGP10.phx.gbl...
> > > No drivers for GPRS modems (only INF files). For the software, it
is
> > just a
> > > COM port which can accept the AT initialization strings.
> > >
> > > --
> > > Maxim Shatskih, Windows DDK MVP
> > > StorageCraft Corporation
> > > maxim(a)storagecraft.com
> > > http://www.storagecraft.com
> > >
> > > "Olivier" <olb91(a)yahoo.fr> wrote in message
> > > news:e$5gXmfbFHA.1392(a)TK2MSFTNGP14.phx.gbl...
> > > > Thanks for your answer, fat_boy
> > > > You described correctly the problem I have, but as there is no
driver
> > for
> > > > that specific GPRS modem, I only have one com port in the device
> > manager,
> > > > which is the physical com port. In fact, your answer gave me this
idea :
> > is
> > > > there a standard GPRS device driver which will add 2 UARTs / ports
where
> > I
> > > > only have one physical port ? I'll have a look to that point and
I'll
> > let
> > > > you know.
> > > >
> > > > Many thanks,
> > > > Olivier
> > > >
> > > > "fat_boy" <m.sykes(a)option.com> a ýcrit dans le message de
> > > > news:1118401058.996536.268660(a)o13g2000cwo.googlegroups.com...
> > > > > Hi, Sounds like you have hardware that has standard UART(S) so the
> > > > > system drivers can run the card as a modem with the system
suupplied
> > > > > drivers.
> > > > >
> > > > > You can do AT commands to get SMSs via the modem port but, as you
say,
> > > > > once dial up networking (ras) gets the modem into data mode (does
PPP
> > > > > rather than AT), AT commands are either ignored, or kick the card
out
> > > > > of data mode.
> > > > >
> > > > > However, you might have more than one UART/ Port on the card.
Check
> > in
> > > > > device manager with 'view devices by connection' set and see what
you
> > > > > have. If you see another COM port alongside the modem port hanging
off
> > > > > the card, try to open that in hyperterminal and send AT commands
to
> > it.
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
>
>


From: fat_boy on
If the hardware is physically apable of multiplexing AT and PPP data
then you are right in that your problem is really windows dial up
networking not allowing another app to get to the port.

What you will need is a multiplexing device driver which creates two
virtual com ports. One for DUN (RAS) and one for your SMS app.

Or, you can write an NDIS driver that runs PPP directly and makes the
port look like an ethernet device to the system, while at the same time
filtering AT SMS data to an IOCTL interface so an app can get hold of
it.

From: Olivier on
Yes, you've got it.
Which solution do you think is the best, I mean easiest to write and most
robust solution ? a NDIS driver, or 2 virtual com ports ?
What do you think if I write a service, which will handle the physical com
port, and send bytes to the relevant virtual com port, PPP data to the RAS
one, and SMS and AT commands to the SMS port ?
Thanks for your support.
Olivier

"fat_boy" <m.sykes(a)option.com> a ýcrit dans le message de
news:1118660593.535725.327360(a)g44g2000cwa.googlegroups.com...
> If the hardware is physically apable of multiplexing AT and PPP data
> then you are right in that your problem is really windows dial up
> networking not allowing another app to get to the port.
>
> What you will need is a multiplexing device driver which creates two
> virtual com ports. One for DUN (RAS) and one for your SMS app.
>
> Or, you can write an NDIS driver that runs PPP directly and makes the
> port look like an ethernet device to the system, while at the same time
> filtering AT SMS data to an IOCTL interface so an app can get hold of
> it.
>


From: Pavel A. on
"Olivier" <olb91(a)yahoo.fr> wrote in message news:#unnNiEcFHA.1152(a)tk2msftngp13.phx.gbl...
> Yes, you've got it.
> Which solution do you think is the best, I mean easiest to write and most
> robust solution ? a NDIS driver, or 2 virtual com ports ?
> What do you think if I write a service, which will handle the physical com
> port, and send bytes to the relevant virtual com port, PPP data to the RAS
> one, and SMS and AT commands to the SMS port ?

Hmm if you don't mind handling PPP and dialing entirely in your usermode program
or service - then yes, additional drivers are not needed.

--PA