Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: usbdeviceopen failure - non-classic problem



Hi,

I have moved all the driver bundles from
/usr/libexec/SmartcardServices/drivers to another place to isolate
from any driver conflicts, and still the issue occurs. SPR532 is
CCID-like only and here are its descrptor detalis and ioreg dump
-----------descriptor-----------------
Full Speed device @ 2 (0x08100000):
.............................................   Composite device:
"SPRx32 USB Smart Card Reader"
    Device Descriptor
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   16
        Device VendorID/ProductID:   0x04E6/0xE003   (Shuttle Technology)
        Device Version Number:   0x0507
        Number of Configurations:   1
        Manufacturer String:   1 "SCM Microsystems Inc."
        Product String:   2 "SPRx32 USB Smart Card Reader"
        Serial Number String:   5 "60102571"
    Configuration Descriptor: ....................................... 
 "Vendor Class"
        Length (and contents):   93
            Raw Descriptor (hex)    0000: 09 02 00 5D 01 01 03 A0  32
09 04 00 00 03 FF 00
            Raw Descriptor (hex)    0010: 00 04 36 21 00 01 00 01  03
00 00 00 A0 0F 00 00
            Raw Descriptor (hex)    0020: 40 1F 00 00 00 01 2A 00  00
29 40 05 00 00 FC 00
            Raw Descriptor (hex)    0030: 00 00 00 00 00 00 00 00  00
00 BA 00 01 00 07 01
            Raw Descriptor (hex)    0040: 00 00 FF FF 00 00 03 01  07
05 01 02 40 00 00 07
            Raw Descriptor (hex)    0050: 05 82 02 40 00 00 07 05  83
03 10 00 10
        Number of Interfaces:   1
        Configuration Value:   1
        Attributes:   0xA0 (bus-powered, remote wakeup)
        MaxPower:   100 ma
        Interface #0 - Vendor-specific
            Alternate Setting   0
            Number of Endpoints   3
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   0   (Vendor-specific)
            Interface Protocol:   0
            Raw Descriptor (hex)    0000: 36 21 00 01 00 01 03 00  00
00 A0 0F 00 00 40 1F
            Raw Descriptor (hex)    0010: 00 00 00 01 2A 00 00 29  40
05 00 00 FC 00 00 00
            Raw Descriptor (hex)    0020: 00 00 00 00 00 00 00 00  BA
00 01 00 07 01 00 00
            Raw Descriptor (hex)    0030: FF FF 00 00 03 01
            Endpoint 0x01 - Bulk Output
                Address:   0x01  (OUT)
                Attributes:   0x02  (Bulk no synchronization data endpoint)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x82 - Bulk Input
                Address:   0x82  (IN)
                Attributes:   0x02  (Bulk no synchronization data endpoint)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x83 - Interrupt Input
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt no synchronization data endpoint)
                Max Packet Size:   16
                Polling Interval:   16 ms

-----------descriptor-----------------

The ioreg dump at the time of failuire

---------------ioreg--------------------

    | |       |   +-o SPRx32 USB Smart Card Reader@8100000  <class
IOUSBDevice, registered, matched, active, busy 0, retain count 10>
    | |       |     | {
    | |       |     |   "PortNum" = 1
    | |       |     |   "IOUserClientClass" = "IOUSBDeviceUserClient"
    | |       |     |   "Device Speed" = 1
    | |       |     |   "iSerialNumber" = 5
    | |       |     |   "Bus Power Available" = 250
    | |       |     |   "bDeviceClass" = 0
    | |       |     |   "USB Product Name" = "SPRx32 USB Smart Card Reader"
    | |       |     |   "bNumConfigurations" = 1
    | |       |     |   "USB Serial Number" = "60102571"
    | |       |     |   "USB Vendor Name" = "SCM Microsystems Inc."
    | |       |     |   "iManufacturer" = 1
    | |       |     |   "bcdDevice" = 1287
    | |       |     |   "bDeviceSubClass" = 0
    | |       |     |   "IOCFPlugInTypes" =
{"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
    | |       |     |   "iProduct" = 2
    | |       |     |   "sessionID" = 107862208191
    | |       |     |   "bMaxPacketSize0" = 16
    | |       |     |   "locationID" = 135266304
    | |       |     |   "idProduct" = 57347
    | |       |     |   "USB Address" = 2
    | |       |     |   "bDeviceProtocol" = 0
    | |       |     |   "idVendor" = 1254
    | |       |     | }
    | |       |     |
    | |       |     +-o IOService  <class IOService, !registered,
!matched, active, busy 0, retain count 4>
    | |       |     |   {
    | |       |     |     "idProduct" = 57347
    | |       |     |     "bConfigurationValue" = 1
    | |       |     |     "IOProviderMergeProperties" =
{"ClassicMustNotSeize"=Yes}
    | |       |     |     "CFBundleIdentifier" = "com.scmmicro.kext.kextscr33x"
    | |       |     |     "IOClass" = "IOService"
    | |       |     |     "bDeviceClass" = 0
    | |       |     |     "bInterfaceProtocol" = 0
    | |       |     |     "IOKitDebug" = 65535
    | |       |     |     "IOProbeScore" = 109000
    | |       |     |     "bDeviceSubClass" = 0
    | |       |     |     "IOMatchCategory" = "IODefaultMatchCategory"
    | |       |     |     "bInterfaceNumber" = 0
    | |       |     |     "bInterfaceSubClass" = 0
    | |       |     |     "idVendor" = 1254
    | |       |     |     "IOProviderClass" = "IOUSBDevice"
    | |       |     |     "bcdDevice" = 1287
    | |       |     |   }
    | |       |     |
    | |       |     +-o IOUSBUserClientInit  <class
IOUSBUserClientInit, !registered, !matched, active, busy 0, retain
count 4>
    | |       |     |   {
    | |       |     |     "IOMatchCategory" = "IOUSBUserClientInit"
    | |       |     |     "IOProbeScore" = 9000
    | |       |     |     "IOClass" = "IOUSBUserClientInit"
    | |       |     |     "IOProviderClass" = "IOUSBDevice"
    | |       |     |     "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
    | |       |     |     "IOProviderMergeProperties" =
{"IOUserClientClass"="IOUSBDeviceUserClient","IOCFPlugInTypes"={"9dc7b780-9ec0-11d4-a54f-000a27052861"=$
    | |       |     |   }
    | |       |     |
    | |       |     +-o IOUSBDeviceUserClient  <class
IOUSBDeviceUserClient, !registered, !matched, active, busy 0, retain
count 5>
    | |       |         {
    | |       |         }
    | |       |

---------------ioreg--------------------


Thx
Joe


On 10/25/05, Garth Cummings <email@hidden> wrote:
> Hi Joe,
>
> On Oct 24, 2005, at 10:20 PM, Joseph Antony wrote:
> Hi,
>
> I am aware of the pc/sc subsystem in the OS. I have the driver bundle
> placed in /usr/libexec/smartcardservices/drivers. When i
> plug-in my
> device (spr532), the driver bundle loads, but is failing when it tries
> to open the interface. that is my problem. I found from forums that
> some other app maybe holding the handle. Hence, I went for the
> "codeless kext". But, still I am facing the issue.
>
> Are you writing a PC/SC driver for the reader then? According to the SCM
> website, the SPR532 is a CCID class compliant device. That means that
> Apple's CCID driver could be the culprit. What happens if you remove your
> driver, plug in the device, then run pcsctest?
>
> Can you post the descriptors from the device and the part of "ioreg -lw 0"
> that shows your reader? That way we'll be able to see what else might be
> competing for the device.
>
>
> Under this situation, if i run "pcsctest", it fails in the
> "scardestablishcontext" itself since the driver is not successfully
> loaded. Hence, the deadlock for me. I sure shall post it in the cdsa
> list also, if I can get a lead/solution to this.
>
> Let's rule out the USB side first, since you appear to be writing a PC/SC
> driver.
>
>
> Joe
>
>
> --gc
>
>
>
>
>
> __________________________________________________________________
>
> Garth Cummings
>
> Apple Developer Technical Support     email@hidden
>
>
>
>
> http://developer.apple.com/technicalsupport
>
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden

This email sent to email@hidden

References: 
 >usbdeviceopen failure - non-classic problem (From: Joseph Antony <email@hidden>)
 >Re: usbdeviceopen failure - non-classic problem (From: Garth Cummings <email@hidden>)
 >Re: usbdeviceopen failure - non-classic problem (From: Joseph Antony <email@hidden>)
 >Re: usbdeviceopen failure - non-classic problem (From: Garth Cummings <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.