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
>
>