Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

chat about arc/risc pc gaming & RISC OS software here (NOT the core OS!)Related forum: adventures


Post Reply
Eirikur Blodax
Posts: 10
Joined: Wed Jul 04, 2018 7:37 am
Contact:

Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by Eirikur Blodax » Thu Jul 12, 2018 2:43 pm

Hi all,

I recently resurrected my A5000, bought a 2-4MB upgrade and thought I might try to get the machine connected to my local network.
The Oak Solutions 16 bit ClassNet podule was too cheap (UKP#15) not to try... (pictures)

My requirements are actually modest:
  • Assign a fixed IPv4 address to my A5000 in my own home network (no DHCP necessary)
  • Have access to my NAS, using NFS, Samba or even just FTP - commandline only is acceptable
As it turns out, networking was not as universal and easy in 1992 as it is now, so I have a lot of questions.
First of all: are there other (A5000) network users with a similar setup?
I'd be happy to simply copy the software stack someone else figured out as you may imagine!

Then a lot of questions specific to this podule:
  1. The ROM modules from this podule are a bit annoying and take up a fair amount of boot-up time and RAM; they also interfere with *Configure'd options, such as setting #Floppies to 1.
    My first attempts allow me to copy all modules out of RAM, but I think they self-modify on (boot-)load as they freeze up the system when I try to *RMLoad them from hard-drive. Is it possible to directly copy the ROM contents off the podule directly so I can lift it out of the board and just load them when I need them?
  2. Do I actually need any of these ROM modules to get a TCP/IP stack running with this hardware?
    What would be the minimum set of modules I actually need? I would like to leave out at least the ClassADFS and Partitioner modules
  3. What additional and/or replacement modules do I need to properly setup TCP/IP networking and gain access to my NAS for backups and easy file exchange
  4. Does anyone have a manual, especially when it comes to the jumpers LK1..8?
    • LK1 seems to switch the thin ethernet (10base2) on/off - is that correct?
    • LK2-7 appear to switch between the AUI interface (10base5) and thin ethernet
    • LK8 ?? unclear
With kind regards, Erik

hubersn
Posts: 108
Joined: Sun Aug 14, 2016 7:59 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by hubersn » Thu Jul 12, 2018 6:39 pm

Eirikur Blodax wrote:
Thu Jul 12, 2018 2:43 pm
-Huge Snip-
I am fairly sure that ClassNet does not do "standard Ethernet" TCP/IP, but is instead proprietary stuff over Ethernet cabling.

You need a "standard" Ethernet podule which normally comes with all necessary things in its podule (EP)ROM like the Internet module as well as the Ether<whatever> driver and the Resolver module.

You can also use the "Universal Boot" on RISC OS 3.1, which also gives you the IP stack and Ether<whatever> drivers for common network podules.

Have fun
hubersn

Eirikur Blodax
Posts: 10
Joined: Wed Jul 04, 2018 7:37 am
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by Eirikur Blodax » Fri Jul 13, 2018 10:34 am

Thanks hubersn,

I think the podule is capable of 'normal' internet connections, see screenshot of the !ClassMgr tool.
Looking at the podule ROM modules, it seems they are relatively modern:

Code: Select all

No. Position    Module Name             Version Status
  1 Podule 0     MbufManager             0.13    Active
  2 Podule 0     EtherO                  4.03    Active
  3 Podule 0     AUNMsgs                 0.06    Active
  4 Podule 0     Internet                4.07    Active
  5 Podule 0     NetMsgs                 0.03    Dormant
  6 Podule 0     Net                     6.15    Active
  7 Podule 0     BootNet                 0.88    Active
  8 Podule 0     ClassNet                0.06    Active
  9 Podule 0     ClassFiler              0.04    Dormant
 10 Podule 0     Partitioner             1.28    Active
 11 Podule 0     ClassADFS               1.03    Active
 12 Podule 0     ClassFS                 0.04    Dormant
*Help for the resident podule modules

Code: Select all

Module is: Mbuf Manager    0.13 (10 Mar 1995) © ANT Ltd 1994, 1995
Module is: EtherO          4.03 (14 Dec 1995) © Network Solutions 1995
Module is: AUN Messages    0.06 (13 Mar 1995)
Module is: Internet        4.07 (22 Sep 1995)
Module is: Net             6.15 (06 Oct 1995) Soft loading (No CMOS settings)
Module is: BootNet         0.88e (18 Mar 1995)
Module is: ClassNet        0.06 (22 Nov 1995) for Oak Ethernet cards
Module is: Oak Partitioner 1.28 (11 Oct 1994) © Mike Harrison (ClassNet)
Module is: ClassADFS       1.03 (22 Jun 1994)
*eoinfo indicates that some frames have even been sent

Code: Select all

DCI Version       4.03
Oak Ethernet DCI 4 driver, © Network Solutions 1995

Interface unit      : 0
Interface slot      : 0
Interface location  : Expansion slot 0
Interface type      : 0
Interface address   : 00:c0:e9:10:01:04
Frames received     : 0
Frames rejected     : 0
Frames too big      : 0
Receive errors      : 0
Frames transmitted  : 25
Collisions          : 0
Transmit errors     : 0
Alignment errors    : 0
CRC errors          : 0
Frames lost         : 0
FIFO overrun        : 0
Short frames        : 0
Control frames      : 0
DMA end of process  : 0
Bus read error      : 0
Collision errors    : 0
16 Collision errors : 0
Carrier lost errors : 0
Controller mode     : Normal, reject frames with errors

Filter information :-

Frame type=8035, Frame level=1, Address level=1, Error level=0
Frame type= 806, Frame level=1, Address level=1, Error level=0
Frame type= 800, Frame level=1, Address level=1, Error level=0
Anyway, I am not even sure that my AUI<=>RJ45 module works correctly even though the leds light up), perhaps I should first try the sturdy thin ethernet connection...
I'm connecting the podule to an old hub with RJ45, AUI and 10base2 capability; so far I only verified the RJ45 ports work fine.

More to follow!
Attachments
ClassMgr.png
With kind regards, Erik

hubersn
Posts: 108
Joined: Sun Aug 14, 2016 7:59 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by hubersn » Fri Jul 13, 2018 4:17 pm

Eirikur Blodax wrote:
Fri Jul 13, 2018 10:34 am
Thanks hubersn,

- Huge snip -
OK, now that looks promising! Basically, you need at least MbufManager, Internet, EtherO and probably additionally the "Resolver" module. I would recommend to start with Universal Boot anyway and throwing away the stuff you don't need, there is a RO 3.1 version available for download:
http://riscos.com/ftp_space/310/index.htm

This should allow you to use !Configure to configure your networking. IP address, DNS, default gateway.

What does
*ifconfig -a
say? Not sure which module (if any) provides the ifconfig command, maybe you need the !Internet resource for that, I don't remember off-hand.

Have fun
hubersn

Eirikur Blodax
Posts: 10
Joined: Wed Jul 04, 2018 7:37 am
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by Eirikur Blodax » Fri Jul 13, 2018 7:59 pm

I tried UniBoot and !InetSetup, but unfortunately it doesn't see my interface.

There is a step-by-step guide on riscos.org I tried to follow, but fails in step 8/9 since my card isn't found. Still stuck I'm afraid.

I'm still hoping someone else did the legwork already and knows what (modules) to load and run to get this card going.
With kind regards, Erik

User avatar
IanS
Posts: 717
Joined: Mon Aug 31, 2009 6:02 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by IanS » Fri Jul 13, 2018 8:17 pm

I suspect you need to add an AutoSense file.

https://www.4corn.co.uk/archive//acornf ... up/%21Help

Look in the "Technical details" section.

It's been a long time since I've needed to do this, but an example file/program is in the RPCEmu setup, and you can probably set it to a fixed value to try it. So just a simple prog that does a *set InetSetup$Driver$ClassNet ..."

User avatar
DutchAcorn
Posts: 1945
Joined: Fri Mar 21, 2014 9:56 am
Location: Maarn, Netherlands
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by DutchAcorn » Fri Jul 13, 2018 9:48 pm

I've been trying to replicate this. I do not have an Oak Solutions podule, but I do have an Acorn AEH50 Ethernet II podule.

Most of the comments and advice about RISCOS networking is applicable to riscos 3.7 or later, but this is an A5000, so riscos 3.11.

I have not been able to find a user guide for the AEH50 podule (looked in all the usual places) so if anyone has (access to) that, it would be useful! The R540 was apparently commonly equipped with an AEH50 but the installation guide simply says "refer to the guide supplied with your Ethernet expansion card"...

I did find this article: http://www.apdl.org.uk/riscworld/volume ... /index.htm. It also mentions the difference between RO3.1 and later versions for Ethernet software.
Paul

Image

hubersn
Posts: 108
Joined: Sun Aug 14, 2016 7:59 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by hubersn » Fri Jul 13, 2018 10:30 pm

Eirikur Blodax wrote:
Fri Jul 13, 2018 7:59 pm
I tried UniBoot and !InetSetup, but unfortunately it doesn't see my interface.

There is a step-by-step guide on riscos.org I tried to follow, but fails in step 8/9 since my card isn't found. Still stuck I'm afraid.

I'm still hoping someone else did the legwork already and knows what (modules) to load and run to get this card going.
OK, so EtherO seems to be unknown to InetSetup. You will have to either write an AutoSense file or you need to use the CLI.

There are some docs available here as part of the OmniClient manual, if you are familiar with Linux ifconfig stuff this might suffice:
http://www.riscos.com/support/users/omn ... ernet.html

After all, InetSetup just creates a bunch of Obey files with the info you type into the various fields.

I am away from physical RISC OS 3.1 machines at the moment, I will have a go with one of the emulators to see if I can help you further.

Have fun
hubersn

hubersn
Posts: 108
Joined: Sun Aug 14, 2016 7:59 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by hubersn » Fri Jul 13, 2018 11:00 pm

Eirikur Blodax wrote:
Fri Jul 13, 2018 7:59 pm
I tried UniBoot and !InetSetup, but unfortunately it doesn't see my interface.
Try to create an AutoSense file. Locate !InetSetup.AutoSense and put an obey file e.g. called "EtherO" into it. It should contain the following line:

Set InetSetup$Driver$NIC Oak EtherO:eo0:EtherO:4.03:EtherO

That should let InetSetup detect your card successfully and you can then enable the TCPIP protocol suite and configure your interface. This will result in three obey files with all the necessary commands in !Boot.Choices.Internet.

Let me know if it works!

Have fun
hubersn

hubersn
Posts: 108
Joined: Sun Aug 14, 2016 7:59 pm
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by hubersn » Fri Jul 13, 2018 11:46 pm

hubersn wrote:
Fri Jul 13, 2018 11:00 pm
This will result in three obey files with all the necessary commands in !Boot.Choices.Internet.
After a bit of faking in Arculator...basically, what results from !InetSetup are the following commands (values: your IP=192.168.1.2, your nameserver=1.1.1.1, your default gateway=192.168.1.1, your netmask=255.255.255.0, hostname/domain name should be obvious):

Code: Select all

Set Inet$MimeMappings InetDBase:MimeMap
Set Inet$ResolverDelay 5
Set Inet$ResolverRetries 3
Set Inet$HostName myhost
Set Inet$LocalDomain mydomain.de
Set Inet$EthernetDevice EtherO
Set Inet$EtherIPAddr 192.168.1.2
Set Inet$EtherIPMask 255.255.255.0

IfConfig eo0 192.168.1.2 netmask 255.255.255.0
IfConfig lo0 127.0.0.1

Set Inet$Resolvers 1.1.1.1
Set Alias$InetLoadResolver "RMEnsure Resolver 0.48 RMLoad System:Modules.Network.Resolver"

Route add default 192.168.1.1
And then, just before entering the desktop, the following is done which initializes the DNS resolver:

Code: Select all

If "<Alias$InetLoadResolver>" <> "" Then InetLoadResolver
Unset Alias$InetLoadResolver
I am not at all sure why the resolver startup is done so late in the process. And I don't understand how this works if the Resolver module is already loaded, I always thought that you need to do a *ResolverConfig to then load the config from the sysvars.

Have fun
hubersn

Eirikur Blodax
Posts: 10
Joined: Wed Jul 04, 2018 7:37 am
Contact:

Re: Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by Eirikur Blodax » Sat Jul 14, 2018 8:48 pm

Wow guys, thanks for all the suggestions.

My wife asked me, in a friendly voice, to turn some of my attention towards the garden and a few odd jobs around the house, so it may take me a few days to go through the suggestions and try them out.

There are a couple of disturbing reports I got using *ShowStat

Code: Select all

Name                : eo
Unit                : 0
Address             : 00:C0:E9:10:01:04
Module              : EtherO
Location            : Expansion slot 1
...
WARNING: Interface type 0 not recognised
Link Status         : Interface bad
Active status       : Interface inactive
Receive mode        : Directly addressed frames only
Polarity            : Incorrect
The five lines on the bottom do seem to indicate something may be wrong with the card (or it's settings).

Anyway, I'll go through the suggestions when I have time and will report back - thanks for all the support!
Last edited by Eirikur Blodax on Sun Jul 15, 2018 10:57 am, edited 1 time in total.
With kind regards, Erik

Eirikur Blodax
Posts: 10
Joined: Wed Jul 04, 2018 7:37 am
Contact:

Networking: how to setup TCP/IP for an Oak Solutions ClassNet podule?

Post by Eirikur Blodax » Sun Jul 15, 2018 8:11 pm

Hi all: success!

I had to rest in between the garden work of course (sic!) and installed UniBoot.
Next I setup the network podule for AUI again, rather then 10base2, since I managed to verify the functionality of my AUI->ethernet module.

Adding a network definition to the !InetSetup AutoSense directory (using eo0 rather than eo[/i)

Code: Select all

Set InetSetup$Driver$NIC OAK EtherO:eo0:EtherO:4.03:EtherO
included it in the overview of interfaces.

Still no go though, somehow the interface wasn't responding.
Then I remembered an earlier attempt with ifconfig that seemed to get interaction with the interface

Code: Select all

ifconfig eo0 up
and

Code: Select all

ifconfig lo0 up
Inserting these commands just before setting the network address did the trick!

The first ping to my router succeeded and with !FTPc there is a reasonable connection to my NAS.
All in all this was UKP#15 well spent (cjemicros) - I sort of expected that it wouldn't work properly for non econet/classnet applications given its price.
When time permits I will document the steps more accurately (including jumpers on the podule, unplugged modules, etc.), perhaps someone else may benefit as I did.
With kind regards, Erik

Post Reply