• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

SCSI to Ethernet Adapter on New Hardware

saybur

Well-known member
Great graphic, that's how I'd do it. Since the 245 is permanently reading from the bus you should be able to tie DIR without a problem. In case the bus floats for some reason (bad termination?) you might want to toggle /OE only when you know data is on the bus. The LVT transceivers have a 10ns/V transition time recommendation with "outputs enabled," so the current scuznet firmware does toggle /OE to avoid having the outputs on except when necessary, in case the SCSI bus is being sluggish during transitions. I don't know if this is strictly "needed" or not.

For bus reading, the buffer is there mainly for 5V protection (the Xmegas are TTL compatible at 3.3V). You could probably get away with not using the buffer, depending on what's on the bus: if all devices are open-collector, you should only see 2.63-3.0V on the lines. However, SCSI does allow push-pull drivers on most lines, and those can output up to 5.5V and still be in spec. I'm not familiar with the STM32s, so they may have 5V tolerant GPIO pins to avoid the problem.

 

ronan

Well-known member
Thanks for clearing everything ! This really helps understanding things about the SCSI protocol which is not 100% clear for me yet. By the way do you have any good documentation about the low level part of the protocol ?

Okay I have a first version of the board with an stm32 which is heavily based on your design. I attached the schematics if you want to have a look, as well as a first render of what the board would look like. Power would be delivered by a usb port which could also be used to update the board firmware.

I also put the SCSI and the ethernet connectors on two different sides.

If you got any remark don't hesitate :)

I'll continue routing the board tomorrow.

I did setup a github here : https://github.com/ronangaillard/68net

hardware.png

View attachment 68net Schematic.pdf

 
Last edited by a moderator:

landoGriffin

Well-known member
This is the best reference I've found for SCSI information:

https://www.staff.uni-mainz.de/tacke/scsi/SCSI2.html

 

Chopsticks

Well-known member
just wondering if anyones had a similar issue of getting a crash to macsbug with when trying to shutdown the ir mac when the drivers are installed but the device isn't connected. i built one of these up and  this seems to happen every time its not hooked up via scsi unless i remove the driver from the extension folder. just not sure if its an issue on my end with my setup or if others had had similar issues.. again this is a driver issue not a issue with the scuznet board

 

tt

Well-known member
If you got any remark don't hesitate :)
That board rendering looks great. Does your version also have an SD card for HDD emulation? Having all the connectors on two sides seems better than 3 (like USB/power and Ethernet on one side).

 

ronan

Well-known member
That board rendering looks great. Does your version also have an SD card for HDD emulation? Having all the connectors on two sides seems better than 3 (like USB/power and Ethernet on one side).


I did not plan to add a SD slot, I would like each project to do a single task (ie. SCSI => to ethernet) and I know other projects such as SCSI2SD already do a great job at emulating disks. Is this something you were looking for ?

You are right about the connectors, I'll try to move the USB to the ethernet side :)

 

ronan

Well-known member
Does it support power via the SCSI connector? Or does it need an external power supply?
Unfortunately from what I know SCSI does not provide any power.

Maybe the next step would to design a connector such as SCSI2SD to get the power from the inside of the computer, and design the ethernet card to be fitted inside the Mac.

 

cheesestraws

Well-known member
Unfortunately from what I know SCSI does not provide any power.


You can run small stuff off termination power.  This is what scsi2sd/macsd/others do, the power connector is for cases when that fails, but is not mandatory.  The successfulness of it varies depending on model of mac, mind; the Plus doesn't provide any at all unless you modify the logic board, and some other models are patchy.  But it's possible in many cases.

 
Last edited by a moderator:

Crutch

Well-known member
Agreed, I’ve never even connected the internal power for a SCSI2SD (except on a Plus).  Even (most of) the accelerator boards for 68000-based Macs that include SCSI add termination power.  In my experience it’s 100% reliable to power these low-draw devices.

 

ronan

Well-known member
That's super interesting ! I plugged the power connector on my scsi2sd but I never tried without !

I'm going to upgrade my design to get power from SCSI and let a usb port for power fallback in case !

On question, would guys prefer to use a scsi -> ethernet board outside the Mac (ie. connected to the DB25 port) or inside the Mac ?

@saybur : I don't want monopolize your topic, I can create a new one if you want to

 
Last edited by a moderator:

saybur

Well-known member
just wondering if anyones had a similar issue of getting a crash to macsbug with when trying to shutdown the ir mac when the drivers are installed but the device isn't connected. i built one of these up and  this seems to happen every time its not hooked up via scsi unless i remove the driver from the extension folder. just not sure if its an issue on my end with my setup or if others had had similar issues.. again this is a driver issue not a issue with the scuznet board


I haven't had this ever happen to me, usually it just complains about the device not being present. What computer and OS are you running?

Okay I have a first version of the board with an stm32 which is heavily based on your design. I attached the schematics if you want to have a look, as well as a first render of what the board would look like.


I've been badly distracted by the (lame) real world but I did manage a quick pass through the schematic. I'm completely unqualified to look at the STM32 side of things, so the following are just observations on the SCSI / Ethernet parts. Like I've mentioned elsewhere in this thread, I'm no expert on this or anything, so definitely feel free to ignore the below advice without any concerns! :D

  • All the driver chips are LS series in the schematic; I'm assuming you probably want LVx parts instead.
  • It might be good to add 100nF decoupling capacitors on all of the ENC28J60 power pins. I didn't read anything in the datasheet on this, but it is likely best-practice.
  • I didn't see a connection for the "CD" signal on U8's /CE pin, but I may just be missing it. If you're running short on free I/O pins RDBP is pretty useless and could be dropped; I'm pretty sure the only time I've used it is to do a diagnostic check on the TDBP driver.
  • R11 is the only 22ohm series terminator left on the Ethernet SPI bus. I added them to be on the safe side, since the board had decently long traces going to the Ethernet chip, but they may not be needed on your board.
  • Per the note by U4, be aware that combo of adjustment resistors should produce 2.63V for the termination resistors instead of 2.85V. This is an alternate configuration for the 100ohm resistor packs.

I'm going to upgrade my design to get power from SCSI and let a usb port for power fallback in case !


Over on the Bluepill SCSI device thread in Peripherals there are some reports of issues with certain systems not supplying great power; assuming that you get 0.7V drop from the Mac diode supplying TERMPWR, you're running close to the 1V dropout voltage on the LM1117 supplying +3.3V. You might want to switch to a low-dropout regulator if you're sourcing from TERMPWR. Also be aware that the Ethernet PHY can draw up to 180mA by itself when transmitting - this is not a low power board, unfortunately. IMHO I'd definitely keep a provision for external power.

@saybur : I don't want monopolize your topic, I can create a new one if you want to


It doesn't bother me at all, but it might be a good idea to make a new thread to let people not following this one know that a different approach is out there. A couple users noted early on that they would have liked to see this design based on an ARM chip anyway, so there may be interest for sure.

If you do make a new one I'll definitely be following along, I'm interested in seeing where this goes. :)

 

ronan

Well-known member
Thanks for your feedback about the schematics ! They did evolve a bit since my last message and are going to evolve a bit this weekend according to some minor sides I have and your feedback.

All the driver chips are LS series in the schematic; I'm assuming you probably want LVx parts instead.
Yes you’re right, the digikey sourced parts are LVx parts but I did not have LVx components in my kicad libraries so I used LS. I’m going to fix the wording this weekend.

I didn't see a connection for the "CD" signal on U8's /CE pin, but I may just be missing it. If you're running short on free I/O pins RDBP is pretty useless and could be dropped; I'm pretty sure the only time I've used it is to do a diagnostic check on the TDBP driver.
There is a connection to « CD » , I set up solder bridges to activate the connection or directly connect CE to GND. I did not connect CD to the STM32 though, is this something useful ? 
 

Per the note by U4, be aware that combo of adjustment resistors should produce 2.63V for the termination resistors instead of 2.85V. This is an alternate configuration for the 100ohm resistor packs.
I saw that on your GitHub yes. I’m going to look for more adjusted resistors on digikey and see if I can get closer to 2.85V. Should the terminator resistor arrays value be adjusted if I change this voltage ?

IMHO I'd definitely keep a provision for external power.
Good advice, I did plan to keep USB as a power source if needed.

It doesn't bother me at all, but it might be a good idea to make a new thread to let people not following this one know that a different approach is out there. A couple users noted early on that they would have liked to see this design based on an ARM chip anyway, so there may be interest for sure.

If you do make a new one I'll definitely be following along, I'm interested in seeing where this goes. :)
Great ! I’ll start the thread once I finish a first « final » version of the design this weekend !

Thanks again for the time taken for your feedback :)

 

saybur

Well-known member
There is a connection to « CD » , I set up solder bridges to activate the connection or directly connect CE to GND. I did not connect CD to the STM32 though, is this something useful ? 


Oh, OK, I get where that's going now. I'd suggest not doing it that way; there are situations where you will need to read the data bus when C/D is not asserted. It would probably be easiest to assign it to a free I/O pin to maximize your control.

I saw that on your GitHub yes. I’m going to look for more adjusted resistors on digikey and see if I can get closer to 2.85V. Should the terminator resistor arrays value be adjusted if I change this voltage ?


Yes, they're specific to the 2.63V variant. Standard SCSI terminators are 110ohm, so that'd be the likely choice.

 

Chopsticks

Well-known member
I haven't had this ever happen to me, usually it just complains about the device not being present. What computer and OS are you running?
it turns out that my build chain on my mac is doing something strange, it would build the firmware and when flashed to the xmega the sd hdd would work but not the lan, and it would freeze up the se/30 mac i was running it on.. i ended up switching to a linux VM and building the firmware on that and now everything works as expected

 

rieSha.

Well-known member
I did not plan to add a SD slot, I would like each project to do a single task (ie. SCSI => to ethernet) and I know other projects such as SCSI2SD already do a great job at emulating disks. Is this something you were looking for ?

You are right about the connectors, I'll try to move the USB to the ethernet side :)


I do not want to favour creeping featurism. But … both your board and SCSI2SD have only one (1) SCSI port. Which means, that with a Compact Mac and the external port, I can connect either SCSI2SD or 68net/Ethernet via SCSI. Not both. I could put one inside newer Macs (SE, SE/30 …), but for the Plus, e.g. or when I want to keep the original hard disk in there, I can’t have both devices at the same time.

That’s why either a 2nd SCSI port for passing through the bus (best option), or a SD card would be nice. If you think of adding one, my preference would be SD over MicroSD, as SD is easier to integrate in self-made cases.

 

Chopsticks

Well-known member
Now that I've got this running 100% I was wondering if there is any way to make the driver load on a unsupported Mac model. my SE/30 has an install of 7.6.1 (os 8 at some stage too) and I had to 'fool' the Mac to think its a Quadra 700 for it to boot this version of the system, but the NuvoLink extension complains on start up that this model isn't supported so I was wondering if there's anything I can hack in resedit to get it to load?

 

saybur

Well-known member
Now that I've got this running 100% I was wondering if there is any way to make the driver load on a unsupported Mac model. my SE/30 has an install of 7.6.1 (os 8 at some stage too) and I had to 'fool' the Mac to think its a Quadra 700 for it to boot this version of the system, but the NuvoLink extension complains on start up that this model isn't supported so I was wondering if there's anything I can hack in resedit to get it to load?


I'm not very knowledgeable about the Mac driver side of the equation. There might be a hack to make the driver skip the gesalt check, but if there is I'm not aware of it.

Another avenue might be to try the Focus drivers instead. From what I've read the Focus EtherLAN SC is basically just a rebranded Nuvolink SC, but I've never tried using their drivers on a scuznet board. I suspect they probably changed some stuff in the INQUIRY response to keep this from being easy.

 

JCBone

Member
I'd like to have the adapter inside my SE/30, daisy chained to the SCSI2SD. 

Wouldn't it be great if one would put a raspi 3A or something in there too, running an AppleTalk Server for the SE? And a lighthttpd so you can configure it with netscape from the SE/30 side? Then, one could route the connection over the Wifi of the Raspi, which could also provide a smb share over Wifi…

Just a thought.

 
Top