Ethernet Adventures for a RISC OS Newbie

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


Post Reply
displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Ethernet Adventures for a RISC OS Newbie

Post by displaced » Mon Oct 07, 2019 1:19 pm

Hi all,

I thought I'd run through how I got TCP/IP and Internet access working on my A3020 with an ANT Ethernet podule. There's a couple of questions at the end, but the middle will hopefully be some help to any RISC OS neophytes who land themselves a similar machine. I'd appreciate any feedback on what I did - I do feel like it might be a bodge, or at least not the 'proper' way of doing things.

In The Beginning

With the help of the hardware forum, I got an IDE DOM formatted to the max. size RISCOS 3.11 supports. I downloaded the 3.11-only UniBoot from here and dragged it to the root of the hard drive, followed by a reboot.

Here's where things got a little messy. The online resources I saw suggested just double-clicking !Boot, then clicking Network. Probably a guide for the wrong RISC OS version.

Hack Until Success

So I double-clicked !Boot with SHIFT held down and went exploring. Under Resources I found !Internet. Ran it, and it told me it needed !NetSetup to be run first.

Under Resources.Configure I found and ran !InetSetup. No joy - it complained that it seemed like a !Boot application had not been run. So I inspected its !Run file and found it was checking for the presence of Boot$Path and Choices$Write variables.

Using *show, I found that Choices$Write was unset. A bit more exploring in !Boot led me to the Utils.SetChoices script. Running that let !InetSetup work

It seemed to have found my interface, so I turned it on. Configured everything I could find - IP address, netmask, hostname, domain, DNS resolvers, etc. and clicked Save

But the Save operation failed, complaining that it couldn't find !InetSetup.Blanks.Routes and !InetSetup.Blanks.User. Indeed, the Blanks directory didn't exist. So I created it and, guessing that these files were templates, just created two empty ones.

!InetSetup then saved the network configuration. But !Internet failed with a message saying that the Ether3 driver was for 16-bit interfaces only.

I went through a brief phase of wondering if the scripts should be using the modules built-in to the podule, before delving into !Boot.Resources.!System.Modules.Network and finding that there were Ether3-16 and Ether3-8 modules.

So I opened !Boot.Choices.Internet.Startup and edited any mentions of Ether3-16 to be Ether3-8.

Re-ran !Internet and.... success(ish). I could now hit F12 and ping both local and Internet IP addresses!

But, the empty User and Routes files in the Blank directory, now copied to !Boot.Choices.Internet, were making it unhappy. Running !Internet also opened the empty Routes file in Edit. In !Boot.Choices.Internet.Startup, I found the line towards the end which ran the Routes file and commented it out. The script also had a test to see if User existed, continuing normally if it didn't, so I just deleted Choices.User.

Ok. Quick reboot, opened !Boot, ran SetChoices, ran !Internet.

Hit F12, ran ping 1.1.1.1 and it worked. Tried ping bbc.co.uk -- unknown host. So the resolver wasn't resolving.

Back in !Boot.Choices.Internet.Startup, I found a line that was RMEnsure/RMLoad'ing System:Modules.Network.Resolver. Well, it wasn't actually running it, it was setting the Alias$InetLoadResolver variable to that command.

I presume that command should be executed somewhere else, but it wasn't. So I just replicated the RMEnsure line at the end of the Startup script.

Another reboot, open !Boot, run SetChoices, run !Internet... pinging and tracerouting work fine with both local and remote hosts, by IP and hostname! (I have an internal DNS server so my machines are all resolvable with names like 'foobar.home').

Questions

So I successfully bodged my way through it. I've got a couple of queries though.

Firstly, why is Choices$Write unset without manually running SetChoices? What would be the best script to add a call to to run SetChoices automatically? (if that's the correct approach!)

Where would the best place be to call !Internet so that it's all up and running automatically?

Is there a way to open the HardDisc4 without executing its !Boot folder?

Is there a way to get InetSetup to see my card as requiring Ether3-8? If I rerun InetSetup, it (expectedly) overwrites my changes.

And lastly, just a general one - is there a way to persist icons pinned to the PinBoard between reboots? I can see the Save option, but have no idea where I should drag the Pinboard icon to. EDIT: Ok, Googled that one - just need to save to the default location! (wait, that didn't work - tells me to drag it. Looks like !Boot.Choices.Boot.Tasks is the proper location. Ah - still no luck!)

Thanks for any feedback/help!

Chris

User avatar
trixster
Posts: 941
Joined: Wed May 06, 2015 11:45 am
Location: York
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by trixster » Mon Oct 07, 2019 4:26 pm

I had fun setting up my A3020 and EtherLAN podule a few years ago. I’ve taken a bunch of photos which may or may not be helpful!
05721C10-E2AC-4BCC-BE25-16823F6F48B5.jpeg
9BB4F31E-AFC9-4D03-A26E-F0A50A52FAC0.jpeg
A3020 | A3000 | A420/1 | BBC B | Master Turbo | ZX48K | NeoGeo
Atom | Amiga A4000 | A3000 | A1200 | A500 | PC Engine | Enterprise
Falcon | Saturn | PS1 | SNES | CPC6128 | C64 | 3DO | MD | Jaguar | X68000 | CD32

User avatar
trixster
Posts: 941
Joined: Wed May 06, 2015 11:45 am
Location: York
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by trixster » Mon Oct 07, 2019 4:27 pm

73BB7345-9358-4A44-81B6-91C671940EB8.jpeg
F125D8E5-A708-4E01-B409-64F91C1F5428.jpeg
CC0F3293-2E73-41D2-BC8D-ADEE60E7DB71.jpeg
3FB97B7B-5866-4469-9806-4D7E7ABC1A19.jpeg
A3020 | A3000 | A420/1 | BBC B | Master Turbo | ZX48K | NeoGeo
Atom | Amiga A4000 | A3000 | A1200 | A500 | PC Engine | Enterprise
Falcon | Saturn | PS1 | SNES | CPC6128 | C64 | 3DO | MD | Jaguar | X68000 | CD32

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Mon Oct 07, 2019 6:16 pm

Thanks, trixster - our second-to-last screenshot is interesting - I'll compare what I have to what's there!

steve3000
Posts: 2087
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by steve3000 » Mon Oct 07, 2019 6:26 pm

displaced wrote:
Mon Oct 07, 2019 1:19 pm
Under Resources.Configure I found and ran !InetSetup. No joy - it complained that it seemed like a !Boot application had not been run.
Usually this really does mean the !Boot hadn't been run at startup.

When you installed the UniBoot, did you configure the computer CMOS RAM settings and HDD to Boot correctly?

E.g. *Configure Boot ...etc? And *Opt 4,2?

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Mon Oct 07, 2019 6:49 pm

steve3000 wrote:
Mon Oct 07, 2019 6:26 pm
Usually this really does mean the !Boot hadn't been run at startup.

When you installed the UniBoot, did you configure the computer CMOS RAM settings and HDD to Boot correctly?

E.g. *Configure Boot ...etc? And *Opt 4,2?
Ah. No! That'd probably be it :D See - I knew my bodge-alarm wasn't going off for nothing! This would be the answer to one of my questions at the end, too.

I reckon I should do some reading - tinkering will only get me so far!

Thank you!

steve3000
Posts: 2087
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by steve3000 » Mon Oct 07, 2019 8:22 pm

displaced wrote:
Mon Oct 07, 2019 6:49 pm
steve3000 wrote:
Mon Oct 07, 2019 6:26 pm
Usually this really does mean the !Boot hadn't been run at startup.

When you installed the UniBoot, did you configure the computer CMOS RAM settings and HDD to Boot correctly?

E.g. *Configure Boot ...etc? And *Opt 4,2?
Ah. No! That'd probably be it :D See - I knew my bodge-alarm wasn't going off for nothing! This would be the answer to one of my questions at the end, too.

I reckon I should do some reading - tinkering will only get me so far!

Thank you!
Ah yes, been caught by this type of thing in the past myself, the sort of configuration settings that are completely un-obvious...

Anyhow, you'll need to *configure Drive 4, *configure Boot, and *opt 4,2 on your HDD.

If you've modified the uniboot in any way, best to reinstall it before trying this. Once it boots properly, it will take a lot longer to boot up, and will list some files as it loads during the pre-desktop (text only) boot screen.

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Mon Oct 07, 2019 9:33 pm

Ok - that’s better. Followed the correct steps after re-creating !Boot and I can see straight away the difference.

!InetSetup still complained about the missing Blanks directory inside itself, so I repeated the process of creating it and two blank files inside. Still had to do the Ether3-16/Ether3-8 fixup, but that’s fine.

Network now starts during boot and Resolver is also started without hacking. Woohoo!

Now, just need to sort out a missing Modules.CallASWI to get FTPc running, and something about an old Filter module to fix ArcWeb!

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Tue Oct 08, 2019 8:12 am

Well, ArcWeb starts now that !Boot is being properly loaded. Can't actually browse anywhere because I get Unable to lookup host's address despite name resolution working fine with *ping/*traceroute etc.

Not too concerned about that - ArcWeb is pretty much unusably slow at screen redraws, so I doubt I'd use it.

I grabbed updated modules from PlingSystem.zip and FTPc works a charm. Very cool! I'm going to try to find a port (or equivalent) of wget/curl - I think that'd be more useful day-to-day than a GUI FTP-only client.

Interestingly, since getting !Boot working properly, there's an audible high-pitched whine coming from the machine. It changes with screen activity and stops completely when hitting F12 for a * prompt. Clearly something (NewerLook?) is taxing the machine. I actually prefer the original look, so I'll see about disabling that to see if it cures the noise.

Kazzie
Posts: 926
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by Kazzie » Tue Oct 08, 2019 11:48 am

steve3000 wrote:
Mon Oct 07, 2019 8:22 pm
Ah yes, been caught by this type of thing in the past myself, the sort of configuration settings that are completely un-obvious...

Anyhow, you'll need to *configure Drive 4, *configure Boot, and *opt 4,2 on your HDD.

If you've modified the uniboot in any way, best to reinstall it before trying this. Once it boots properly, it will take a lot longer to boot up, and will list some files as it loads during the pre-desktop (text only) boot screen.
I found this hurdle too. In my case, as I've abandoned the ST506 drive in my A420/1 for a ZIDEFS podule, I also had to *configure FileSystem IDEFS (or ZIDEFS, etc), as ADFS drive 4 doesn't exist in my machine.

Getting UniBoot to my machine in the first place was fun, too, due to the DD floppy drive. My first attempt was to delete different halves of the zip-file's contents, and transfer these on 720k DOS floppies before recombining them. I must have slipped up somewhere, as I got "Expression is a String" errors (like here on booting the desktop. Transferring the whole zip file via serial cable instead was slow, but it worked.

However, while UniBoot was working, I couldn't get to grips with it. I forget why, I think it was a mixture of very slow boot and something to do with what my ClassNet (EtherO) card was doing at power-up. Either way, I reverted to the old-style boot file, and tried using the innards of the UniBoot folder, rather like the OP did at first.

I found that for my card, using the ROM-based modules for EtherO, Internet, etc got me nowhere: ifconfig wasn't recognised as a command. RMkilling all of these (and the assorted ClassROM modules) and loading the equivalent modules from the UniBoot folder allowed me to get as far as configuring an IP address (using the Set commands here) for the interface, running ifconfig, and running the ping command.

Wiring up the 10base2 output of the ClassNet card to an old Netgear EN104 hub, and then on to my laptop, I sent pings both ways, but saw no replies either way. The eoinfo command reported that the EtherO card thought it was sending packets, and the received packets count went up when my laptop was pinging it, but something higher up the OSI layers isn't playing ball properly.

At the moment, the machine's been disassembled and put back on the shelf, as we're having guests tonight that expect to be able to eat at the dinner table (philistines!) But I'll be fishing it back out toward the end of the week, most likely.
BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM, ZIDEFS with 512MB CF card
Acorn System 1 home-made replica

gazzaD
Posts: 47
Joined: Sun Jun 18, 2017 11:37 am
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by gazzaD » Tue Oct 08, 2019 5:52 pm

To get the Ant Ethernet podule to be correctly detected as Ether-8 on an A3020 you need to create an Obey file called Ether3 in folder $.!Boot.Resources.Configure.!InetSetup.Autosense which contains:

Code: Select all

Set InetSetup$Driver$Slot_1 Ant Ethernet III 8bit:ea0:Ether3:4.20:Ether3-8
Once it's created, !InetSetup will write the correct driver name into the config files.
Gareth

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Wed Oct 09, 2019 7:03 am

Great - thank you! I’ll add that so I can tinker in InetSetup without needing to fiddle with the driver name each time.

Next trick is to figure out why the DHCP option is greyed-out!

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

Re: Ethernet Adventures for a RISC OS Newbie

Post by hubersn » Wed Oct 09, 2019 9:45 pm

displaced wrote:
Wed Oct 09, 2019 7:03 am
Next trick is to figure out why the DHCP option is greyed-out!
You won't have much luck here - DHCP only started to be supported with RISC OS 4 + Select 1, or RISC OS 5.

Have fun
hubersn

displaced
Posts: 25
Joined: Mon Sep 30, 2019 4:36 pm
Contact:

Re: Ethernet Adventures for a RISC OS Newbie

Post by displaced » Wed Oct 09, 2019 9:51 pm

Thanks for the confirmation - explains why my searches were coming up empty.

Will add a static entry to my DNS so I've got the novelty of pinging archie.home :)

Post Reply