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 still cudnt figure out the source of the issue. Can someone please
confirm whether the Info.plist I am using for the kext is sufficient
for my user-land usb smart card driver to load successfully?

thx
Joe

On 10/26/05, Joseph Antony <email@hidden> wrote:
> 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>)
 >Re: usbdeviceopen failure - non-classic problem (From: Joseph Antony <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.