Re: [lwip-users] Networking device discovery protocols

2015-06-16 Thread Markus Klein

Hallo,



you dont need to implement the complete UPnP protocol. If the only functionality you need is, that Windows finds the device, you are fine with implementing SSDP. SSDP is the discovery protocol of UPnP. SSDP is a HTTP based Protocol and very easy to implement. In addition you need a webserver, or a webserver functionality where windows can get a XML-File via HTTP.



Take also a look at the Developer-Tools for UPnP. They have a generator for an UPnP Stack.



http://opentools.homeip.net/dev-tools-for-upnp



Regards



Gesendet:Dienstag, 16. Juni 2015 um 12:00 Uhr
Von:Adam Fullerton ardw...@gmail.com
An:Mailing list for lwIP users lwip-users@nongnu.org
Betreff:Re: [lwip-users] Networking device discovery protocols

Hi,

I had a problem with the Sierra Wireless modem where transport on port
80 worked OK for http GET but for some reason POST would fail. I spent a
long time looking at the problem but the Sierra Wireless technical
support was about as useful as a chocolate fire guard. So I ran away
from the problem by moving the web-server to any other port than 80
where it works OK.

The instrument has a multi-cast debugging socket and I have a simple PC
application which provides a command line console so I can resolve the
instruments IP address. However I feel that this is too complex for the
users. The only comment I would make about lwIP and IGMP was that
enabling the protocol was simple but I missed setting the
NETIF_FLAG_IGMP flag in the network interface!

It looks like Windows is using UPnP to discover the DSL router. However
UPnP looks to be quite a big protocol. Does anyone else use this for
device discovery?

Thank you for your reply - it was very helpful!

Adam.

On 16/06/2015 09:55, Noam Weissman wrote:
 Hi,

 First of all they do not need to type port number as default is 80 for
 HTTP, unless you use
 a private port at your WEB server.

 As for discovery it depends what you want to achieve. If it is only and
 always local network
 you can run a simple UDP server that listens on a specific port for a
 special packet
 (you need to define that).

 Once you defined the protocol and have the server part running at your
 embedded side,
 you should run some application (PC app etc...) that sends a discovery
 request. This discovery
 message is the define packet sent via broadcast to your embedded. The
 embedded side will
 receive this packet and response to the client with any data you may
 need.

 If the device is behind a router or on a company network broadcast is
 not sufficient as broadcast
 Will work only on the subnet. In that case you will need to send a
 multicast message.

 If you multicast a message you will have to enable the IGMP module in
 your lwipopts.h, add
 The IGMP module and in your UDP listening server you will have to join
 the multicast group.

 Some discovery protocols are bonjour defined by Apple, SDDP defined by
 Control4 and others.

 Read some info on the above and if you need more information ask and
 Ill try to answer.


 BR,
 Noam.


 -Original Message-
 From:lwip-users-bounces+noam=silrd@nongnu.org
 [mailto:lwip-users-bounces+noam=silrd@nongnu.org] On Behalf Of Adam
 Fullerton
 Sent: Tuesday, June 16, 2015 11:38 AM
 To:lwip-users@nongnu.org
 Subject: [lwip-users] Networking device discovery protocols

 Hi,

 Im using lwIP V1.4.1 in a low power remote monitoring project. Off site
 connection is made via a Sierra wireless AirLink GX400 modem. For on
 site maintenance connection is made with direct connection to
 instrument. In this scenario there is a DHCP server which gives the
 clients IP addresses. I would prefer it if they did not have to type in
 the V4 IP address and port number into the web browser. If I use the
 windows explorer to look at my computer network I can see the DSL modem
 and double clicking the icon opens a web browser on the management site.
 Can any one tell me what protocols I need to implement to achieve this
 and are there any samples of this for lwIP?

 Thank you for your help,

 Adam.


 ___
 lwip-users mailing list
 lwip-users@nongnu.org
 https://lists.nongnu.org/mailman/listinfo/lwip-users



 
 
 This footnote confirms that this email message has been scanned by
 PineApp Mail-SeCure for the presence of malicious code, vandals 
 computer viruses.
 
 






 
 This footnote confirms that this email message has been scanned by
 PineApp Mail-SeCure for the presence of malicious code, vandals  computer viruses.
 




 ___
 lwip-users mailing list
 lwip-users@nongnu.org
 

Re: [lwip-users] Closing tcp-Connection

2014-10-17 Thread Markus Klein

Hello,



Thank you for your feedback, Sergio.



Yes Im using the RAW-API but Im not calling tcp_tmr() or sys_check_timeouts(). As Im using a simple OS Im calling tcpip_thread () inside of a task. Am I correct that you use tcp_tmr () on Baremetal and tcpip_thread () when an OS is used?



What is working so far are the basic protocols like Auto-IP/DNS/DHCP. Also a Webserver, Telnet and iPerf-Server runs without problems. The iPerf-Client works also good until I try to close the connection.

By the way the speed results with IPerf are really good and it runs stable.



The iPerf-Client is the only thing I tried which uses an active TCP-connection, all others are passive (listen-Sockets).

I will do some more tests, maybe a simple thing link ping.



Thanks and Regards



Markus



Gesendet:Freitag, 17. Oktober 2014 um 14:29 Uhr
Von:Sergio R. Caprile scapr...@gmail.com
An:lwip-users@nongnu.org
Betreff:Re: [lwip-users] Closing tcp-Connection

 Any hint what I could do to close the connection?

I will assume that you are using the raw API, and that you have already
checked that the port is working good by running known to work TCP
examples on the contrib tree.
I will assume that you did read the wiki and are following its guidance
http://lwip.wikia.com/wiki/Raw/TCP
I will also assume that you checked the code in the contrib tree.
So no, it should work.
But, if you didnt go to any of these steps, please do.
The only thing that comes to my mind is that you are not calling the
tcp_tmr() function, make sure you have a call to sys_check_timeouts() in
your main loop.

If any of my assumptions is wrong, please come back with the missing data.



___
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users




___
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users