Re: usbdeviceopen failure - non-classic problem
- Subject: Re: usbdeviceopen failure - non-classic problem
- From: Joseph Antony <email@hidden>
- Date: Sat, 29 Oct 2005 00:28:05 +0530
- Delivered-to: email@hidden
- Delivered-to: email@hidden
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=MjAtj9ig8CWDZdtDepS5lxpydpn5G4rbJsXRnpMGFfyZHb0yXDGanwOXHN5PAqicXejLMGPRW/A6NihmhGIrGmcu08nYZPFUn8Xm1AnMsuoGD8FNhiYpdMdfKR0xYiHaG1KkQTcRhYVJTsheMLfgC6vmAmAEt66jRTbG6mxXFEo=
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
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.