EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Yet another for Serial to Ethernet!

Started by Ali January 3, 2007
Folks!
          I did try to lookin the archive at first hand but could not
find answers to my questions, so; here I go.

We have a device with Rs232 Interface and it is just fine and
functional. Now we want to provide Ethernet connectivity, we did some
work with RealTek and AtmegaXX but honestly the results are not that
satisfactory after development of over one month. Issues we are facing
are from proper TCP/IP stack to virtual driver for MS Operating
systems, anyhow, finally we have decided to buy  third party solution.

Following are few solution providers that I have came across so far and
all of them do provide more or less the same thing.

http://www.rabbitsemiconductor.com/products/Serial_to_Ethernet_Kit/index.shtml
http://www.tibbo.com/accessories.php#DS100-SK
http://www.netburner.com/products/development_kits/serial_to_ethernet_development.html

http://www.digi.com/products/embeddedsolutions/devkits/digiconnectmewimedevkit.jsp
http://www.gridconnect.com/xportdev.html

Now I've following questions in my mind and yeah I'm not pulling my
hairs though I had already spoiled 2 days while searching and searching
to find the right solution.

0)	We need comparatively cost effective solution. (As humans do!)
1)	Power consumption is not an issue because it is stationary device.
2)	Data rate should be 1 Mbps.
3)	Single serial to single Ethernet is just ok and we don't want
more.
4)	As I believe that when it comes to TCP/IP with legend BSD sockets
then there is no difference but we are ok to initially support the MS
os family.
5)	We need fully customizable solution from baudrate, parity etc. etc.
(I mean setup of serial end, I want minimum 9600 baudrate) to source of
virtual device driver for interacting with operating system (Ethernet
end for TCP/IP etc. etc. supporting asynchronous interface ). But
driver source part is pretty negotiable ;-)
6)	We don't want to pay for intellectual property rights.
7)	I'm thinking togo for rabbitsemiconductor , do you think it is ok?



Thanks for your valuable input.
ali


Nice webpointer to start from scratch ;-)

http://www.iready.org/projects/ser2net/  "how to control a modem
through the S7600 and how to retreave a webpage"

On 2007-01-03, Ali <abdulrazaq@gmail.com> wrote:

> 0) We need comparatively cost effective solution. (As humans do!)
How many units?
> 1) Power consumption is not an issue because it is stationary device. > > 2) Data rate should be 1 Mbps.
You want to run the serial port at 1M baud? With an RS-232 electrical interface?
> 3) Single serial to single Ethernet is just ok and we don't want > more. > > 4) As I believe that when it comes to TCP/IP with legend > BSD sockets then there is no difference
Sorry, I don't know what that means.
> but we are ok to initially support the MS os family. > > 5) We need fully customizable solution from baudrate, > parity etc. etc. (I mean setup of serial end, I want > minimum 9600 baudrate)
Um, you're going to need a baud rate a lot higher than 9600 if you want a 1Mbps data rate.
> to source of virtual device > driver for interacting with operating system (Ethernet > end for TCP/IP etc. etc. supporting asynchronous > interface ). But driver source part is pretty negotiable > ;-)
Unless you need to support legacy apps that expect to use a "COM" port, you'd probably be better off just using a TCP/IP connection to the device rather than hacking about inside a device driver. Windows device drivers are very, very messy.
> 6) We don't want to pay for intellectual property rights. > 7) I'm thinking togo for rabbitsemiconductor , do you think it is ok?
-- Grant Edwards grante Yow! I wonder if I ought at to tell them about my visi.com PREVIOUS LIFE as a COMPLETE STRANGER?
Grant Edwards wrote:
> On 2007-01-03, Ali <abdulrazaq@gmail.com> wrote: > > > 0) We need comparatively cost effective solution. (As humans do!) > > How many units? > > > 1) Power consumption is not an issue because it is stationary device. > > > > 2) Data rate should be 1 Mbps. > > You want to run the serial port at 1M baud? With an RS-232 > electrical interface? > > > 3) Single serial to single Ethernet is just ok and we don't want > > more. > > > > 4) As I believe that when it comes to TCP/IP with legend > > BSD sockets then there is no difference > > Sorry, I don't know what that means. > > > but we are ok to initially support the MS os family. > > > > 5) We need fully customizable solution from baudrate, > > parity etc. etc. (I mean setup of serial end, I want > > minimum 9600 baudrate) > > Um, you're going to need a baud rate a lot higher than 9600 if > you want a 1Mbps data rate. > > > to source of virtual device > > driver for interacting with operating system (Ethernet > > end for TCP/IP etc. etc. supporting asynchronous > > interface ). But driver source part is pretty negotiable > > ;-) > > Unless you need to support legacy apps that expect to use a > "COM" port, you'd probably be better off just using a TCP/IP > connection to the device rather than hacking about inside a > device driver. Windows device drivers are very, very messy. > > > 6) We don't want to pay for intellectual property rights. > > 7) I'm thinking togo for rabbitsemiconductor , do you think it is ok? > > -- > Grant Edwards grante Yow! I wonder if I ought > at to tell them about my > visi.com PREVIOUS LIFE as a COMPLETE > STRANGER?
SNIP: Thanks for prompt response!
> > 0) We need comparatively cost effective solution. (As humans do!) > > How many units?
We are targeting Asia market for our prodict so hope it will be in massive quantity as we have Great China under the hood;-) of Asia. [ l0l ]
> > 2) Data rate should be 1 Mbps. > > You want to run the serial port at 1M baud? With an RS-232 > electrical interface?
Sorry for that! Ofcourse I mean 1 Mbps over Ethernet not rs232.
> > 4) As I believe that when it comes to TCP/IP with legend > > BSD sockets then there is no difference
> Sorry, I don't know what that means.
Well if you look at the implementations of networking (sockets) in *inx world or MS windows then you will hopefully recognize that they are more or les the same except very very few things, especially in initializing part or destroying part( closing the socket). Try to have look at "BSD sockets" with your favorite web archive engine!
> > but we are ok to initially support the MS os family. > > > > 5) We need fully customizable solution from baudrate, > > parity etc. etc. (I mean setup of serial end, I want > > minimum 9600 baudrate)
> Um, you're going to need a baud rate a lot higher than 9600 if > you want a 1Mbps data rate.
Thats fine! infact that was minimum requirement.
> > to source of virtual device > > driver for interacting with operating system (Ethernet > > end for TCP/IP etc. etc. supporting asynchronous > > interface ). But driver source part is pretty negotiable > > ;-)
> Unless you need to support legacy apps that expect to use a > "COM" port, you'd probably be better off just using a TCP/IP > connection to the device rather than hacking about inside a > device driver. Windows device drivers are very, very messy.
Yeah, and that's very true! As so many updates and hot fixes are always available from MS guys.;-) anyway we are ok for that as we do have resources to dig in the details of that messy stuff. ali
Getting a consistnt 1MBPS on a rabbit will be hard.
The Netburner solutions will run 2M bytes of TCP payload reliably.

Paul
CTO NetBurner.


On 2007-01-03, Ali <abdulrazaq@gmail.com> wrote:

>> > 0) We need comparatively cost effective solution. (As humans do!) >> >> How many units? > > We are targeting Asia market for our prodict so hope it will be in > massive quantity as we have Great China under the hood;-) of Asia. [ > l0l ]
For large quantities, you probably should just design something custom based on a uController that has a couple serial ports and an Ethernet MAC. You can use an open-source OS and TCP stack (eCos/XMK/etc.) or something without royalties like uC/OS-II.
>> > 2) Data rate should be 1 Mbps. >> >> You want to run the serial port at 1M baud? With an RS-232 >> electrical interface? > > Sorry for that! Ofcourse I mean 1 Mbps over Ethernet not rs232.
Why would the two be different?
>> > 4) As I believe that when it comes to TCP/IP with legend >> > BSD sockets then there is no difference > > >> Sorry, I don't know what that means. > > Well if you look at the implementations of networking > (sockets) in *inx world or MS windows then you will hopefully > recognize that they are more or les the same except very very > few things, especially in initializing part or destroying > part( closing the socket). Try to have look at "BSD sockets" > with your favorite web archive engine!
Yes, I'm familiar with the implementation of TCP/IP and the socket API. I still dont' understand what that part of the requirement means.
>> > but we are ok to initially support the MS os family.
Do you meant that a COM port driver for MS Windows is required?
>> > 5) We need fully customizable solution from baudrate, >> > parity etc. etc. (I mean setup of serial end, I want >> > minimum 9600 baudrate) > >> Um, you're going to need a baud rate a lot higher than 9600 if >> you want a 1Mbps data rate. > > Thats fine! infact that was minimum requirement.
So 9600 baud will meet your requirements?
>>> to source of virtual device driver for interacting with >>> operating system (Ethernet end for TCP/IP etc. etc. >>> supporting asynchronous interface ). But driver source part >>> is pretty negotiable ;-) > > >> Unless you need to support legacy apps that expect to use a >> "COM" port, you'd probably be better off just using a TCP/IP >> connection to the device rather than hacking about inside a >> device driver. Windows device drivers are very, very messy. > > Yeah, and that's very true! As so many updates and hot fixes > are always available from MS guys.;-) anyway we are ok for > that as we do have resources to dig in the details of that > messy stuff.
I don't know of any serial-Ethernet vendors that provide source code for Windows drivers (most do provide source for Linux drivers), so you're going to have to negotiate with the vendors for that. There are third-party drivers available if the device implements RFC-2217 (again, I don't think source code is normally available). One of my employers does provide single-port serial-Ethernet devices (with plain UDP, TCP, and RFC-2217 interfaces as well as COM/tty drivers for Windows/Linux/FreeBSD. I know they've done OEM agreements with other people before, and I'm sure they'd be happy to discuss your requirements: http://www.comtrol.com/products/catalog.asp?group=serialhubs -- Grant Edwards grante Yow! Where's the Coke at machine? Tell me a joke!! visi.com
Grant Edwards wrote:


> On 2007-01-03, Ali <abdulrazaq@gmail.com> wrote: > > >> > 0) We need comparatively cost effective solution. (As humans do!) > >> > >> How many units? > > > > We are targeting Asia market for our prodict so hope it will be in > > massive quantity as we have Great China under the hood;-) of Asia. [ > > l0l ] > > For large quantities, you probably should just design something > custom based on a uController that has a couple serial ports > and an Ethernet MAC. You can use an open-source OS and TCP > stack (eCos/XMK/etc.) or something without royalties like > uC/OS-II.
Yeah and ofcourse we will, but not now. To my understanding its not something that you can develop and design on fly. Using opensource do sounds cools enough but what processor you will use is the BIG issue (which is again related to pricing and cost of development), eventually you will endup with some ARM thing backed with line drivers (chips for regulating the voltage to talk to rs-232 and delicate processor). And thats not simple as it sounds because you have a men-month TCP/IP interface ahead!
> >> > 2) Data rate should be 1 Mbps. > >> > >> You want to run the serial port at 1M baud? With an RS-232 > >> electrical interface? > > > > Sorry for that! Ofcourse I mean 1 Mbps over Ethernet not rs232. > > Why would the two be different?
There is a big difference atleast to me;-) as having a throughput of 1 Mbps for 9600 serial interface does provide an opportunity to queue the slow (serial) data before bursting. So my requirement is to have a device supporting 1 Mbps over Ethernet.
> >> > 4) As I believe that when it comes to TCP/IP with legend > >> > BSD sockets then there is no difference > > > > > >> Sorry, I don't know what that means. > > > > Well if you look at the implementations of networking > > (sockets) in *inx world or MS windows then you will hopefully > > recognize that they are more or les the same except very very > > few things, especially in initializing part or destroying > > part( closing the socket). Try to have look at "BSD sockets" > > with your favorite web archive engine!
> Yes, I'm familiar with the implementation of TCP/IP and the > socket API. I still dont' understand what that part of the > requirement means.
And I'm confused here to make this point clear. Anyway, to my understanding we have 2 different interfaces for this very device and can be summarized in following points: 0) An interface talking to line drivers (rs-232) which always have certain constrains like baudrate , parity check, data rate and control option. 1) Another end is talking to high level things that is so called NDIS (device drivers) and it is something related to operating system with all promises to manage data queues, synchronous/asynchronous calls, events (network events as per TCP/IP protocol) and finally house keeping stuff (IP, port ). I might be wrong for above definitions ;-)
> >> > but we are ok to initially support the MS os family. > > Do you meant that a COM port driver for MS Windows is required? > > >> > 5) We need fully customizable solution from baudrate, > >> > parity etc. etc. (I mean setup of serial end, I want > >> > minimum 9600 baudrate) > > > >> Um, you're going to need a baud rate a lot higher than 9600 if > >> you want a 1Mbps data rate. > > > > Thats fine! infact that was minimum requirement.
> So 9600 baud will meet your requirements?
As I wrote in my earlier post that it is ok as it is indeed minimum requirement.
> >>> to source of virtual device driver for interacting with > >>> operating system (Ethernet end for TCP/IP etc. etc. > >>> supporting asynchronous interface ). But driver source part > >>> is pretty negotiable ;-) > > > > > >> Unless you need to support legacy apps that expect to use a > >> "COM" port, you'd probably be better off just using a TCP/IP > >> connection to the device rather than hacking about inside a > >> device driver. Windows device drivers are very, very messy. > > > > Yeah, and that's very true! As so many updates and hot fixes > > are always available from MS guys.;-) anyway we are ok for > > that as we do have resources to dig in the details of that > > messy stuff. > > I don't know of any serial-Ethernet vendors that provide source > code for Windows drivers (most do provide source for Linux > drivers), so you're going to have to negotiate with the vendors > for that. There are third-party drivers available if the > device implements RFC-2217 (again, I don't think source code is > normally available). > > One of my employers does provide single-port serial-Ethernet > devices (with plain UDP, TCP, and RFC-2217 interfaces as well > as COM/tty drivers for Windows/Linux/FreeBSD. I know they've > done OEM agreements with other people before, and I'm sure > they'd be happy to discuss your requirements: > > http://www.comtrol.com/products/catalog.asp?group=serialhubs
Thanks for this pointer and these people are really doin very well but I don't want to make my design complex with lots of modules hangin around for this purpose, so we have decided to go for rabbitsemiconductor gadget and personally I found their costumer support quite responsive. ali
pbreed@netburner.com wrote:
> Getting a consistnt 1MBPS on a rabbit will be hard. > The Netburner solutions will run 2M bytes of TCP payload reliably. > > Paul > CTO NetBurner.
They calim to do so! ali
   Rabbit ?  !!   ARM has 80% of the world and  2 billion cpus are ARM
...

  Dont fight it ..................


____________________________________________________________


Ali wrote:
> Grant Edwards wrote: > > > > On 2007-01-03, Ali <abdulrazaq@gmail.com> wrote: > > > > >> > 0) We need comparatively cost effective solution. (As humans do!) > > >> > > >> How many units? > > > > > > We are targeting Asia market for our prodict so hope it will be in > > > massive quantity as we have Great China under the hood;-) of Asia. [ > > > l0l ] > > > > For large quantities, you probably should just design something > > custom based on a uController that has a couple serial ports > > and an Ethernet MAC. You can use an open-source OS and TCP > > stack (eCos/XMK/etc.) or something without royalties like > > uC/OS-II. > > Yeah and ofcourse we will, but not now. To my understanding its not > something that you can develop and design on fly. Using opensource do > sounds cools enough but what processor you will use is the BIG issue > (which is again related to pricing and cost of development), eventually > you will endup with some ARM thing backed with line drivers (chips for > regulating the voltage to talk to rs-232 and delicate processor). And > thats not simple as it sounds because you have a men-month TCP/IP > interface ahead! > > > > > > > > >> > 2) Data rate should be 1 Mbps. > > >> > > >> You want to run the serial port at 1M baud? With an RS-232 > > >> electrical interface? > > > > > > Sorry for that! Ofcourse I mean 1 Mbps over Ethernet not rs232. > > > > Why would the two be different? > > > There is a big difference atleast to me;-) as having a throughput of 1 > Mbps for 9600 serial interface does provide an opportunity to queue the > slow (serial) data before bursting. So my requirement is to have a > device supporting 1 Mbps over Ethernet. > > > > >> > 4) As I believe that when it comes to TCP/IP with legend > > >> > BSD sockets then there is no difference > > > > > > > > >> Sorry, I don't know what that means. > > > > > > Well if you look at the implementations of networking > > > (sockets) in *inx world or MS windows then you will hopefully > > > recognize that they are more or les the same except very very > > > few things, especially in initializing part or destroying > > > part( closing the socket). Try to have look at "BSD sockets" > > > with your favorite web archive engine! > > > > > > > Yes, I'm familiar with the implementation of TCP/IP and the > > socket API. I still dont' understand what that part of the > > requirement means. > > > And I'm confused here to make this point clear. Anyway, to my > understanding we have 2 different interfaces for this very device and > can be summarized in following points: > > 0) An interface talking to line drivers (rs-232) which always have > certain constrains like baudrate , parity check, data rate and control > option. > > 1) Another end is talking to high level things that is so called NDIS > (device drivers) and it is something related to operating system with > all promises to manage data queues, synchronous/asynchronous calls, > events (network events as per TCP/IP protocol) and finally house > keeping stuff (IP, port ). > > > I might be wrong for above definitions ;-) > > > > > >> > but we are ok to initially support the MS os family. > > > > Do you meant that a COM port driver for MS Windows is required? > > > > >> > 5) We need fully customizable solution from baudrate, > > >> > parity etc. etc. (I mean setup of serial end, I want > > >> > minimum 9600 baudrate) > > > > > >> Um, you're going to need a baud rate a lot higher than 9600 if > > >> you want a 1Mbps data rate. > > > > > > Thats fine! infact that was minimum requirement. > > > So 9600 baud will meet your requirements? > > As I wrote in my earlier post that it is ok as it is indeed minimum > requirement. > > > >>> to source of virtual device driver for interacting with > > >>> operating system (Ethernet end for TCP/IP etc. etc. > > >>> supporting asynchronous interface ). But driver source part > > >>> is pretty negotiable ;-) > > > > > > > > >> Unless you need to support legacy apps that expect to use a > > >> "COM" port, you'd probably be better off just using a TCP/IP > > >> connection to the device rather than hacking about inside a > > >> device driver. Windows device drivers are very, very messy. > > > > > > Yeah, and that's very true! As so many updates and hot fixes > > > are always available from MS guys.;-) anyway we are ok for > > > that as we do have resources to dig in the details of that > > > messy stuff. > > > > I don't know of any serial-Ethernet vendors that provide source > > code for Windows drivers (most do provide source for Linux > > drivers), so you're going to have to negotiate with the vendors > > for that. There are third-party drivers available if the > > device implements RFC-2217 (again, I don't think source code is > > normally available). > > > > One of my employers does provide single-port serial-Ethernet > > devices (with plain UDP, TCP, and RFC-2217 interfaces as well > > as COM/tty drivers for Windows/Linux/FreeBSD. I know they've > > done OEM agreements with other people before, and I'm sure > > they'd be happy to discuss your requirements: > > > > http://www.comtrol.com/products/catalog.asp?group=serialhubs > > > Thanks for this pointer and these people are really doin very well but > I don't want to make my design complex with lots of modules hangin > around for this purpose, so we have decided to go for > rabbitsemiconductor gadget and personally I found their costumer > support quite responsive. > > ali
Ali wrote:

> Folks!
> Following are few solution providers that I have came across so far and > all of them do provide more or less the same thing. > > http://www.rabbitsemiconductor.com/products/Serial_to_Ethernet_Kit/index.shtml > http://www.tibbo.com/accessories.php#DS100-SK
We've been using the Tibbo EM100 for years now and they're quite good. The firmware and PC-side software is updated regularly and updates are free. They're honest about reporting bugs and still call them bugs, not "issues".
Try:

www.hw-group.com :

They make a virtual com port driver and are selling the source
code of it.
They also make an AVR128 based hardware board with an ethernet interface


www.ethernut.de:

They provide an implementation of a TCP/IP stack that also runs
on the Hw-group PCB

We used this combination to make a clip-on box of approx. 40x60x15mm 
with an ethernet interface for a medical device that had a serial 
interface before only. It took us less than 4 weeks.


Heiner




The 2024 Embedded Online Conference