kern/54654: Need SCSI CAM quirk for Rovershot digital camera

Kaygorodov Pasha pasha at inasan.rssi.ru
Sun Jul 20 03:50:26 PDT 2003


>Number:         54654
>Category:       kern
>Synopsis:       Need SCSI CAM quirk for Rovershot digital camera
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 20 03:50:23 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Kaygorodov Pasha
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
none
>Environment:
>Description:
	Rovershot RS3310Z digital camera, which uses USB connection (like umass
	device)  don't support READ_6 and sync cache (0x35) commands.
	I have to add CAM quirk for it.
	Now it works fine.

	Rovershot RS3310Z 3.3 Megapixel digital photo:

	Model: RS3310Z
	Manufacturer: Rover Computers Group
	Transport type: USB
	
	# camcontrol inquiry da0
	pass0: < 3.3M DigitalCAM 1.00> Removable Direct Access SCSI-0 device 
	pass0: Serial Number 
	pass0: 650KB/s transfers
	
	# usbdevs -v
	Controller /dev/usb0:
	addr 1: self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
	 port 1 addr 2: self powered, config 1, 3.3M DigitalCAM(0x3350),          (0x0733), rev 1.00
	 port 2 powered

	# dmesg          # Before quirk

	.....
	umass0:           3.3M DigitalCAM, rev 1.10/1.00, addr 2
	umass0: Get Max Lun not supported (STALLED)
	da0 at umass-sim0 bus 0 target 0 lun 0
	da0: < 3.3M DigitalCAM 1.00> Removable Direct Access SCSI-0 device 
	da0: 650KB/s transfers
	da0: 23552015MB (32000 771752448 byte sectors: 64H 32S/T 15C)
	umass0: Unsupported ATAPI command 0x08, 6 byte command should have been converted
	da0: reading primary partition table: error reading fsbn 0
	umass0: Unsupported ATAPI command 0x35
	(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x6, scsi status == 0x0
	.....

	# dmesg          # After quirk

	.....
	umass0:           3.3M DigitalCAM, rev 1.10/1.00, addr 2
	umass0: Get Max Lun not supported (STALLED)
	(da0:umass-sim0:0:0:0): removing device entry
	da0 at umass-sim0 bus 0 target 0 lun 0
	da0: < 3.3M DigitalCAM 1.00> Removable Direct Access SCSI-0 device 
	da0: 650KB/s transfers
	da0: 61MB (125440 512 byte sectors: 64H 32S/T 61C)
	.....
	
>How-To-Repeat:
	Just connect RS3310Z to your FreeBSD box and try to mount umass device.

>Fix:
	Add SCSI da quirk into sys/cam/scsi/scsi_da.c:

	{
	        /*
	         * Rovershot RS3310Z digital camera
	         */
	        {T_DIRECT, SIP_MEDIA_REMOVABLE, "*", "3.3M DigitalCAM", "1.00"}
	        /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE
	},
>Release-Note:
>Audit-Trail:
>Unformatted:
 >System: FreeBSD ibis.inasan.rssi.ru 4.8-STABLE FreeBSD 4.8-STABLE #2: Sun Jul 20 13:46:17 MSD 2003 root at ibis.inasan.rssi.ru:/usr/src/sys/compile/IBIS i386


More information about the freebsd-bugs mailing list