AW: [ros-kernel] IOMega Zip Drive

James Tabor jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net
Mon Mar 22 19:58:33 CET 2004


Hartmut Birr wrote:
> Hi,
> 
> I think there is something wrong in DiskClassCreateDeviceObject and
> DiskClassDeviceControl (for IOCTL_DISK_GET_DRIVE_GEOMETRY).
> DiskClassCreateDeviceObject does never check for valid partition table
> from a removable media. DiskClassDeviceControl (for
> IOCTL_DISK_GET_DRIVE_GEOMETRY) must reread the partition table and check
> if it is a valid table. Can you disable some lines in disk.c and try it
> again? Possible It does fix the problem if the zip is inserted at boot
> time.
> 
> - Hartmut
> 
>  
> 
> 
Yes that did the trick! Changed disk and it still thinks it is the first
disk. But it read the Factory fdisk/formated zip!

In Atapi.c the configbits for the zip drive are 0x80a0. So I did this,

  DPRINT1("ConfigBits: 0x%x\n", DeviceParams->ConfigBits);
   if(DeviceParams->ConfigBits & 0x80a0)
   {
   DPRINT1("ZIP DISK\n");
   }
   else
   if (DeviceParams->ConfigBits & 0x80)
     {
       DPRINT1("Removable media!\n");
       InquiryData->RemovableMedia = 1;
     }

It basicly does the same, and once you read the disk, you can not change it.

In include/ntos/disk.h,

typedef enum _MEDIA_TYPE
{
   Unknown,
   F5_1Pt2_512,
   F3_1Pt44_512,
   F3_2Pt88_512,
   F3_20Pt8_512,
   F3_720_512,
   F5_360_512,
   F5_320_512,
   F5_320_1024,
   F5_180_512,
   F5_160_512,
   RemovableMedia,
   FixedMedia
} MEDIA_TYPE;

Can we add ZipMedia and check it the same way as a Fixed/Removable Media type?
Or if ZipMedia force a rebuild the Partition table and Geometry?
I don't what to start any problems w/o a consensus.

Thanks,
James



More information about the Ros-kernel mailing list