# Advansys SCSI boot time incantations...<solved>

## pappy_mcfae

I went on a scavenger hunt at a local thrift store, and came up with two old ultra-wide SCSI drives. I have a VERY old advansys SCSI adapter (ABP960U...Iomega SCSI Jet, PCI), and with adapters, the drives do actually fire up and work. The problem is that driver...well, it sucks. 

When the system in question is started using an ATA drive as the main boot drive, and the SCSI driver set as a module, then the adapter works, and the drive under test will come up and can be mounted. When the SCSI drive is the ONLY drive in the system, and the advansys driver is compiled in, the firmware fails to load, which means the card won't operate. Trying to set up an initramfs while using the advansys driver as a module also results in a no-boot scenario for this adapter/drive combo. Once again, the firmware won't load, and the system is dead in the water.

I am fairly sure that there are incantations; options that can be used via the boot loader (lilo in my case) that will allow the adapter to run alone. If anyone out there has an advansys SCSI adapter that works, please let me know what it will take to get things going. 

I am fairly sure it's a question of IRQ's, IO ports, or the wicked combo of the two that is the root of my evil. I am also fairly sure that there are others out there who have this card working in their machines. Please tell me how to make it work. Googling isn't the way on this one.

Cheers,

Pappy

----------

## NeddySeagoon

pappy_mcfae,

When you make the driver as a module, its firmware goes in /lib/firmare.

Since root is mounted when you load the module, the firmware can be loaded from /lib/firmware and all is well.

Whe you make the driver built in, the firware must be loaded *before* root is mounted, so /lib/firmware is no use at all.

You must build the firmware into the kernel.

Under  Generic Driver Options you need some of this

```
  │ │          (space/separated/list/of/firmare/files) External firmware blobs to build into the│ │  

  │ │          (firmware) Firmware blobs root directory  
```

The firmware build into the kernel and the driver as a module fails too.

Its a lot like wireless - modules are easier to debug but built in is possible too.

----------

## pappy_mcfae

T'were it only that easy. 

There's no problem with the firmware. It's in its proper place. As I said, I know that the driver will work when set as a module, and the system boots from the PATA drive installed in the machine's drive bay. When booted from the PATA drive, the SCSI drive is fully accessible. When "booted" from the not-so-physically installed SCSI drive, it gets as far as firmware load, and things stop dead. Whether set as a module or compiled in, the driver won't boot the hard drive on which this install presently resides. Even using initramfs didn't seem to make a difference. 

It probably wasn't the greatest initramfs setup, but I would have thought that the machine would have booted and ran considering things worked properly in the case of the module and the other drive as boot. There are supposed to be some things you can add to either /etc/lilo.conf or /boot/grub/grub.conf. The list of variables given was less than stellar. My reading of the source has lead me to the conclusion I wish I knew more about coding, so I could find the rotten egg in the sea of code that is advansys.c.

I am not afraid to run a machine on hacked kernel code. This one has been running a hack since forever. If it takes a bit of creative code writing, and someone can point me in the direction of where that writing could be applied, that would be as good an option as any.

In the grand scheme of things, it's not that big of an issue. That said, I'd still like to make it work just because I love making things like that work...if at all possible. I'm sure there is someone who still fires up to an old advansys SCSI controller on their not-so-old rig. If you do, clue me in on this one.

Cheers,

Pappy

----------

## saellaven

I have an advansys 940 that came with a SCSI scanner I bought back in the mid-90s. I used it up until maybe about 3 years ago and had a tape drive and an old full height hard drive hanging off it. It was working as of then, though I wasn't booting off it. The driver got re-written a few years ago because it was very badly out of date wrt kernel interfaces by someone that didn't even have an advansys card at the time (though he got one to test with).

The card was pretty craptastic, I only kept it around for the external port for the scanner. I ended up buying an adaptec card for my SCSI drives. It's still installed out of laziness and I have the modules compiled in, but with nothing attached, I'm afraid I'm not much help. Try contacting Matthew Wilcox (his email address is in the advansys.c file)

----------

## NeddySeagoon

Pappy,

Try adding rootdelay=10 or something to the kernel line in grub.conf, as well as built in firmware.

I suspect that the firmware needs time to do its thing before its ready to allow the kernel to mount root.

The time is in seconds, so 10 sec should be ages.

----------

## pappy_mcfae

Even though I know that adapter is craptastic, that doesn't prevent it from booting/operating properly with Kubuntu Trinity. This probably means that I could use a genkernel special, and get operation. I might find that out in the next few days. I have other things that need my attention at the moment.

I am still interested in reading the words of someone who has this adapter operating properly with Gentoo. It has to be a doable thing. Knowing what I know about computer/computer part junkies, I know there is someone out there who has a functional Gentoo system with an advansys adapter just like mine. I just need to wait until that person tells me the secret to their success.

Cheers,

Pappy

----------

## pappy_mcfae

Apparently, even when the firmware exists in /lib/firmware, the FIRMWARE_IN_KERNEL option being off will prevent the loading of the firmware. I never knew it was an issue because the b43 module used to load its firmware just fine. I guess that's the difference between a wireless adapter and a SCSI drive controller. I'm so stoked that I don't have to use initramfs. I'm also quite happy to have that old adapter working again. It's like an old friend you can count on to be there.

Cheers,

Pappy

----------

