Q68 QoE Ethernet Driver

Anything QL Software or Programming Related.
FrancoisLanciault
Trump Card
Posts: 167
Joined: Mon Aug 08, 2011 11:08 pm

Re: Q68 QoE Ethernet Driver

Post by FrancoisLanciault »

Hi Martin,

I have successfully installed your driver to my Q68. When started, everything initialize correctly. I am able to ping other computers on my local network and ping the Q68 from them.

However I have not been successful of communicating with QPC on my laptop. I am pretty sure it is because of the 23 layers of firewalls my company has installed on it. As a matter of fact, it won’t even respond to ping request from the Q68 or any other computers.

As it is a company computer (and the only windows computers I have) there is probably not much I can do. But, just in case, what setting should I look for ?

François


bixio60
Brittle Membrane
Posts: 110
Joined: Sun May 04, 2014 7:05 am

Re: Q68 QoE Ethernet Driver

Post by bixio60 »

Hi,
just in case someone is interested, to connect the Q68 ethernet port to my Lan I used an Ethernet WIFI Bridge: "Vonets VAP11G de 300 mini Wireless WiFi 300 Mbps", easy to find in Amazon.
I don't have an ethernet switch close to my desk so I used it and works well.

The Q68 QoE ethernet driver works well as far I have tested it, looking forward for next versions :)

Again many thanks for the great job you have done.

Fabrizio


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 QoE Ethernet Driver

Post by Martin_Head »

FrancoisLanciault wrote:Hi Martin,

I have successfully installed your driver to my Q68. When started, everything initialize correctly. I am able to ping other computers on my local network and ping the Q68 from them.

However I have not been successful of communicating with QPC on my laptop. I am pretty sure it is because of the 23 layers of firewalls my company has installed on it. As a matter of fact, it won’t even respond to ping request from the Q68 or any other computers.

As it is a company computer (and the only windows computers I have) there is probably not much I can do. But, just in case, what setting should I look for ?

François
I know I had problems when I tried the driver with my Win7 machine. I had to shut the firewall down. (All my testing is done on an old WinXP machine running a beta QPC2 V4.96 I think it is). I think I also had problems getting the XP QPC2 and the Win7 QPC2's to talk to each other with the firewall up in Win7.


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 QoE Ethernet Driver

Post by Martin_Head »

bixio60 wrote:The Q68 QoE ethernet driver works well as far I have tested it, looking forward for next versions :)
I have been having some problems with the closing of TCP connections when the Q68 is the server. I encountered a problem I had not seen before, where both sides of the TCP connection tries to initiate a close at the same time.

If in QPC2 I did DIR_N2_WIN2_ to get a directory of the Q68's win2_, everything would be alright until the TCP 'FIN's are sent. After sorting the correct procedure for both sides closing simultaneously . I then had problems with the Sequence, and acknowledgment numbers getting screwed up, but not consistently. Due to a packet arriving, and triggering an interrupt, which altered the sequence numbers, while a packet was being built to send.

This morning I just tried a quick test of my latest build, which seemed to work OK. I don't know if I have managed to screw up anything else though.


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 QoE Ethernet Driver

Post by Martin_Head »

Here is version 0.22 of the Q68 Ethernet driver. The TCP server side has been implemented. So you can now use FSERVE on this version.

If you use QPAC2's 'Channels', details of the open Ethernet channels are displayed (routines courtesy of Wolfgang Lenerz)

I have not done a lot of testing, but I did get a system hang this morning, but I could not reproduce it.

I have also included the source code of the driver and my technical notes, in case anyone is interested in trying to build an Ethernet interface for a real QL. Or try to implement the driver on a Q40/60.
Attachments
Q68NetTech.pdf
(159.01 KiB) Downloaded 93 times
Q68Net.pdf
(133.33 KiB) Downloaded 110 times
Version022.zip
(247.76 KiB) Downloaded 112 times


User avatar
janbredenbeek
Super Gold Card
Posts: 628
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: Q68 QoE Ethernet Driver

Post by janbredenbeek »

Martin_Head wrote:Here is version 0.22 of the Q68 Ethernet driver. The TCP server side has been implemented. So you can now use FSERVE on this version.
If you use QPAC2's 'Channels', details of the open Ethernet channels are displayed (routines courtesy of Wolfgang Lenerz)
I have not done a lot of testing, but I did get a system hang this morning, but I could not reproduce it.
I have also included the source code of the driver and my technical notes, in case anyone is interested in trying to build an Ethernet interface for a real QL. Or try to implement the driver on a Q40/60.
Thanks Martin for the excellent documentation.
I was able to successfully run QBOX as Telnet server on the Q68. Couldn't get QLTerm to work as Telnet client though, and I got some lockups too.
In any case, this is a major step forward for the Q68.


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 QoE Ethernet Driver

Post by Martin_Head »

janbredenbeek wrote:Thanks Martin for the excellent documentation.
I was able to successfully run QBOX as Telnet server on the Q68. Couldn't get QLTerm to work as Telnet client though, and I got some lockups too.
In any case, this is a major step forward for the Q68.
I had a Wireshark dump from Monday when I had a system lockup, I tried to exactly reproduce what I had done, But it did not fail in the same place. I tried to carry on to see if it would fail again. It did have problems during a 'COPY N2_WIN2_filename TO RAM1_TEST'. It kind of stuttered in the middle, gave a few 'net aborted' messages, then after a little while, it recovered, and the copy completed. And the copied file was intact. So the lockups seem to be fairly random.

Something that has been nagging at the back of my mind, is that I may be crashing the supervisor stack, by over filling it with subroutine calls. I think there are only 64 bytes available on the supervisor stack. I am pretty sure I have done this before on this project.


User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: Q68 QoE Ethernet Driver

Post by Pr0f »

The perils of writing code for micro controllers !

Using a high level language distances you from the silicon, so keeping an eye on call stacks and so forth is that bit harder. I program a lot with PIC's, but usually resort to assembler (because I like pain :lol: ), and it tends to focus your behavior inside loop constructs and the like to avoid doing things recursively or dropping out of a loop uncleanly

just spotted on your post that you are talking supervisor stack - so on the 68K side of the house then. My bad.


User avatar
tofro
Font of All Knowledge
Posts: 2679
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Q68 QoE Ethernet Driver

Post by tofro »

Martin_Head wrote: Something that has been nagging at the back of my mind, is that I may be crashing the supervisor stack, by over filling it with subroutine calls. I think there are only 64 bytes available on the supervisor stack. I am pretty sure I have done this before on this project.
That (or rather "a job may use not more than 64 bytes on the supervisor stack") is true for plain old QDOS. With SMSQ/E, you may use up to 512 bytes on SVS. The overall area is like 768 bytes. If that is not enough, you can switch to your own, bigger, stack in a driver, provided you take some precautions like switching off onterrupts and only use re-entrant system calls and switch back to the original when leaving your code.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
bixio60
Brittle Membrane
Posts: 110
Joined: Sun May 04, 2014 7:05 am

Re: Q68 QoE Ethernet Driver

Post by bixio60 »

Hi,
Ver. 0.22 works basically all time very well, some (2/3) unpredictable lockup happen in totally different condition, never under same conditions, cannot find any logical link.
I only noticed that the command "reset" , that i used regularly to reset q68, after the use of the net doesn't work anymore hanging the q68, this is at least into my boot config that load many different drivers.

Thank you for the source that is so well documented and it is like an education book to learn programming :D

Fabrizio

Martin_Head wrote:
janbredenbeek wrote:Thanks Martin for the excellent documentation.
I was able to successfully run QBOX as Telnet server on the Q68. Couldn't get QLTerm to work as Telnet client though, and I got some lockups too.
In any case, this is a major step forward for the Q68.
I had a Wireshark dump from Monday when I had a system lockup, I tried to exactly reproduce what I had done, But it did not fail in the same place. I tried to carry on to see if it would fail again. It did have problems during a 'COPY N2_WIN2_filename TO RAM1_TEST'. It kind of stuttered in the middle, gave a few 'net aborted' messages, then after a little while, it recovered, and the copy completed. And the copied file was intact. So the lockups seem to be fairly random.

Something that has been nagging at the back of my mind, is that I may be crashing the supervisor stack, by over filling it with subroutine calls. I think there are only 64 bytes available on the supervisor stack. I am pretty sure I have done this before on this project.


Post Reply