Wie een netwerkkaart in z'n Acorn Archimedes, A5000 of RiscPC heeft zitten met zowel een 10b2/COAX/BNC als een 10bT/UTP/RJ45 aansluiting, weet dat er 3 manieren kunnen zijn om te bepalen welke van de 2 interfaces daadwerkelijk in gebruik is.
Op een aantal kaarten zoals de i3 EtherH kan dat met een jumper die 3 standen kent, namelijk;
* Jumper aan een kant = 10b2/COAX/BNC
* geen jumper = Automatic
* Jumper aan de andere kant = 10bT/UTP/RJ45
In de automatic stand wordt tijdens initialisatie van de netwerkkaart gekeken of er een signaal aanwezig is op de 10bT/UTP/RJ45 aansluiting afkomstig van de andere kant van de UTP-kabel. Zo ja, dan wordt die gekozen, zo nee dan wordt de 10b2/COAX/BNC gekozen. In plaats van een jumper te verzetten, is het ook mogelijk om die 3 pinnetjes met een 3-standen schakelaar naar buiten (achterplaat van de podule) uit te voeren. In de middenstand is er dan niets doorverbonden, en in de beide andere standen is de middenpin met een van de buitenpinnen verbonden. Deze optie heeft mijn leverancier destijds prima uitgevoerd.
De daadwerkelijk gekozen stand is op te vragen met een software commando. Typ op de * promt (na CTRL F12) het commando EHINFO in en je ziet welke aansluiting er actief is. Als dat niet de gewenste aansluiting is, zit er weinig anders op om de schakelaar te verzetten en de machine hardwarematig te resetten. Maar dat is de hardware kant van het verhaal.
Of kan dat ook anders?
Jazeker. Zet de schakelaar (of jumper) in de gewenste stand, maar doe geen reset. In plaats daarvan is het voldoende om een *RMREINIT EtherH te geven. De software in de netwerkkaart leest dan opnieuw de hardware-instelling uit. Dat kun je zoals gebruikelijk prima controleren met het *EHinfo commando.
Card Info:-
i-cubed, EtherLan 500 Ethernet Virtual StrongARM interface
Unit 1, slot 2, 16-bit driver.
Ethernet address=00:00:00:00:00:00
10Base2 (coax) interface in use.
De onderste regel van dat blokje laat zien welke aansluiting actief is. Het ethernet-mac-adres heb ik om privacyredenen onherkenbaar gemaakt.
Als de hardware dan goed staat, komt er nog een ander probleem om de hoek; namelijk het gekozen IP-adres ligt in een ander bereik dan waarin je wilt werken. Thuis heb je b.v. 192.168.0.x gekozen, maar op een (club-)bijeenkomst zit het hele netwerk in het 10.0.0.x bereik. Gebruikers van RISC OS 4.39 Select (vanaf disk) c.q. RISC OS 4.39 Adjust (vanuit ROM), of RISC OS 5.xx (Iyonix) kunnen in plaats van een vast IP-adres, ook voor DHCP kiezen, en zijn daarmee dus flexibel. Maar andere gebruikers van b.v. RISC OS 3.10 t/m RISC OS 4.03 kunnen dat niet, en moeten dus altijd hun internet instellingen wijzigen en daarna de machine herstarten. Dat was dus al de 2e herstart, om nog maar te zwijgen van de wel eens voorkomende foute instellingen met nog weer een herstart.
Gelukkig is ook dat te voorkomen met een obey commando, of zelfs handmatig. Druk op CTRL F12 en type daarna het volgende:
*ifconfig eh0 inet 192.168.1.20 netmask 255.255.255.0 wanneer het netwerk in het 192.168.1.x bereik ligt en je de machine op adres 20 wilt zetten. Omdat dit een tijdelijke wijziging is die niet opgeslagen wordt, is hij weer ongedaan gemaakt zodra je de machine opnieuw herstart. Als je deze ifconfig-regel in een obeybestandje zet met de naam ClubNet1, dan kun je op de club steeds dat net activeren, zonder de machine te hoeven herstarten. Thuis staat de machine dan weer op het netwerkadres waarop hij altijd al stond.
In een ander obey-bestandje genaamd: "ClubNet10" zet je dan b.v.:
*ifconfig eh0 inet 10.0.1.20 netmask 255.255.255.0 als op die bijeenkomst in het 10.0.1.x IP-adressen bereik wordt gewerkt. Met het PING commando kun je testen of je de andere machines binnen het netwerk kunt benaderen. Voor bexitters van andere merken netwerkkaarten zoals de Myson moet je de letters eh0 door iets anders vervangen, b.v. em0 of iets dergelijks. Maar dat kunt vinden als u het *ifconfig -a commando geeft.
Als we toch bezig zijn, kunnen we ook gelijk het delen van onze bestanden beter regelen, door dat ook op te nemen in ons obey-bestand:
*X SHARE   RAM:$            RamPC20
*X SHARE   ADFS::4.$        RPC20     -Protected
*X SHARE   ADFS::4.$        RPC20a    -auth geheim -noicon
*X SHARE   ADFS::4.$.Public Pub20     -noicon
Hiermee ziet iedereen van ons slechts 2 netwerk-iconen, terwijl toch alles bereikbaar is op andere machines als we dat willen. De ramdisk is volledig lees- en schrijfbaar vanaf alle machines. Van HardDisk4 zijn alleen de mappen met de RW/r of RW/rw access-vlag te zien, en dus NIET de mappen die op alleen RW/ (zonder die kleine letters achter de slash). De optie -Protected zorgt daarvoor.
Als rechtmatige eigenaar willen we zelf natuurlijk wel overal bij kunnen op onze eigen machine als we op een andere machine bezig zijn. Daartoe moeten we even inloggen met het wachtwoord: "geheim". De optie -noicon zorgt ervoor dat anderen niet zien dat die keuze er ook is. Maar na dat inloggen kunnen we nog niet onze volledige schijf zien. Daavoor moet er nog een 2e commando handmatig, of via een Obey bestand worden uitgevoerd; Filer_OpenDir Share::RPC20a. En we kunnen erbij ;-).
Volgens de officiële Acorn standaarden moet de map $.Public altijd lees- en schrijfrechten voor iedereen hebben, dus de AccessRights moeten voor $.Public op LRW/rw staan. Een extra icoon is niet nodig, want die map is middels de netwerknaam: "RPC20" met Show discs al bereikbaar. En om te voorkomen dat iedereen zijn HardDisc4 als netwerknaam opgeeft (dat kan er namelijk maar een zijn ;-), kiezen we voor een andere netwerknaam, namelijk RPC20, waarbij die 20 is afgeleid van het door ons gekozen IP-adres. Links staat de lokale (fysieke) disknaam, rechts daarnaast de netwerknaam (zoals anderen met "Show discs" ons kunnen zien, en daarachter de opties.
De X vooraan zorgt er met een module in $.!Boot.library.x voor dat bij een error de overige commando's wel worden uitgevoerd. Het is dus niet verstandig om Share (un)protected vanaf de iconbar uit te voeren, want dat geeft die moeilijkheid met veel dezelfde disknamen zoals "HardDisk4", want daar is de netwerknaam gelijk aan de lokale disknaam ;-(.