lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [lwip-users] Porting the lwip TCP/IP/PPP stack, commercial m2m


From: Wagner Hans-Jörg
Subject: AW: [lwip-users] Porting the lwip TCP/IP/PPP stack, commercial m2m
Date: Fri, 16 Feb 2007 12:37:10 +0100

Hi Clive

Thank you for your help. Are there tools like Ethereal to trace the PPP 
establish procedure, just in case, because first trials often need debugging.

Your hint for commercial m2m. I investigated a little bit. In Europe the most 
established service is from SAGEM Dr.Neuhaus. To be able to communicate 
directly with the embedded device you need to know its IP address. 
Unfortunately GSM providers hide this ip behind firewalls and proxys.
Thats where the proprietary protocol of SAGEM helps. It encapsulates the IP 
address in an upper layer protocol. Therefore a tiny switching center server 
knows the devices IP address and can act as a router between the client 
application which is also from SAGEM.

The problem is, this switching center costs around 3500Euro for 100 ports (each 
device must have a port) and then some additional 25Euros per port above 100 
ports. There are providers running this switching center and you can rent ports 
for a monthliy fee.

But the most blocking factor for us. We dont need to transfer data so 
frequently. For this GPRS solution you need some sort of GPRS modem, which you 
mentioned must be programmable with your application (in this case with the 
SAGEM protocol).
But we want a very cheap m2m solution. As most people have a bluetooth enabled 
phone today and our embedded device already has a OEM bluetooth module, we want 
to dial up through the phone with an ordinary (unfortunately more expensive) 
CSD data call.

Or did you thought of other cheaper commercial m2m solutions. Any hint is 
welcome?

regards
Hans-Joerg


-----Ursprüngliche Nachricht-----
Von: address@hidden im Auftrag von Clive Wilson
Gesendet: Mi 14.02.2007 20:37
An: Mailing list for lwIP users
Betreff: Re: [lwip-users] Porting the lwip TCP/IP/PPP stack, hints fordebugging 
needed, avoiding pitfalls
 
Hans-Joerg,

Some answers for you - see below.

At 21:24 13/02/2007, you wrote:
>Content-class: urn:content-classes:message
>Content-Type: multipart/alternative;
>         boundary="----_=_NextPart_001_01C74FB5.509E81CB"
>
>Hi
>
>I am a very novice with lwip and porting to embedded system. I'm planning 
>to port the lwip to the OSE delta from ENEA running (4.5.1 quite old 
>version) on a MPC555 as a diploma thesis.
>
>It's for a gsm based dial up connection to a Windows based PPP-server 
>(perhaps client) to have a cheap independent m2m connection with a 
>reliable TCP/IP based error correction retransmission mechanism (we dont 
>want to need our customers IT infrastructure, if it has any because it 
>could be a blocking issue for the customers to buy our support package). 
>Sorry if I lack some theoretical basics. I know a little bit TCP/IP but 
>not PPP.

Sorry if this is a little off topic, but have you considered a commercial 
m2m service? The embedded side would be a self-contained module that you 
can program with your application code. The module has an API for GPRS 
connections and data transfer through the service providers' gateway. Your 
client uses an access protocol (e.g SOAP over http interface or similar) to 
retrieve the data from the service provider. That way there is minimal 
infrastructure expense for you or your client (only initial hardware costs, 
a little development cost, then ongoing data costs per use). If you would 
like to know more, I'll gladly elaborate.

>At the moment the requirements are not already clear, if the the 
>connection will be established from the embedded system side or from the 
>windows PC side. Would the lwIP stack provide both capabilities to 
>initiate a PPP link (this would be in the role as client I guess) or to 
>accept a PPP connection from the PC (in the role as a server I guess).
>I browsed shortly through the lwip sources. I found some client state 
>definitions in the chap & pap modules as well as some server state 
>definitions. However I only found a pppInput call in the PPP state machine 
>of ppp.c. I'm wondering if lwip can only act as a PPP server, or am I wrong.

PPP does not really make the distinction between client and server. Both 
sides negotiate the link, therefore they could more accurately be 
considered to be peers of one another. Both peers have the option to reject 
certain PPP configurations, and have "don't cares" about others. It is up 
to the higher layers to determine whether the node should be considered to 
be client or server. Having said that, if you're connecting to a Windows 
server, then it is up to the remote peer to initiate the connection with a 
specific (and unhelpfully non-standard) data sequence, before the Win 
server will start negotiating the PPP link. This is all covered in the book 
I mention below.

>BTW do you know a good PPP tutorial (not RFC like style) with detailed 
>explanations of the link establish phases with the PPP control headers 
>used. perhaps in a diagram style (some sort of request response arrows 
>from left to right and right to left).

I found this book to be very helpful 
http://www.amazon.co.uk/exec/obidos/ASIN/0201700530/ the author James 
Carlson is a noted guru in this subject. The book explains the process of 
bringing up the PPP link very well, including walkthroughs of the state 
machines involved.

>Are the roles of TCP server and client completely independent of the roles 
>of PPP server and client on the underlying layer. E.g. the device 
>initiated a PPP connection as a client starts now a TCP server for 
>accepting. Would that be possible?

See above response.

>Is there the possibility to establish a PPP connection between the 
>embedded device and the PC without using a modem dial up, just with a 
>direct cable connection to make first trials and debuggings?

Yes, absolutely. This is precisely what I did when I implemented a dial-up 
LwIP PPP connection to a Win2k server.

>Can I start a PPP client or server on a w2k or xp platform without 
>configuring this dial-up or ras things? Are there tutorials to do this?

You have to go through the RAS setup if using a Windows server. Also beware 
that LwIP only supports PAP or CHAP authentication. PAP isn't secure. CHAP 
is better - but the flavour of CHAP Microsoft prefer to support is MS-CHAP, 
very different to MD5-CHAP that LwIP supports. Win2k server will support 
MD5-CHAP connections (this is what I used), but is awkward to set up. 
Microsoft have a KB article on this, I can give you a pointer if required.


>I already did some socket programming in JDK1.5 for windows. As soon as 
>there is a PPP link do both sides have a IP address for the com port? Do I 
>have to configure it for the PC if it acts as a server (how)? Can I use 
>the socket programming in Java on the PC for this PPP connection as I 
>would do it for an ethernet connection?

IP address is negotiated during the IPCP phase. So yes, you get an IP 
address for both ends by the end of the PPP link startup. I don't know 
about the rest of what you mention as I've not had much Java experience.

>Sorry for the basic questions. But as the time is limited, I cannot 
>investigate in every details and I therefore need some starting point.

No worries, everyone has to learn somehow.

Hope this helps,

Clive Wilson





_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users

<<winmail.dat>>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]