[Coco] BUG with rbsuper and tc3 drivers SOLVED!

Tim Fadden t.fadden at cox.net
Fri Feb 17 17:25:19 EST 2017


On 2/17/2017 1:53 PM, Tim Fadden wrote:
> On 2/14/2017 12:56 PM, Robert Gault wrote:
>> Tormod Volden wrote:
>>> On Tue, Feb 14, 2017 at 8:00 PM, Tormod Volden wrote:
>>>> dmode doesn't call the driver so that sounds strange. Can you please
>>>> send these descriptors to me. At least dmode issues I can reproduce
>>>> without having SCSI disks :)
>>>>
>>>> What remains unclear to me is whether the DRV field has to be unique
>>>> per controller, for every target and partition. I get a vague
>>>> impression of this after reading the SuperDriver manual, and I also
>>>> see rbsuper use the DRV number for its cache matching logic.
>>>>
>>>> I wonder if reading a sector from target 4 just after writing to the
>>>> same sector number to target 3 would return what was written to target
>>>> 3, unless also the DRV numbers are different? Especially since rbsuper
>>>> is unaware of DNS being used for target number. Or likewise reading
>>>> from one partition after writing to the same logical sector on another
>>>> partition, because although it is rbsuper that adds the partition
>>>> offsets, it does so after checking for cache hit and only just before
>>>> calling the low-level driver on cache miss.
>>>
>>> Yup, see the Partitioning section on
>>> http://nitros9.sourceforge.net/wiki/index.php/SuperDriver
>>> "Do NOT allow two device descriptors share the same logical drive
>>> number if they have different LSN offsets."
>>>
>>> I guess the same applies for different SCSI target IDs, so we should
>>> fix the stock descriptors to both have different DRV and DNS.
>>>
>>> Tormod
>>>
>>
>> I don't use the SuperDriver so this comment is based on the email 
>> thread and http://nitros9.sourceforge.net/wiki/index.php/SuperDriver, 
>> not actual experience.
>>
>> Be careful to distinguish HDB-DOS emulated Basic drives on a hard 
>> drive from SCSI channels, as they are not equivalent. If the 
>> SuperDriver is similar to the software that came with Ken-Ton hard 
>> drives, the SCSI channel is based on the drive number used and 
>> automatically calculated by the ROM or OS-9 software.
>> IT.DNS is used by the SuperDriver for several things. One is 
>> indicating that there are 256 bytes per sector when using emulated 
>> Basic drives. IT.STP is used to indicate the emulated drive number 
>> 0-255.
>>
>> Robert
>>
>>
> SRY, was out of town or I would have chimed in sooner.
>
> With the original Superdriver, the scsi Id used the drv field for the 
> scsi ID.  On the newer SuperDriver, the dns field picks up the scsi 
> ID, and the drv setting has no affect. I have two scsi disks, both 
> with multiple partitions. The original SuperDriver documentation does 
> not match with the way the newer SuperDriver works.
>
> I set them up like below, and everything works as it should. the p 
> names are for target 0, and I used q for target 4
> Both disks have the same partiton structure so they look similar 
> except for the scsi id setting in the dns field. The first number in 
> the dns field turns on and off turbo mode if the driver still works 
> the same as it did originally.  and changing the drv setting has no 
> affect at all as far as I can see.
>
> scsi disk set to target 0, 4 partitions
> nam=p0 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=10 cyl=012C sid=24
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=02 wpc=00 ofs=00 rvc=
>
> nam=p1 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=10 cyl=0068 sid=10
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=02 wpc=0F ofs=D202 rvc=
>
> nam=p2 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=10 cyl=012C sid=24
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=02 wpc=12 ofs=4204 rvc=
>
> nam=p3 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=10 cyl=C213 sid=24
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=04 wpc=22 ofs=1406 rvc=
>
> scisi disk set to target 4, w partitions.
> nam=p0 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=14 cyl=012C sid=24
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=02 wpc=00 ofs=00 rvc=
>
> nam=p1 mgr=RBF ddr=rbsuper
> hpn=07 hda=FF74 drv=00 stp=00 typ=83 dns=14 cyl=0068 sid=10
> vfy=01 sct=0060 t0s=0060 ilv=01 sas=02 wpc=0F ofs=D202 rvc=
>
> The above works perfectly
>
> is using 3 digit names ok?  that way I could use a naming scheme like 
> /s00,  /s01, /s02,/s03, /s04,/ s40, /s41
>
> showing logically the target and partition. I used a different letter 
> for each target, and a number for the partition.
>
> the first number in the dns field turns on and off turbo mode. and 
> changing the drv setting has no affect at all as far as I can see.
>
> Also the descriptors in the distribution are all set for target 0, 
> where as in the past each descriptor was for a different target.
>
>

CORRECTION!  all type fields are now 81.  they were 83 on my old drivers.


-- 
Tim Fadden
"Hey Schmidt, don't forget about the six P's.
Proper Preparation Prevents Piss-Poor Performance!"



More information about the Coco mailing list