• Hello, Guest! Welcome back, and be sure to check out this post for more info about the recent service interruption and migration.

68net - a modern SCSI to Ethernet board

ronan

Well-known member
Do refer to the AppleTalk chapter in Inside Macintosh volume VI for the standard driver interface, if you are not already aware of it.


I was not aware of that indeed. I just had a quick look. If I understand well the ENET driver is not a hardware driver but communicates directly with the hardware drivers.

If I understand well this sums up as :

Mac TCP -> ENET driver -> Nuvotech driver -> SCSI -> 68net

Any feedback on this understanding ?

 

Dog Cow

Well-known member
I was not aware of that indeed. I just had a quick look. If I understand well the ENET driver is not a hardware driver but communicates directly with the hardware drivers.

If I understand well this sums up as :

Mac TCP -> ENET driver -> Nuvotech driver -> SCSI -> 68net
Yes, I think that is a correct understanding. If you implement Apple's documented ENET driver interface, then your driver will be compatible with AppleTalk Phase 2 as well as MacTCP.

 
I have a few of the older Asante EN/SC adapters including one for the Powerbook that I've used with various 170's and 180's over the years.  I routinely use the Micro EN/SC connected by a short ethernet cable to a little IOGear Ethernet->WIFI dongle which is in turn powered by a USB cable connected to a small battery pack.  It looks a little silly but I wind up with a fully cable-free (or at least untethered) Powerbook 180 experience with network connectivity to the netatalk AppleShare Linux box in the basement. 

What I'm wondering is if you could replicate the Asante Micro EN/SC power solution which is to get power from the ADB keyboard port?  That wouldn't help for any pre-ADB Macs (obvs) and I honestly don't know what kind of power the ADB port provides, but it works for the Asante, maybe it could work for this.  Personally would LOVE to have this board available as the vintage SCSI->Ethernet adapters are rare as hens teeth these days.

67741166_1334430500039857_1557339563683217408_o.jpg

 
Last edited by a moderator:

ronan

Well-known member
Hi everyone !

I have been really really busy with life and work last year but I really wanted to make this project work !

I have been struggling in the last week with implementing correctly reselection on 68net which was really tricky because timing are tight and driver does not behave always as I would expect.

But anyway I finally managed to receive packets using 68 nets !! It's not really stable at the moment but I will work on this during the coming weeks.


IMG_6280.jpg



I hope this can be a reliable ethernet hardware for our mac in a near future.

Happy new year to everyone :)
 

ronan

Well-known member
Little updates here :)

I improved a bit stability and was able to load an html page in Netscape and connect to an Apple Share Server using 68net :D


IMG_6316 2.jpg

IMG_6317 2.jpg


IMG_6318 2.jpg


Everything is half stable for the moment, I need to improve the reselection algorithm which seems to take a lot of time before reselecting the Macintosh some times. Also it seems that after reselection occasionally the communication hangs on the Message Out phase.

By the way if anyone knows a good way of debugging scsi (on the lowest level) I would be insterested. I think RaSCSI with scsimon could work but maybe there's a better solution.
 
Last edited:

ronan

Well-known member
I can’t wait to order one when they become available 😁😁
I need to make some little hardware fixes, and find a way to manufacture a few of them before selling. I will keep you updated but this make take some time as I'm still busy with life/work :(
 

ronan

Well-known member
Hi everyone,

I've been finding time between work and home renovation, but unfortunately I can't fix the instability (maybe due to the SCSI protocol software implementation on my side). It's a lot of energy for a silly and single (?) bug but that makes to project unusable. I'm starting to get discouraged for the moment so I don't know if this project will go further.
 

MrFahrenheit

Well-known member
Hi everyone,

I've been finding time between work and home renovation, but unfortunately I can't fix the instability (maybe due to the SCSI protocol software implementation on my side). It's a lot of energy for a silly and single (?) bug but that makes to project unusable. I'm starting to get discouraged for the moment so I don't know if this project will go further.

Would it be a possibility to work together with someone who has built SCSI devices? Like @ymk , or @cheesestraws , for example ?
 

Chopsticks

Well-known member
Hi everyone,

I've been finding time between work and home renovation, but unfortunately I can't fix the instability (maybe due to the SCSI protocol software implementation on my side). It's a lot of energy for a silly and single (?) bug but that makes to project unusable. I'm starting to get discouraged for the moment so I don't know if this project will go further.
are you using Nuvotech driver? because if you are then that's likely your issue. @saybur can probably say more but we did a lot of testing with that driver on the scuznet and it was alway unreliable, and seeming to cause subtle different stability issues depending the Mac used. that's basically why he switched over to using the DaynaPORT protocol. same hardware but after that change ive had no ethernet issues at all with general weekly use of my se/30..
long story short perhaps it might be worth looking into using ditching the Nuvotech for the DaynaPORT, you should be able to use the same pcb design etc but just needing to rewrite part of you firmware
 

saybur

Well-known member
Yeah, the Nuvotech driver is kind of a PITA. From the testing I've done, the Nuvo driver offers better performance in some cases, but it's worse than Dayna in others and overall it seems to be pickier about timing on the emulated device. I'd echo @Chopsticks suggestion to ditch Nuvo. I've continued to include optional support for it on scuznet mainly because I'm stubborn and have a soft spot for weird obscure hardware, not because it's good for overall firmware development or stability.
 

Chopsticks

Well-known member
Yeah, the Nuvotech driver is kind of a PITA. From the testing I've done, the Nuvo driver offers better performance in some cases, but it's worse than Dayna in others and overall it seems to be pickier about timing on the emulated device. I'd echo @Chopsticks suggestion to ditch Nuvo. I've continued to include optional support for it on scuznet mainly because I'm stubborn and have a soft spot for weird obscure hardware, not because it's good for overall firmware development or stability.
to be fair you put a huge amount of effort and skill into decoding the hardware and the nuvo protocol so I wouldn't call that stubborn at all. more so its both impressive work and having that protocol documented online may mean someone down the road can figure out the driver issue and possibly create/patch a workaround.

the nuvo protocol did provide faster transfer speeds then the dayna protocol does with my se/30 but realistically its still more then fast enough for the old machines. I use my se/30 a few days a week to tinker on and most of my software is stored on a ftp server at home. its been rock solid for me for a good year or more. in fact the only issues ive found in daily use is relating to the hdd emu side and only when using certain benchmark software, and that's not really related to the scsi to ethernet stuff part of the firmware anyways.
 

ronan

Well-known member
Thanks for the feedback.

I'm working with the Nuvotech driver right, and I wanted to stick to it because of performance. And I thought that switching to dayna would not fix my problems, as I may have issue with my SCSI layer implementation. But after reading your answers maybe my issue is a stupid timing thing, that should not affect the dayna driver.

What is the best resource for understanding the dayna protocol, scuznet code directly ?
 

saybur

Well-known member
The original Roger Burrows documentation is what I used, which did a good job of covering things. Beyond that, @superjer2000 figured out how to do multiple network packets in a single SCSI transaction, which significantly improves performance - the scuznet thread has talk about that, which I think mostly survived the forum crash.
 
The original Roger Burrows documentation is what I used, which did a good job of covering things. Beyond that, @superjer2000 figured out how to do multiple network packets in a single SCSI transaction, which significantly improves performance - the scuznet thread has talk about that, which I think mostly survived the forum crash.

I'm not sure if the following bits are already known, both might be good sources of information about the protocol used by the Dynaport SCSILink and I didn't see these mentioned in the thread so far (great to see so many projects for classic Macs showing up here!).

Joshua Stein has added Dynaport SCSI/Link-3 emulation to the PCE MacPlus emulator as mentioned in this article about writing and running a BBS on a Mac Plus:
https://github.com/jcs/pce/commit/1c535505f42e34ba0dac9ac8e0027e8cf18b8dda.

His article also mentions that RaSCSI has a Dynaport emulation mode, from which Joshua gleamed some of the protocol information.

Maybe some of this is useful here...
 

superjer2000

Well-known member
When I had first ported Daynaport over to the Scuznet, I documented the protocol as it relates to the Mac relatively extensively.

There is a Scuznet Daynaport readme file here that describes how it works:

 

saybur

Well-known member
When I had first ported Daynaport over to the Scuznet, I documented the protocol as it relates to the Mac relatively extensively.
What I said earlier is wrong: the base Dayna implementation in scuznet came from you, not from me using the Burrows documentation. My apologies, I'm not sure why I thought I had done that.

@ronan, if you do want to take a go at this, use that link, it's got great info.
 
Top