"Coenraad Loubser" <(E-Mail Removed)> wrote in message
news:cs5c2v$l7h$(E-Mail Removed)...
> Shit man. TCP-IP is really straightforward! Just code a little wrapper
that
> wraps your raw data in ip packets.
>
> Otherwise, why don't you just change the culinux code so that if it doenst
> get a tcp header, it just feeds the incoming data through?
>
> Where you dialling in from on the PC - just a plain terminal program?
Modifying the uClinux code, is something I prefer not to do. In this case it
means changing the PPPD sources (I suppose). Because the device running
uClinux is just a box with 2 serial interfaces (for the PLC and a modem) and
a power cable. Also it is not possible for the user to access the device.
There are no shells or whatsoever. It is just a device with a very small
linux kernel (2.4), pppd and a tcp-serial wrapper for the PDA. If I change
the sources of PPPD, it means that there is another point of failure between
the PDA and the PLC. Because of the setup of uClinux at this moment,
everything must work guaranteed for 100%, or, IF something goes wrong,
removing power and reconnecting power MUST ben enough to make the system
work again.
Not receiving a TCP header does not always mean a PC is dialing in.
Unfortunately, when network coverage of the GSM network used to dial in from
a PDA, is low (which is something that happens reguarly unfortunately), it
happens that packets send from the PDA do not reach the other side of the
line.
Changing the application used to control the PLC from a PC has my favour.
Now the application uses plain serial communication to communicate with the
PLC and has a graphical interface for presenting the data to the user. But,
changing this app. so it supports TCP/IP when connecting over a modem via
the uClinux device (one can also use this app. for connecting to the PLC
directly, in that case, a modem is connected directly to the PLC and the PLC
handles the serial connection), is something that is not possible in an easy
way because there are many versions of this app for the different
types/versions of PLC. The PDA application works with all types/versions
because it only provides access to basic functions available in all
types/versions. So, that means a lot of work. And, beside that, there are
more than 3000 customers using this app worldwide. All of them than have to
upgrade if they want to use the PDA solution.
Therefore the idea I had is let the chat script responsible for accepting
any incomming call on the uClinux device detect what kind of connection it
is, and depending on that, forward the call to PPPD or just forward the
incomming data to the PLC. But than, how do I detect if the line is dropped
when a connection not using TCP/IP is dropped so the chat script can be
restarted?
I also searched for something that reads the caller-id of an incomming
connection. Depending on that (mobile phone number -> PDA, other number ->
PC), handle the connection via TCP/IP or not. The problem with this is that
not every country supports caller-id and the system is different in many
countries, so I dont know if there is a generic way of handling this which
is necessary because of the international use of this device/applications. I
did not find anything about this, or, options to use this.
Kind regards,
Dyngeman Vijverberg
|