Q68 Ethernet

The Thor, Aurora, Q40, Q60 & Q68 etc. are discussed here.
Martin_Head
Gold Card
Posts: 478
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Postby Martin_Head » Fri Jan 10, 2020 3:39 pm

Although I've seen it mentioned. I don't actually know exactly what QLwIP is or does. Like I said my networking knowledge is very small. Most of what I do know comes from developing the IP Network driver.

I was only suggesting the use of the router style program so compatibility with SMSQEmulator and Qemulator may be maintained. If you wanted do make a version of my network driver that used UDP,( or any other protocol for that matter) The sources are freely available, and I have no objections to anybody trying make their own versions, or offshoots of it. The vast majority of the driver is taken from the SMSQ/E source code anyway.

Not knowing what facilities QLwIP supplies, or how its accessed. I don't know how easy it might be to alter my driver for your requirements.


User avatar
Peter
Aurora
Posts: 943
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 Ethernet

Postby Peter » Sun Jan 12, 2020 9:21 am

Martin_Head wrote:I don't actually know exactly what QLwIP is or does.

QLwIP is a package containing:

A) A full, native multitasking TCP/IP stack
B) Hardware drivers for ethernet on Q40/Q60/Q68 and the SLIP protocol over SER
C) A suite of internet programs, including webserver, fileserver, text-webbrowser, graphical email client

It is not vaporware, but also not release quality. I demonstrated that it works, at the Edinburgh and Mahlerts meetings. QLwIP was mainly written two decades ago and work on it is tough, because I forgot too much. It can not be directly compatible to the emulator TCP/IP interface, for several well considered reasons, but is very similar on socket API level.

Martin_Head wrote:If you wanted do make a version of my network driver that used UDP,( or any other protocol for that matter) The sources are freely available, and I have no objections to anybody trying make their own versions, or offshoots of it.

Many thanks, but unfortuntately it would dissipate my limited resources too much to do the changes toward UDP myself. I would only look at your code, if it already worked with UDP, tested on emulators. If direct UDP support is not something that interests yourself, it's probably less work trying to go from the QLNET driver to "QLNET over ethernet" directly.

Martin_Head wrote:Not knowing what facilities QLwIP supplies, or how its accessed.

Your driver interested me as part of a slim alternative to QLwIP, not as something that would access QLwIP.
The major point of the idea was: Maybe save the time for QLwIP development and provide a short term ethernet solution for the Q68 users. Which is also technically very efficient, because it sits almost directly on the ethernet packet layer, not the upper TCP layer.


Martin_Head
Gold Card
Posts: 478
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Postby Martin_Head » Sun Jan 12, 2020 11:14 am

Peter wrote:B) Hardware drivers for ethernet on Q40/Q60/Q68 and the SLIP protocol over SER
So do you mean by that you do something like OPEN#3,ser3 which instead of using the RS232 port, it uses the Ethernet port instead. Then PRINT#3 and INPUT#3 to exchange data.
Which does not seem too much of a stretch from the NETI/NETO on the QL network, which my driver handles

If direct UDP support is not something that interests yourself
At the moment I've got too much on to really be able to think about doing something along these lines.
However if i did think about it. If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.


User avatar
Peter
Aurora
Posts: 943
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 Ethernet

Postby Peter » Sun Jan 12, 2020 5:55 pm

Martin_Head wrote:So do you mean by that you do something like OPEN#3,ser3 which instead of using the RS232 port, it uses the Ethernet port instead. Then PRINT#3 and INPUT#3 to exchange data.

SLIP is an encapsulation of TCP/IP designed to work over serial ports and router connections, it was a common standard before PPP.
If QLwIP is told to use a SLIP interface, it will then open a SER port and use it for this purpose. But the QLwIP application interface is on the socket level, not the serial port.

Martin_Head wrote:At the moment I've got too much on to really be able to think about doing something along these lines.

Yes of course, we all have our time limits.

Martin_Head wrote:If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.

Only if you'd write it in a packet oriented manner, including handling for lost packets. But then, I wouldn't see how you save work compared to a UDP implemetation.


Martin_Head
Gold Card
Posts: 478
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Postby Martin_Head » Mon Jan 13, 2020 10:47 am

Peter wrote:
Martin_Head wrote:If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.

Only if you'd write it in a packet oriented manner, including handling for lost packets. But then, I wouldn't see how you save work compared to a UDP implemetation.
What I meant,is that as I don't have a Q68 to work with. I could use an RS232 connection for testing, and change the OPEN commands for use on a Q68 later.

Although later I thought I could probably use a QPC2 v5 Beta and UDP directly. The current idea I'm thinking is using IO_SSTRG and IO_FSTRG instead of IP_SEND and IP_RECEV for the packet transfer. That is if QLwIP uses TRAP#3's to send/receive data? At first, just get a communication working, then add lost/damaged packets handling later.

How does opening channels work in QLwIP. Is there a device? Can you do something like "OPEN#3,wip_192.160.0.2:5800" to make a connection to that port on that IP address, (or the machine code equivalent) like the IP Device driver?

Have you got any simple examples of using QLwIP in BASIC, or machine code, or C at a pinch, (I'm not very good at C) to give some idea of what I would have to do, to connect to another computer running QLwIP.

Like I said, time to sit down and program is a bit short at the moment. But I can think about how to do it, at any time.



Who is online

Users browsing this forum: No registered users and 2 guests