SCSI2SD Guidance - SOLVED

Started by SlateBlue, September 10, 2015, 03:56:22 am

Previous topic - Next topic

SlateBlue

I received my SCSI2SD in the mail yesterday to be used in a non-turbo slab. Locally, the smallest micro SD card I can find is 8 GB. I'm unable to initialize the SD card from NS 3.3 setup, so I'm looking for pointers on how to properly setup this device. Firmware is updated to 4.4. Initially, I used the utility to create one disk 2 GB in size. I found that with the termination resistor packs in place, my external CD-ROM would not be recognized. I removed the resistor packs from the SCSI2SD and was able to boot from the CD-ROM (set to ID 4). However, the install failed because it could not initialize the SD card. So, I then configured the SD card to have four 2 GB partitions (ID 0,1,2,3), but upon booting from floppy, the CD-ROM wasn't seen. What am I doing wrong? Do I need to reinstall the resistor packs to terminate the SCSI2SD? Are there any special parameters I need to specify in the utility to allow the NS installer to initialize the SD card? I feel like I'm asking too many questions, but at this point I'm a little lost.

TL;DR - I need help setting up a SCSI2SD device to work with a non-turbo NeXTStation.

Thanks in advance!

SlateBlue

22 views and no responses. I know a few of you have successfully installed and booted NeXTSTEP on a SCSI2SD card. What tricks did you use to initialize the card and install the operating system?

bobo68

You probably need to set the (virtual) geometry of the SCI2SD device. I'm sure the format process interrupts with a "cylinder group too large" error message, right? AFAIK NeXTStep tries to optimize the format based on the geometry of the drive but the defaults reported by SCSI2SD are so "out of line" that this fails.

I reported that to Michael McMaster (the inventor of SCSI2SD) and since V 4.3 you can set the geometry like this:

1) Use scsi2sd-util to load existing settings from the SCSI2SD.
2) Use the new scsi2sd-util "Save to File ..." option to save a config file
3) Open the config file, and change sectorsPerTrack to 139 and headsPerCylinder to 4
4) Use the new scsi2sd-util "Open file ..." option to open the modified config file
5) Save the settings to the SCSI2SD.

(I lazily copied this from an E-Mail from Michael)

Alternatively you can just dump an image of a bootable HD onto the SD card using you Mac (dd...) or PC.

HTH, bobo68

wa2flq

FWIW

The last SCSI2SD I received had a black insert on the termination power and led jumper pins.     I wasn't paying attention and didn't notice it wasn't an electrical jumper, just a bit of plastic to help mechanically stablize the pins.

Cause me all sorts of problems until I added a real jumper.

SlateBlue

Quote from: "bobo68"You probably need to set the (virtual) geometry of the SCI2SD device. I'm sure the format process interrupts with a "cylinder group too large" error message, right? AFAIK NeXTStep tries to optimize the format based on the geometry of the drive but the defaults reported by SCSI2SD are so "out of line" that this fails.

I reported that to Michael McMaster (the inventor of SCSI2SD) and since V 4.3 you can set the geometry like this:

1) Use scsi2sd-util to load existing settings from the SCSI2SD.
2) Use the new scsi2sd-util "Save to File ..." option to save a config file
3) Open the config file, and change sectorsPerTrack to 139 and headsPerCylinder to 4
4) Use the new scsi2sd-util "Open file ..." option to open the modified config file
5) Save the settings to the SCSI2SD.

(I lazily copied this from an E-Mail from Michael)

Alternatively you can just dump an image of a bootable HD onto the SD card using you Mac (dd...) or PC.

HTH, bobo68


Thank you. This helped immensely. I wasn't aware that I could export a .xml file and edit those parameters. I got further than I did before using similar values to what you provided, but a few minutes after the installer began copying files to the disk, two errors were thrown: "IO error on pagein (bread)" and "IO error on page in (breadDirect)". These two messages looped repeatedly to the output window. Not sure what this means, but it's better than before.

EDIT: To add to my response - No, the install process does not get interrupted with a "cylinder group too large" error message. Prior to today, the error I got said something along the lines of unable to initialize disk. I'm paraphrasing here because I can't remember the specific message. I'm still tinkering with the setup as I have not yet been able to successfully install NS 3.3 onto this slab yet.

dd-ing a system install to a modern piece of technology is not feasible for me. For one, I don't have an image to dump to disk and if I did I have no way for my Mac or PC to interface with a 50-pin SCSI disk. If anything changes, I'll post an update. Thank you guys for your responses.

SlateBlue

Success! I was finally able to initialize the 2 GB SDHC card and install NeXTSTEP 3.3.

So that it may help others, here is the configuration file I used for my non-turbo slab:

<SCSI2SD>
<SCSITarget id="0">
<enabled>true</enabled>
<unitAttention>false</unitAttention>
<parity>false</parity>
<!-- ********************************************************
Only set to true when using with a fast SCSI2 host
controller. This can cause problems with older/slower
hardware.
********************************************************* -->
<enableScsi2>false</enableScsi2>
<!-- ********************************************************
Setting to 'true' will result in increased performance at the
cost of lower noise immunity.
Only set to true when using short cables with only 1 or two
devices. This should remain off when using external SCSI1 DB25
cables.
********************************************************* -->
<disableGlitchFilter>true</disableGlitchFilter>

<!-- ********************************************************
Space separated list. Available options:
apple Returns Apple-specific mode pages
********************************************************* -->
<quirks></quirks>


<!-- ********************************************************
0x0    Fixed hard drive.
0x1    Removable drive.
0x2    Optical drive  (ie. CD drive).
0x3    1.44MB Floppy Drive.
********************************************************* -->
<deviceType>0x0</deviceType>


<!-- ********************************************************
Device type modifier is usually 0x00. Only change this if your
OS requires some special value.

0x4C    Data General Micropolis disk
********************************************************* -->
<deviceTypeModifier>0x00</deviceTypeModifier>


<!-- ********************************************************
SD card offset, as a sector number (always 512 bytes).
********************************************************* -->
<sdSectorStart>0</sdSectorStart>


<!-- ********************************************************
Drive geometry settings.
********************************************************* -->

<scsiSectors>3905900</scsiSectors>
<bytesPerSector>512</bytesPerSector>
<sectorsPerTrack>139</sectorsPerTrack>
<headsPerCylinder>4</headsPerCylinder>


<!-- ********************************************************
Drive identification information. The SCSI2SD doesn't
care what these are set to. Use these strings to trick a OS
thinking a specific hard drive model is attached.
********************************************************* -->

<!-- 8 character vendor string -->
<!-- For Apple HD SC Setup/Drive Setup, use ' SEAGATE' -->
<vendor>SEAGATE</vendor>

<!-- 16 character produce identifier -->
<!-- For Apple HD SC Setup/Drive Setup, use '          ST225N' -->
<prodId>ST1255ND</prodId>

<!-- 4 character product revision number -->
<!-- For Apple HD SC Setup/Drive Setup, use '1.0 ' -->
<revision>0009</revision>

<!-- 16 character serial number -->
<serial>ML64203MF6QLC</serial>
</SCSITarget>
<SCSITarget id="1">
<enabled>false</enabled>
<unitAttention>false</unitAttention>
<parity>false</parity>
<!-- ********************************************************
Only set to true when using with a fast SCSI2 host
controller. This can cause problems with older/slower
hardware.
********************************************************* -->
<enableScsi2>false</enableScsi2>
<!-- ********************************************************
Setting to 'true' will result in increased performance at the
cost of lower noise immunity.
Only set to true when using short cables with only 1 or two
devices. This should remain off when using external SCSI1 DB25
cables.
********************************************************* -->
<disableGlitchFilter>false</disableGlitchFilter>

<!-- ********************************************************
Space separated list. Available options:
apple Returns Apple-specific mode pages
********************************************************* -->
<quirks></quirks>


<!-- ********************************************************
0x0    Fixed hard drive.
0x1    Removable drive.
0x2    Optical drive  (ie. CD drive).
0x3    1.44MB Floppy Drive.
********************************************************* -->
<deviceType>0x0</deviceType>


<!-- ********************************************************
Device type modifier is usually 0x00. Only change this if your
OS requires some special value.

0x4C    Data General Micropolis disk
********************************************************* -->
<deviceTypeModifier>0x0</deviceTypeModifier>


<!-- ********************************************************
SD card offset, as a sector number (always 512 bytes).
********************************************************* -->
<sdSectorStart>4194303</sdSectorStart>


<!-- ********************************************************
Drive geometry settings.
********************************************************* -->

<scsiSectors>4194303</scsiSectors>
<bytesPerSector>512</bytesPerSector>
<sectorsPerTrack>63</sectorsPerTrack>
<headsPerCylinder>255</headsPerCylinder>


<!-- ********************************************************
Drive identification information. The SCSI2SD doesn't
care what these are set to. Use these strings to trick a OS
thinking a specific hard drive model is attached.
********************************************************* -->

<!-- 8 character vendor string -->
<!-- For Apple HD SC Setup/Drive Setup, use ' SEAGATE' -->
<vendor>Quantum </vendor>

<!-- 16 character produce identifier -->
<!-- For Apple HD SC Setup/Drive Setup, use '          ST225N' -->
<prodId>Fireball        </prodId>

<!-- 4 character product revision number -->
<!-- For Apple HD SC Setup/Drive Setup, use '1.0 ' -->
<revision>03  </revision>

<!-- 16 character serial number -->
<serial>ML64203MF6QLL   </serial>
</SCSITarget>
<SCSITarget id="2">
<enabled>false</enabled>
<unitAttention>false</unitAttention>
<parity>false</parity>
<!-- ********************************************************
Only set to true when using with a fast SCSI2 host
controller. This can cause problems with older/slower
hardware.
********************************************************* -->
<enableScsi2>false</enableScsi2>
<!-- ********************************************************
Setting to 'true' will result in increased performance at the
cost of lower noise immunity.
Only set to true when using short cables with only 1 or two
devices. This should remain off when using external SCSI1 DB25
cables.
********************************************************* -->
<disableGlitchFilter>false</disableGlitchFilter>

<!-- ********************************************************
Space separated list. Available options:
apple Returns Apple-specific mode pages
********************************************************* -->
<quirks></quirks>


<!-- ********************************************************
0x0    Fixed hard drive.
0x1    Removable drive.
0x2    Optical drive  (ie. CD drive).
0x3    1.44MB Floppy Drive.
********************************************************* -->
<deviceType>0x0</deviceType>


<!-- ********************************************************
Device type modifier is usually 0x00. Only change this if your
OS requires some special value.

0x4C    Data General Micropolis disk
********************************************************* -->
<deviceTypeModifier>0x0</deviceTypeModifier>


<!-- ********************************************************
SD card offset, as a sector number (always 512 bytes).
********************************************************* -->
<sdSectorStart>0</sdSectorStart>


<!-- ********************************************************
Drive geometry settings.
********************************************************* -->

<scsiSectors>4194303</scsiSectors>
<bytesPerSector>512</bytesPerSector>
<sectorsPerTrack>63</sectorsPerTrack>
<headsPerCylinder>255</headsPerCylinder>


<!-- ********************************************************
Drive identification information. The SCSI2SD doesn't
care what these are set to. Use these strings to trick a OS
thinking a specific hard drive model is attached.
********************************************************* -->

<!-- 8 character vendor string -->
<!-- For Apple HD SC Setup/Drive Setup, use ' SEAGATE' -->
<vendor> codesrc</vendor>

<!-- 16 character produce identifier -->
<!-- For Apple HD SC Setup/Drive Setup, use '          ST225N' -->
<prodId>         SCSI2SD</prodId>

<!-- 4 character product revision number -->
<!-- For Apple HD SC Setup/Drive Setup, use '1.0 ' -->
<revision> 4.2</revision>

<!-- 16 character serial number -->
<serial>1234567812345678</serial>
</SCSITarget>
<SCSITarget id="3">
<enabled>false</enabled>
<unitAttention>false</unitAttention>
<parity>false</parity>
<!-- ********************************************************
Only set to true when using with a fast SCSI2 host
controller. This can cause problems with older/slower
hardware.
********************************************************* -->
<enableScsi2>false</enableScsi2>
<!-- ********************************************************
Setting to 'true' will result in increased performance at the
cost of lower noise immunity.
Only set to true when using short cables with only 1 or two
devices. This should remain off when using external SCSI1 DB25
cables.
********************************************************* -->
<disableGlitchFilter>false</disableGlitchFilter>

<!-- ********************************************************
Space separated list. Available options:
apple Returns Apple-specific mode pages
********************************************************* -->
<quirks></quirks>


<!-- ********************************************************
0x0    Fixed hard drive.
0x1    Removable drive.
0x2    Optical drive  (ie. CD drive).
0x3    1.44MB Floppy Drive.
********************************************************* -->
<deviceType>0x0</deviceType>


<!-- ********************************************************
Device type modifier is usually 0x00. Only change this if your
OS requires some special value.

0x4C    Data General Micropolis disk
********************************************************* -->
<deviceTypeModifier>0x0</deviceTypeModifier>


<!-- ********************************************************
SD card offset, as a sector number (always 512 bytes).
********************************************************* -->
<sdSectorStart>0</sdSectorStart>


<!-- ********************************************************
Drive geometry settings.
********************************************************* -->

<scsiSectors>4194303</scsiSectors>
<bytesPerSector>512</bytesPerSector>
<sectorsPerTrack>63</sectorsPerTrack>
<headsPerCylinder>255</headsPerCylinder>


<!-- ********************************************************
Drive identification information. The SCSI2SD doesn't
care what these are set to. Use these strings to trick a OS
thinking a specific hard drive model is attached.
********************************************************* -->

<!-- 8 character vendor string -->
<!-- For Apple HD SC Setup/Drive Setup, use ' SEAGATE' -->
<vendor> codesrc</vendor>

<!-- 16 character produce identifier -->
<!-- For Apple HD SC Setup/Drive Setup, use '          ST225N' -->
<prodId>         SCSI2SD</prodId>

<!-- 4 character product revision number -->
<!-- For Apple HD SC Setup/Drive Setup, use '1.0 ' -->
<revision> 4.2</revision>

<!-- 16 character serial number -->
<serial>1234567812345678</serial>
</SCSITarget>
</SCSI2SD>


I will say that the system seems to run slower from the SD card than the Quantum Fireball I had installed before. However, I don't have any benchmarks to confirm this and the Fireball is, well, toast. I have not tried to disable the GlitchFilter to see if performance improves. Lastly, using this configuration, the SD card will appear to be about 1.9 GB in size.

Edited: 9/12/2015
Reason: Updated config file to reflect current setup.

Scutboy

This is good stuff. Will have to stash it away in the "remember" file, and will share with some Mac folks in case it helps them in the future.

pl212

It would be interesting if folks could contribute the original vendor/device types of OEM NeXT drives... 330mb and 660mb full-height drives in the case of the Cube, I believe. That way the console messages at verbose boot would even be correct!

bobo68

You're welcome, SlateBlue.

What your config file boils down to is one SCSI device with SCSI id 0 and the geometry I mentioned. Additionally you specified some drive id info which I did not have to do to make SCSI2SD work with my NeXTstation Turbo. I also did not have to move the sdSectorStart.

What happened that it suddenly worked for you between the two posts?

You will see the "cylinder group too large" message only if you are using the Terminal or (I think) have a look at the Console.

Quotedd-ing a system install to a modern piece of technology is not feasible for me...

You can dd the image onto the sdcard which you plug into you Mac or PC. No need for SCSI. There are images out there - Google is your friend.  :)

pergamon

Quote from: "pl212"It would be interesting if folks could contribute the original vendor/device types of OEM NeXT drives... 330mb and 660mb full-height drives in the case of the Cube, I believe. That way the console messages at verbose boot would even be correct!


I have several different OEM NeXT drives, I'll try to hook them up this weekend and get that info.

SlateBlue

Quote from: "bobo68"You're welcome, SlateBlue.

What your config file boils down to is one SCSI device with SCSI id 0 and the geometry I mentioned. Additionally you specified some drive id info which I did not have to do to make SCSI2SD work with my NeXTstation Turbo. I also did not have to move the sdSectorStart.

What happened that it suddenly worked for you between the two posts?

You will see the "cylinder group too large" message only if you are using the Terminal or (I think) have a look at the Console.

Quotedd-ing a system install to a modern piece of technology is not feasible for me...

You can dd the image onto the sdcard which you plug into you Mac or PC. No need for SCSI. There are images out there - Google is your friend.  :)

If you'll notice, there was about 4 hours between those two posts. ;) All I did was edit the config file in a text editor using some of the parameters you specified, and I made some arbitrary tweaks such as adding drive model and serial number. After doing so, I ran the installer again and it successfully initialized the SD card and installed the operating system. I didn't have a reason to add the offset value; I just did it.

The only thing my Google search yielded was a link to download 3.3 User. After successfully installing the operating system, I used dd to create an image which is stored on my Linux PC. If someone needs a copy, I might be available for best friend status.

I have the original hard disk that came from this slab. It's a Quantum ProDrive and I'm thinking it has a 1988 or 1989 date on it. I can snap a photo of the label and upload it here. I'm not sure of its size.

SlateBlue

This is a unique-looking hard drive. I've never seen one with a plastic panel on the front. This one appears to be a 105 MB model which may or may not have been original to the non-turbo slab. Seems like NeXT used mostly Seagate or Maxtor drives.

Photo 1

Photo 2

Photo 3

Photo 4

EDIT: The syntax of my links above looks correct to me. They aren't clickable at this point. Dunno...

mikeboss

Quote from: "pl212"It would be interesting if folks could contribute the original vendor/device types of OEM NeXT drives... 330mb and 660mb full-height drives in the case of the Cube, I believe. That way the console messages at verbose boot would even be correct!


a list of manufacturers/models and disk geometry can be found in /etc/disktab of NeXTSTEP 1.0a (maybe in later releases too, I didn't check).
October 12, 1988 Computing Advances To The NeXT Level

bobo68

Quote from: "pergamon"I have several different OEM NeXT drives, I'll try to hook them up this weekend and get that info.


The scsimodes command should give you good info, e.g.
scsimodes /dev/rsd0a
SCSI information for /dev/rsd0a
Drive type: SEAGATE ST43400N
512 bytes per sector
99 sectors per track
21 tracks per cylinder
2737 cylinder per volume (including spare cylinders)
9 spare sectors per cylinder
21 alternate tracks per volume
5688446 usable sectors on volume

(from Mark Tacchi, "Adding On without Flipping Out")

bobo68

Quote from: "SlateBlue"The only thing my Google search yielded was a link to download 3.3 User.

Do "nextstep iso download" at Google -> Boom (as Steve would have said)

Quote from: "SlateBlue"I have the original hard disk that came from this slab. It's a Quantum ProDrive and I'm thinking it has a 1988 or 1989 date on it. I can snap a photo of the label and upload it here. I'm not sure of its size.

I have a similar drive in my Color slab, also with the plastic front. They are not that unusual. The plastic was really meant to be the front panel when used in an open enclosing.