saybur
Well-known member
I've been spending some time recently making a SCSI to Ethernet adapter using all-new hardware. I managed to snag a Nuvotech NuvoLink SC off eBay, and after doing some analysis of how it talks with the driver over SCSI, I've decoded the vendor-specific parts of the communications protocol and implemented a compatible version on a custom PCB. Here's some pictures of the board and test setup:
https://imgur.com/a/ZJFfrSG
The board is based on a ENC28J60 Ethernet chip and XMEGA AU series microcontroller, with a SD card thrown in the mix for good measure to emulate a hard drive. Networking has been tested under System 6 and EtherTalk seems to work fine with an unmodified Nuvotech driver. That said, this is definitely just a prototype, so there are plenty of things that still need to be done:
It's been a bit of a slog to get to this point, and I mainly wanted to share this with the community and see what others thought of the project. Plus, I was pretty happy to have pictures of this thing working: I've been banging my head on my keyboard with it for a while.
)
My short-term plan for this board is to release the protocol documentation, design, and code under GPLv3 and let others poke around with this. I'll be working on getting the firmware into a slightly nicer state over the next few days and then throw all the files up on Github. I do not have any interest in making this to a kit / product / etc: if anyone would like to take a stab at that, you'll be free to do so under the license. At minimum, the protocol documentation will hopefully be of some value to the community.
If anyone has questions or comments, please fire away. Thanks for reading!
https://imgur.com/a/ZJFfrSG
The board is based on a ENC28J60 Ethernet chip and XMEGA AU series microcontroller, with a SD card thrown in the mix for good measure to emulate a hard drive. Networking has been tested under System 6 and EtherTalk seems to work fine with an unmodified Nuvotech driver. That said, this is definitely just a prototype, so there are plenty of things that still need to be done:
- Test with MacTCP or OpenTransport on newer versions of the OS. There is conflicting information I've found online about how compatible this particular driver is.
- See about compatibility with other SCSI to Ethernet adapters. Focus bought Nuvotech and appears to have re-released everything under their brand, so getting their driver working would likely be pretty easy. I'd ideally aim to get compatibility with a driver known to be stable with Open Transport in particular (if one exists). Other, wiser members might have some ideas on that.
- Finish the HDD emulator, which is only partially working.
- Spin a board revision that has USB for firmware updates instead of the vendor PDI interface, and fix some of the other annoying problems I caused myself with the hardware design.
- Fix the significant bugs that I'm sure still are lurking in the code.
It's been a bit of a slog to get to this point, and I mainly wanted to share this with the community and see what others thought of the project. Plus, I was pretty happy to have pictures of this thing working: I've been banging my head on my keyboard with it for a while.
My short-term plan for this board is to release the protocol documentation, design, and code under GPLv3 and let others poke around with this. I'll be working on getting the firmware into a slightly nicer state over the next few days and then throw all the files up on Github. I do not have any interest in making this to a kit / product / etc: if anyone would like to take a stab at that, you'll be free to do so under the license. At minimum, the protocol documentation will hopefully be of some value to the community.
If anyone has questions or comments, please fire away. Thanks for reading!