Jump to content

SCSI to Ethernet Adapter on New Hardware


Recommended Posts

  • Replies 232
  • Created
  • Last Reply

Top Posters In This Topic

I've spent some time this week trying out different layouts to get both internal and external connections on the same PCB. The consensus seems to be that is the best approach, which I don't disagree with: it would be nicest to order one set of PCBs, possibly pre-populated with the passives, and use them everywhere. Unfortunately I haven't had much luck coming up with a workable design that doesn't require ripping everything up and basically starting the layout from scratch. There are some other wrinkles to consider:

  • The width of the 50-pin connector means that power has to go somewhere else. I think flying leads are the best option, since it lets the board have a simple pair of +5VDC / GND pins that you could attach a Molex lead to, or a barrel plug for outside the case.
  • Apple went with a strange layout on the DB-25 connection where the data and control lines are opposite of what they are on the standard 50-pin connector. This requires some weaving of traces or flipping one of the connectors. I have no idea why they did this, maybe it was something about the Plus logic board.
  • In the prototype layouts, I added mounting holes for the standard 3.5 inch and 2.5 inch bottom-mount hard drives. The former works directly, and the latter can be used with those cheap SSD-to-3.5 brackets. On my clone SCSI2SD v4 boards this was very helpful for giving flexibility on mounting. The downside is it eats lots of space and really mucks up the existing layout. Maybe this would work better if these were discarded?

Anyway, after this I'm still thinking separate boards for internal/external. That said, I'm no PCB layout expert and I would be thrilled if there was an alternative. If anyone wants to take a shot at it I'd love to see the results.

Link to post
Share on other sites
  • 68kMLA Supporter
4 hours ago, saybur said:

I've spent some time this week trying out different layouts to get both internal and external connections on the same PCB. The consensus seems to be that is the best approach, which I don't disagree with: it would be nicest to order one set of PCBs, possibly pre-populated with the passives, and use them everywhere. Unfortunately I haven't had much luck coming up with a workable design that doesn't require ripping everything up and basically starting the layout from scratch. There are some other wrinkles to consider:

  • The width of the 50-pin connector means that power has to go somewhere else. I think flying leads are the best option, since it lets the board have a simple pair of +5VDC / GND pins that you could attach a Molex lead to, or a barrel plug for outside the case.
  • Apple went with a strange layout on the DB-25 connection where the data and control lines are opposite of what they are on the standard 50-pin connector. This requires some weaving of traces or flipping one of the connectors. I have no idea why they did this, maybe it was something about the Plus logic board.
  • In the prototype layouts, I added mounting holes for the standard 3.5 inch and 2.5 inch bottom-mount hard drives. The former works directly, and the latter can be used with those cheap SSD-to-3.5 brackets. On my clone SCSI2SD v4 boards this was very helpful for giving flexibility on mounting. The downside is it eats lots of space and really mucks up the existing layout. Maybe this would work better if these were discarded?

Anyway, after this I'm still thinking separate boards for internal/external. That said, I'm no PCB layout expert and I would be thrilled if there was an alternative. If anyone wants to take a shot at it I'd love to see the results.

 

From your comments on the cross crossing of the connections between the 25pin and 50 pin connectors, it might make a difference from a PCB layour perspective, but I am indifferent on mounting holes as it would be easy enough to build a 3d printed bracket that would allow for easy mounting.  Definitely agree on the flying leads for power to free up some space.

 

I don't know if you had thought much about it, but I'd love your perspective on the feasibility of a wifi version to see if it's something that might be worth pursuing.  My background is pretty limited here but I think that ESP-HOSTED I linked to before might work.  I don't have any other Scuznet PCBs here, so I'm thinking I might remove the network chip from one of the two I have built and wire in an ESP32 in its place.

Link to post
Share on other sites
8 hours ago, superjer2000 said:

From your comments on the cross crossing of the connections between the 25pin and 50 pin connectors, it might make a difference from a PCB layour perspective, but I am indifferent on mounting holes as it would be easy enough to build a 3d printed bracket that would allow for easy mounting.  Definitely agree on the flying leads for power to free up some space.

 

I've been trying to keep away from needing 3D printed parts, mostly due to not having a decent 3D printer myself (I do have a Prusa i3 on order somewhere in their backlog and I know enough OpenSCAD to be able to make something crude). If 3D printing isn't a dealbreaker for people or if a purchasable case isn't important, maybe that's the approach to use: a 100x100mm board without those holes would be much easier to lay out than the internal/external combo form factor. Does anyone have thoughts on that?

 

8 hours ago, superjer2000 said:

I don't know if you had thought much about it, but I'd love your perspective on the feasibility of a wifi version to see if it's something that might be worth pursuing.  My background is pretty limited here but I think that ESP-HOSTED I linked to before might work.  I don't have any other Scuznet PCBs here, so I'm thinking I might remove the network chip from one of the two I have built and wire in an ESP32 in its place.

 

I don't know much about the ESP32 ecosystem. If they (and/or the Arduino cores) support raw packets, my guess is you'd be better off rewriting the entire firmware from scratch targeting that platform and drop the XMEGA entirely. The Nuvolink has picky timing requirements due to the reselection step and is probably out of the question, but your Daynaport version should be doable without super-high timing accuracy. @cheesestraws mentioned some other chipset options and the low-level issues you might run into. It's a big project, and probably outside the scope of scuznet, IMHO. If you get it working it would definitely be awesome, having internal WiFi in my Powerbook 145 would be so cool!

 

Alternately, I wonder if anyone has tried RaSCSI on the Raspberry Pi Zero W in a Powerbook. That might be the easier approach.

 

5 hours ago, pfuentes69 said:

All that effort is so much appreciated!!!

 

Thanks! I'm really glad people have found this project interesting :)

Link to post
Share on other sites
  • 68kMLA Supporter
19 hours ago, saybur said:

I don't know much about the ESP32 ecosystem. If they (and/or the Arduino cores) support raw packets, my guess is you'd be better off rewriting the entire firmware from scratch targeting that platform and drop the XMEGA entirely. The Nuvolink has picky timing requirements due to the reselection step and is probably out of the question, but your Daynaport version should be doable without super-high timing accuracy. @cheesestraws mentioned some other chipset options and the low-level issues you might run into. It's a big project, and probably outside the scope of scuznet, IMHO. If you get it working it would definitely be awesome, having internal WiFi in my Powerbook 145 would be so cool!

 

Alternately, I wonder if anyone has tried RaSCSI on the Raspberry Pi Zero W in a Powerbook. That might be the easier approach.

 

I am hoping it's more straightforward than you might be thinking.  I didn't really see any prior comments with specific chipset options (just that there might be) or low level issues but I wouldn't plan on trying to address this at a low level.  From what I've read, Ethernet and WiFi are fundamentally different so there are a couple of options unless one is inclined to develop a complete solution including a Macintosh WiFi driver (well outside of my expertise).

 

The two options are:

 

1) Essentially inserting a Wifi Router in between the Scuznet and Wifi:

    a) This could take the form of something similar to what Ants did previously for his SE/30 (VONETS WiFi bridge,Wireless bridge, mini wifi router, wireless repeater, wlan repeater - VM300--VM300--Products).  Unfortunately, that solution would be too large for an internal Powerbook solution.

    b) Using something like a WizNet 630S which seems to provide the same type of capability via OpenWRT in a smaller form factor with an internal antenna.

 

2) Using the ESP-Hosted

  Note that the ESP-Hosted claims to be able to take 802.3 frames and push them over WiFi.  So from a development perspective, assuming the use of DaynaPort firmware, I'm thinking it would largely be a matter of taking off the ENC28J60 and the Ethernet jack and replacing that with the ESP32.  Note that the ESP32 (and ESP32S2) are next gen of the ESP8266 and I think are generally just used to push serial data over Wifi but the specific ESP Hosted firmware/solution allows for the translation of Ethernet to Wifi.  The ESP32 allows for SPI interfacing which I think is how you connected the ENC28J60, so my thought is it shouldn't really need much of a change in firmware:  ESP32 receives a packet and pushes it to Scuznet and vice versa.  Trying to rewrite the firmware (which would include all of the SCSI stuff) for a different chip would be a significant undertaking.

 

Note that all of these solutions would require configuration of the Wifi part outside of the Macintosh.  They all seem to support AT style commands, or other command protocols to connect to Wifi stations so for sure it would be possible to build a Mac application that would send a specific SCSI command out to say read a list of SSIDs and connect to a specific one etc. but from a proof of concept perspective that wouldn't be necessary.

 

I've ordered an ESP32 module to see what would have to happen here but from a physical connection perspective, I am thinking it might be just a matter of soldering the SPI connections to the relevant pads for the ENCJ2860.  If that can be made to work then I'm sure replacing the ENC and jack on the PCB with the Wifi hardware and adding a Powerbook specific SCSI/power connector would be possible.

Link to post
Share on other sites

I took a brief look through that ESP-Hosted documentation and it does look promising for what you want. The physical interface is similar:

  • The usual 4 SPI lines,
  • A "Enable/Reset" line like "/E_RST" on scuznet,
  • A "data ready" line like "/E_INT," active high instead of low on scuznet,
  • A "handshake" line, which is an addition. You'll need to scavenge a pin somewhere off the microcontroller for this one.

The logical interface looks quite different and doesn't appear to have the pointer-based system the ENC28J60 uses. That could probably be worked around. There definitely would need to be additional code for the Ethernet/WiFi frame conversions, but I'm not familiar with how WiFi works and don't know how hard that would be.

 

As for WiFi configuration, I've been toying around with the idea of moving all the configuration information to the flash card in a future scuznet firmware, instead of storing the data in EEPROM. The flash card would be in FAT32, with each virtual hard drive being a file on the device. This would make it way easier to do system setup in something like Basilisk and would also let configuration be done in a text file on the card (or something). Maybe if that was implemented, you could add WiFi configuration information in that config file? It wouldn't be as elegant, but it sounds much easier than having to write a Mac utility to send SCSI commands.

Link to post
Share on other sites
  • 68kMLA Supporter

I’m still looking at the ESP-Hosted solution but in the interest of simplicity I’m going another route as well that I think will be very easy to get up and running. I ordered a couple of the Vonnet Vm300 modules @ants had used. As far as I can tell it looks like I can pull the  WAN Ethernet jack off the module to reduce its size. The LAN jack plugs into the module via a breakout Molex connector and the Ethernet magnetics are on the board. My plan would be to get a similar magnetics IC style component to replace the Ethernet jack on the Scuznet and then just connect the two cards with less bulky jumper wires. 
 

This would have the benefit of reusing ants wifi selection work and I think would still be small enough to fit into a PowerBook with the Scuznet.  This would also be a potential solution for Internal wifi in a compact Mac. 
 

Two downsides. First is I need a different  style antenna for a PowerBook than What ships with the vonnet. Second is I have no idea what the power consumption is which might make the PowerBook option less feasible. Third I guess is the cost. The vonnet modules are $25 each.   Still that would put a wifi and Scsi2sd solution at about $60 which is pretty reasonable. 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...