Modems!!!
Modems!!!
hi!!
I have implemented this basic protected mode kernel. I have coded the keyboard and the display driver. Now i would like to connect to the internet, using my externel 56k modem.
All i can understand now it i will have program my serial port so that it sends data to the modem. How should i get my os to talk with the serial port? What data actually I will have to send to modem?
I will really appreciate if you people can point me to some gud resources in the web regarding this or help me in this. I searched using gooogle. Couldnt get any solid materials.
Regards,
R Karthick
I have implemented this basic protected mode kernel. I have coded the keyboard and the display driver. Now i would like to connect to the internet, using my externel 56k modem.
All i can understand now it i will have program my serial port so that it sends data to the modem. How should i get my os to talk with the serial port? What data actually I will have to send to modem?
I will really appreciate if you people can point me to some gud resources in the web regarding this or help me in this. I searched using gooogle. Couldnt get any solid materials.
Regards,
R Karthick
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Modems!!!
here's for talkin' to the serial port (a.k.a. COMn port)
The second link looks like containing info about talking to the modem (AT commands) aswell ...
And dude, they were only 2 clicks away through .:QuickLinkz:.
The second link looks like containing info about talking to the modem (AT commands) aswell ...
And dude, they were only 2 clicks away through .:QuickLinkz:.
Re:Modems!!!
There's a brilliant tutorial about the serial port at beyondlogic.org and I think I've mirrored it on my site therx.sf.net/osdev/
For the modem you should probally look at another open source OSes driver for it (eg. Linux, *BSD)
Pete
For the modem you should probally look at another open source OSes driver for it (eg. Linux, *BSD)
Pete
Re:Modems!!!
If you are planning on connecting to the Internet then I would think you'd have to code a TCP/IP stack implementation also wouldn't you?
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Modems!!!
he'll indeed need TCP/IP unless he calls some computer that uses another protocol suite (but if calling an ISP, yes: TCP/IP will be mandatory).
Also think about PPP (point-to-point protocol) which will be needed to talk to your gateway ...
Also think about PPP (point-to-point protocol) which will be needed to talk to your gateway ...
Re:Modems!!!
Yep, and PPP or SLIP for the data-link layer as well. However, unlike most networking technologies, it is easy to test the physical layer connection without having the higher protocols in place - you just dial into a shell account somewhere...
Though if you have two networked computers, which you know talk to each other with existing software, then Ethernet is probably easier, if you have a packet sniffing program on the receiving end to check the individual packets as they arrive. You'd want to be able to test the bare IP packets, which fortunately are so complex. After that, you should get UDP working, so that you can use at least some basic application level protocols on top of it, before plunging into TCP.
From what I understand, implementing a TCP stack is definitely not trivial.
Keep in mind that the protocol handlers should be independent of the layers above and below it; after all, the whole point of multi-layered networking protocols is to separate the responsibility for different aspects of networking from each other. An TELNET message send via TCP and IP over a PPP dial-up connection should still be the same TELNET message when received by another machine that is running IPX/SPX over Ethernet.
Though if you have two networked computers, which you know talk to each other with existing software, then Ethernet is probably easier, if you have a packet sniffing program on the receiving end to check the individual packets as they arrive. You'd want to be able to test the bare IP packets, which fortunately are so complex. After that, you should get UDP working, so that you can use at least some basic application level protocols on top of it, before plunging into TCP.
From what I understand, implementing a TCP stack is definitely not trivial.
Keep in mind that the protocol handlers should be independent of the layers above and below it; after all, the whole point of multi-layered networking protocols is to separate the responsibility for different aspects of networking from each other. An TELNET message send via TCP and IP over a PPP dial-up connection should still be the same TELNET message when received by another machine that is running IPX/SPX over Ethernet.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Modems!!!
if i may suggest, for those who are interrested in programming a network stack, the reading of "Computer Networks -- a system approach" by Larry L. Peterson & Bruce S. Davie
pretty comprehensive and "at last a book that goes beyond describing layers and bit formats", explaining algorithms and how to apply them to build a real network stack
pretty comprehensive and "at last a book that goes beyond describing layers and bit formats", explaining algorithms and how to apply them to build a real network stack
Re:Modems!!!
Thankx a lot everybody for your help!! shall luk into the resources and hopefully not get back tooo sooon
Re:Modems!!!
Do you have any suggestions on where do i start on establishing a TCP/IP stack for my PM OS???
links/resources etc etc are most welcome!!!
links/resources etc etc are most welcome!!!
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Modems!!!
this will be responded in another thread, as it goes beyond this thread's topicJC wrote: Do you have any suggestions on where do i start on establishing a TCP/IP stack for my PM OS???
links/resources etc etc are most welcome!!!