Messages in this thread | | | Subject | patch (kernel 2.2.2): scsi DVD-RAM LF-D101 | Date | Tue, 23 Feb 1999 17:08:10 +0000 | From | Sergio Brandano <> |
| |
> Linux version 2.2.2 (root@scotus) (gcc version 2.7.2.3) #6 Tue Feb 23 16:07:46 GMT 1999
Before the patch: ----------------
>(scsi0) <Adaptec AHA-294X Ultra2 SCSI host adapter> found at PCI 11/0 >(scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs >(scsi0) Downloading sequencer code... 407 instructions downloaded >scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.10/3.2.4 <Adaptec AHA-294X Ultra2 SCSI host adapter> >scsi : 1 host. > Vendor: MATSHITA Model: PD-2 LF-D100 Rev: A109 > Type: CD-ROM ANSI SCSI revision: 02 >Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0 >(scsi0:0:4:0) Synchronous at 10.0 Mbyte/sec, offset 32. >scsi : detected 1 SCSI cdrom total. >sr0: scsi3-mmc drive: 0x/0x cd/rw xa/form2 cdda tray >Uniform CDROM driver Revision: 2.52
<root> [~] --> mount-dvd mount: the kernel does not recognize /dev/sda as a block device (maybe `insmod driver'?) <root> [~] -->
After the patch: ---------------
>(scsi0) <Adaptec AHA-294X Ultra2 SCSI host adapter> found at PCI 11/0 >(scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs >(scsi0) Downloading sequencer code... 407 instructions downloaded >scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.10/3.2.4 > <Adaptec AHA-294X Ultra2 SCSI host adapter> >scsi : 1 host. > Vendor: MATSHITA Model: PD-2 LF-D100 Rev: A109 > Type: Optical Device ANSI SCSI revision: 02 >Detected scsi removable disk sda at scsi0, channel 0, id 4, lun 0 >(scsi0:0:4:0) Synchronous at 10.0 Mbyte/sec, offset 32. > Vendor: MATSHITA Model: PD-2 LF-D100 Rev: A109 > Type: CD-ROM ANSI SCSI revision: 02 >Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0 >scsi : detected 1 SCSI cdrom 1 SCSI disk total. >sr0: scsi3-mmc drive: 0x/0x cd/rw xa/form2 cdda tray >Uniform CDROM driver Revision: 2.52 >SCSI device sda: hdwr sector= 2048 bytes. Sectors= 1218960 [2380 MB] [2.4 GB] >sda: Write Protect is off
<root> [~] --> mount /dev/sda /mnt/dvd <root> [~] --> df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda2 2478169 1483223 866828 63% / /dev/hda3 1981000 1481090 397496 79% /home /dev/hda1 1539180 880156 659024 57% /mnt/Win98 /dev/sda 2360970 1360364 878710 61% /mnt/dvd <root> [~] --> cat /etc/fstab /dev/hda4 swap swap defaults 0 0 /dev/hda2 / ext2 defaults 1 1 /dev/hda3 /home ext2 defaults 1 1 /dev/hda1 /mnt/Win98 vfat defaults 1 0 /dev/sda /mnt/dvd ext2 user,noauto,rw,suid,exec 0 0 none /proc proc defaults 0 0 <root> [~] -->
The patch: ---------
<root> [/usr/src/linux/drivers/scsi] --> diff --context=3 scsi.c scsi.c~
*** scsi.c Tue Feb 23 16:39:29 1999 --- scsi.c~ Tue Feb 23 16:34:30 1999 *************** *** 629,653 **** Scsi_Device * SDtail, *SDpnt=*SDpnt2; int bflags, type=-1; - static int PANA_DVD_RAM[2] = {-1,-1}; - int org_lun = lun; SDpnt->host = shpnt; SDpnt->id = dev; SDpnt->lun = lun; SDpnt->channel = channel; SDpnt->online = TRUE;
- /* MATSUSHITA DVD-RAM LF-D100 */ - if (PANA_DVD_RAM[0] == channel && PANA_DVD_RAM[1] == dev && lun == 1) { - /* get CD-ROM type */ - SDpnt->lun = lun = 0; - } else { - /* clear status */ - PANA_DVD_RAM[0] = -1; - PANA_DVD_RAM[1] = -1; - } /* Some low level driver could use device->type (DB) */ SDpnt->type = -1; --- 629,640 ---- *************** *** 749,769 **** scsi_result[1] |= 0x80; /* removable */ } - if (!strncmp (scsi_result + 8, "MATSHITA", 8) && - !strncmp (scsi_result + 16, "PD-2 LF-D100", 12) && - scsi_result[0] == TYPE_ROM) { - if (PANA_DVD_RAM[0] == channel && PANA_DVD_RAM[1] == dev && org_lun == 1) { - /* MATSUSHITA DVD-RAM LF-D100 treats as ROM */ - lun = 1; - } else { - /* MATSUSHITA DVD-RAM LF-D100 treats as MOD */ - scsi_result[0] = TYPE_MOD; - scsi_result[1] |= 0x80; /* removable */ - PANA_DVD_RAM[0] = channel; - PANA_DVD_RAM[1] = dev; - } - } memcpy (SDpnt->vendor, scsi_result + 8, 8); memcpy (SDpnt->model, scsi_result + 16, 16); memcpy (SDpnt->rev, scsi_result + 32, 4); --- 736,741 ---- *************** *** 947,959 **** return 1; } - /* MATSUSHITA DVD-RAM LF-D100 */ - if (PANA_DVD_RAM[0] == channel && PANA_DVD_RAM[1] == dev && org_lun == 1) - { - *max_dev_lun = 2; - return 1; - } /* * If this device is known to support multiple units, override the other * settings, and scan all of them. --- 919,924 ---- *************** *** 962,968 **** *max_dev_lun = 8; return 1; } /* * We assume the device can't handle lun!=0 if: - it reports scsi-0 (ANSI * SCSI Revision 0) (old drives like MAXTOR XT-3280) or - it reports scsi-1 --- 927,932 ----
Acknowledgments: ---------------
> Tam Tai Wai <thor@netvigator.com> > http://www.jaist.ac.jp/%7esight95/linux/dvd-ram/dvd-ram.html
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |