Do you know that those are the correct parameters to make the device
function as a Mass-Storage Class Compliant device?

You can't just go adding to unusual_devs.h and expect it to work unless you
have good information that the device is simply reporting false information
in it's device descriptors.

Matthew Dharm

On Wed, Jan 30, 2002 at 03:01:09AM +0100, SZABO Zsolt wrote:
> Hi,
> 
> I am trying to compile an usb-storage mod that knows this hw.
> (0x03f0,0x6202,???) so I added the following entry to the unusual_devs.h:
> 
> UNUSUAL_DEV(  0x03f0, 0x6202, 0x0000, 0xffff,
>                 "HP",
>                 "Photosmart 215",
>                 US_SC_8070, US_PR_CB, NULL, 0),
> 
> It is a bit difficult to get recognized the device by the usb-uhci but
> sometimes it happens (maybe the timeout value is low):
> 
> usb-uhci.c: $Revision: 1.268 $ time 16:26:49 Jan 26 2002
> usb-uhci.c: High bandwidth mode enabled
> PCI: Found IRQ 11 for device 00:07.2
> usb-uhci.c: USB UHCI at I/O 0xe000, IRQ 11
> usb-uhci.c: Detected 2 ports
> usb.c: new USB bus registered, assigned bus number 1
> usb.c: kmalloc IF ccb66be0, numif 1
> usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
> usb.c: USB device number 1 default language ID 0x0
> Product: USB UHCI Root Hub
> SerialNumber: e000
> hub.c: USB hub found
> hub.c: 2 ports detected
> hub.c: standalone hub
> hub.c: ganged power switching
> hub.c: global over-current protection
> hub.c: Port indicators are not supported
> hub.c: power on to power good time: 2ms
> hub.c: hub controller current requirement: 0mA
> hub.c: port removable status: RR
> hub.c: local power source is good
> hub.c: no over-current condition exists
> hub.c: enabling power on all ports
> usb.c: hub driver claimed interface ccb66be0
> usb.c: kusbd: /sbin/hotplug add 1
> usb.c: kusbd policy returned 0xfffffffe
> usb-uhci.c: v1.268:USB Universal Host Controller Interface driver
> hub.c: port 2 connection change
> hub.c: port 2, portstatus 101, change 1, 12 Mb/s
> hub.c: port 2, portstatus 103, change 0, 12 Mb/s
> hub.c: USB new device connect on bus1/2, assigned device number 2
> usb_control/bulk_msg: timeout
> usb.c: kmalloc IF ccb66ca0, numif 1
> usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0
> usb.c: USB device number 2 default language ID 0x409
> usb_control/bulk_msg: timeout
> Product: HP PhotoSmart 215 Camera
> usb.c: unhandled interfaces on device
> usb.c: USB device 2 (vend/prod 0x3f0/0x6202) is not claimed by any active driver.
>   Length              = 18
>   DescriptorType      = 01
>   USB version         = 1.10
>   Vendor:Product      = 03f0:6202
>   MaxPacketSize0      = 16
>   NumConfigurations   = 1
>   Device version      = 1.00
>   Device Class:SubClass:Protocol = 00:00:00
>     Per-interface classes
> Configuration:
>   bLength             =    9
>   bDescriptorType     =   02
>   wTotalLength        = 002e
>   bNumInterfaces      =   01
>   bConfigurationValue =   01
>   iConfiguration      =   00
>   bmAttributes        =   c0
>   MaxPower            =    0mA
> 
>   Interface: 0
>   Alternate Setting:  0
>     bLength             =    9
>     bDescriptorType     =   04
>     bInterfaceNumber    =   00
>     bAlternateSetting   =   00
>     bNumEndpoints       =   04
>     bInterface Class:SubClass:Protocol =   ff:00:00
>     iInterface          =   00
>     Endpoint:
>       bLength             =    7
>       bDescriptorType     =   05
>       bEndpointAddress    =   81 (in)
>       bmAttributes        =   02 (Bulk)
>       wMaxPacketSize      = 0008
>       bInterval           =   00
>     Endpoint:
>       bLength             =    7
>       bDescriptorType     =   05
>       bEndpointAddress    =   02 (out)
>       bmAttributes        =   03 (Interrupt)
>       wMaxPacketSize      = 0008
>       bInterval           =   00
>     Endpoint:
>       bLength             =    7
>       bDescriptorType     =   05
>       bEndpointAddress    =   83 (in)
>       bmAttributes        =   02 (Bulk)
>       wMaxPacketSize      = 0040
>       bInterval           =   00
>     Endpoint:
>       bLength             =    7
>       bDescriptorType     =   05
>       bEndpointAddress    =   04 (out)
>       bmAttributes        =   02 (Bulk)
>       wMaxPacketSize      = 0040
>       bInterval           =   00
> usb.c: kusbd: /sbin/hotplug add 2
> usb.c: kusbd policy returned 0xfffffffe
> 
> However, when I try to insmod usb-storage I get the following output:
> 
> Initializing USB Mass Storage driver...
> usb.c: registered new driver usb-storage
> usb-storage: act_altsettting is 0
> usb-storage: id_index calculated to be: 32
> usb-storage: Array length appears to be: 57
> usb-storage: Vendor: HP
> usb-storage: Product: Photosmart 215
> usb-storage: USB Mass Storage device detected
> usb-storage: Endpoints: In: 0xcf561688 Out: 0xcf56169c Int: 0xcf561674 (Period 0)
> usb_control/bulk_msg: timeout
> usb-storage: New GUID 03f062020000000000000000
> usb-storage: Transport: Control/Bulk
> usb-storage: Protocol: 8070i
> usb-storage: *** thread sleeping.
> scsi0 : SCSI emulation for USB Mass Storage devices
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage: 12 00 00 00 ff 00 00 00 c5 5f 1a c0
> usb-uhci.c: interrupt, status 2, frame# 439
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns -75
> usb-storage: -- CB transport device requiring auto-sense
> usb-storage: -- transport indicates command failure
> usb-storage: Issuing auto-REQUEST_SENSE
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns 0
> usb-storage: -- auto-sense failure
> usb-storage: CB_reset() called
> usb-storage: CB[I] soft reset failed -32
> usb-storage: scsi cmd done, result=0x70000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage: 12 00 00 00 ff 00 00 00 c5 5f 1a c0
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns 0
> usb-storage: -- CB transport device requiring auto-sense
> usb-storage: -- transport indicates command failure
> usb-storage: Issuing auto-REQUEST_SENSE
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns -75
> usb-storage: -- auto-sense failure
> usb-storage: CB_reset() called
> usb-storage: CB[I] soft reset failed -32
> usb-storage: scsi cmd done, result=0x70000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage: 12 00 00 00 ff 00 00 00 c5 5f 1a c0
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns 0
> usb-storage: -- CB transport device requiring auto-sense
> usb-storage: -- transport indicates command failure
> usb-storage: Issuing auto-REQUEST_SENSE
> usb-storage: Call to usb_stor_control_msg() returned -32
> usb-storage: -- Stall on control pipe. Clearing
> usb-storage: -- usb_stor_clear_halt() returns 0
> usb-storage: -- auto-sense failure
> usb-storage: CB_reset() called
> usb-storage: CB[I] soft reset failed -32
> usb-storage: scsi cmd done, result=0x70000
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (1/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (2/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (3/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (4/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (5/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (6/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (7/0)
> usb-storage: *** thread sleeping.
> WARNING: USB Mass Storage data integrity not assured
> USB Mass Storage device found at 2
> usb.c: usb-storage driver claimed interface ccb66ca0
> USB Mass Storage support registered.
> 
> and `cat /proc/scsi/scsi` shows:
> Attached devices: none
> 
> If I replace th protocoll US_PR_CB to US_PR_BULK, then a while after
> loading the new mod:
> 
> Initializing USB Mass Storage driver...
> usb.c: registered new driver usb-storage
> usb-storage: act_altsettting is 0
> usb-storage: id_index calculated to be: 32
> usb-storage: Array length appears to be: 57
> usb-storage: Vendor: HP
> usb-storage: Product: Photosmart 215
> usb-storage: USB Mass Storage device detected
> usb-storage: Endpoints: In: 0xcf561688 Out: 0xcf56169c Int: 0xcf561674 (Period 0)
> usb_control/bulk_msg: timeout
> usb-storage: New GUID 03f062020000000000000000
> usb-storage: GetMaxLUN command result is 0, data is 205
> usb-storage: Transport: Bulk
> usb-storage: Protocol: 8070i
> usb-storage: *** thread sleeping.
> scsi0 : SCSI emulation for USB Mass Storage devices
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage: 12 00 00 00 ff 00 00 00 c5 5f 1a c0
> usb-storage: Bulk command S 0x43425355 T 0x15 Trg 0 LUN 0 L 255 F 128 CL 12
> usb-uhci.c: interrupt, status 3, frame# 1171
> usb-storage: Bulk command transfer result=-110
> usb-storage: Bulk reset requested
> usb-storage: command_abort() called
> usb-storage: -- nothing to abort
> usb-storage: device_reset() called
> usb-storage: Bulk reset requested
> usb-storage: Bulk soft reset completed
> usb-storage: -- transport indicates transport failure
> usb-storage: Fixing INQUIRY data to show SCSI rev 2
> usb-storage: scsi cmd done, result=0x70000
> usb-storage: *** thread sleeping.
> usb-storage: Bulk soft reset completed
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage: 00 00 00 00 00 00 00 00 00 00 00 00
> usb-storage: Bulk command S 0x43425355 T 0x15 Trg 0 LUN 0 L 0 F 0 CL 12
> usb-uhci.c: interrupt, status 3, frame# 878
> usb-storage: Bulk command transfer result=-110
> usb-storage: Bulk reset requested
> usb-storage: Bulk soft reset completed
> usb-storage: -- transport indicates transport failure
> usb-storage: scsi cmd done, result=0x70000
> usb-storage: *** thread sleeping.
> usb-storage: bus_reset() called
> hub.c: port 2 enable change, status 110
> hub.c: port 2 connection change
> hub.c: port 2, portstatus 103, change 1, 12 Mb/s
> usb.c: USB disconnect on device 2
> usb.c: kusbd: /sbin/hotplug remove 2
> usb.c: kusbd policy returned 0xfffffffe
> hub.c: port 2, portstatus 103, change 0, 12 Mb/s
> usb-uhci.c: interrupt, status 2, frame# 820
> hub.c: port 2, portstatus 103, change 0, 12 Mb/s
> hub.c: USB new device connect on bus1/2, assigned device number 3
> usb.c: kmalloc IF ca1d3b40, numif 1
> usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0
> usb.c: USB device number 3 default language ID 0x409
> usb_control/bulk_msg: timeout
> Product: HP PhotoSmart 215 Camera
> usb-storage: host_reset() requested but not implemented
> scsi: device set offline - command error recover failed: host 0 channel 0 id 0 lun 0
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (1/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (2/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (3/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (4/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (5/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (6/0)
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Bad target number (7/0)
> usb-storage: *** thread sleeping.
> WARNING: USB Mass Storage data integrity not assured
> USB Mass Storage device found at 2
> usb.c: usb-storage driver claimed interface ccb66ca0
> USB Mass Storage support registered.
> usb-storage: act_altsettting is 0
> usb-storage: id_index calculated to be: 32
> usb-storage: Array length appears to be: 57
> usb-storage: Vendor: HP
> usb-storage: Product: Photosmart 215
> usb-storage: USB Mass Storage device detected
> usb-storage: Endpoints: In: 0xcf561808 Out: 0xcf56181c Int: 0xcf5617f4 (Period 0)
> usb_control/bulk_msg: timeout
> usb-storage: New GUID 03f062020000000000000000
> usb-storage: GetMaxLUN command result is 0, data is 202
> usb-storage: Transport: Bulk
> usb-storage: Protocol: 8070i
> usb-storage: *** thread sleeping.
> scsi0 : SCSI emulation for USB Mass Storage devices
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command INQUIRY (6 bytes)
> usb-storage: 12 00 00 00 ff 00 00 00 c5 5f 1a c0
> usb-storage: Bulk command S 0x43425355 T 0x1d Trg 0 LUN 0 L 255 F 128 CL 12
> usb-storage: Bulk command transfer result=0
> usb-storage: usb_stor_transfer_partial(): xfer 255 bytes
> usb-storage: command_abort() called
> usb-storage: usb_stor_bulk_msg() returned -2 xferred 0/255
> usb-storage: usb_stor_transfer_partial(): transfer aborted
> usb-storage: Bulk data transfer result 0x3
> usb-storage: -- transport indicates command was aborted
> usb-storage: Fixing INQUIRY data to show SCSI rev 2
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage: 00 00 00 00 00 00 00 00 00 00 00 00
> usb-storage: Bulk command S 0x43425355 T 0x1d Trg 0 LUN 0 L 0 F 0 CL 12
> usb-storage: Bulk command transfer result=0
> usb-storage: Attempting to get CSW...
> usb-storage: command_abort() called
> usb-storage: -- transport indicates command was aborted
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> usb-storage: device_reset() called
> usb-storage: Bulk reset requested
> usb-storage: Bulk soft reset completed
> usb-storage: queuecommand() called
> usb-storage: *** thread awakened.
> usb-storage: Command TEST_UNIT_READY (6 bytes)
> usb-storage: 00 00 00 00 00 00 00 00 c5 5f 1a c0
> usb-storage: Bulk command S 0x43425355 T 0x1d Trg 0 LUN 0 L 0 F 0 CL 12
> usb-storage: Bulk command transfer result=0
> usb-storage: Attempting to get CSW...
> usb-storage: command_abort() called
> usb-storage: -- transport indicates command was aborted
> usb-storage: scsi command aborted
> usb-storage: *** thread sleeping.
> usb-storage: bus_reset() called
> 
> and `cat /proc/scsi/scsi` shows:
> Attached devices: 
> Host: scsi0 Channel: 00 Id: 00 Lun: 00
>   Vendor:          Model:                  Rev:     
>   Type:   <NULL>                ANSI SCSI revision: ffffffff
> 
> However, `ll /proc/scsi` shows two usb devices:
> scsi           usb-storage-0  usb-storage-1  
> 
> which cause hang when unloading the usb-uhci mod after `rmmod usb-storage`
> because the last says:
> 
> usb-storage: usb_stor_exit() called
> usb-storage: -- calling usb_deregister()
> usb.c: deregistering driver usb-storage
> usb-storage: -- calling scsi_unregister_module()
> usb-storage: release() called for host usb-storage
> usb-storage: -- sending US_ACT_EXIT command to thread
> usb-storage: *** thread awakened.
> usb-storage: -- US_ACT_EXIT command received
> scsi : 1 host left.
> 
> and that 1 host is usb-storage-1...
> 
> So, I am wondering what kind of tips/hints can you give me to go on
> with and to achieve that the usb-storage driver could contact my camera?
> (and I could access my photos on its CF card :-)
> 
> Please send your suggestions to my address, as well... thanks,
> 
> Zsolt
> 
> 
> 
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-users

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

I see you've been reading alt.sex.chubby.sheep voraciously.
                                        -- Tanya
User Friendly, 11/24/97

Attachment: msg02464/pgp00000.pgp
Description: PGP signature

Reply via email to