Mahlzeit

On Mon, Aug 18, 2003 at 09:53:26AM -0400, Alan Stern wrote:
> On Mon, 18 Aug 2003, Matthias Bruestle wrote:
> > I'm currently testing the cyberJack smart card reader under 2.6.0-t2
> > using a patched cyberJack driver (added locking) together with a UHCI
> > host controller.
> > 
> > The problem is, that it works the first open/io/io/.../close sequence
> > after inserting it, but fails after the second open. This happens with
> > 
> > - normal cyberJack driver using Int INs
> > - modified cyberJack driver using Bulk IN polling
> > - generic USB serial driver using Bulk IN polling
> > 
> > The symptom is, that the cyberJack driver never receives any data after
> > the second open, but when looking at the USB data going over the cable
> > the device clearly sends an interrupt response with data. When looking
> > at the uhci_irq, it is called at about the time a Int IN packet should
> > come and when there is only one transfer (Int IN) in the list. But this
> > Int IN is still flagged ACTIVE, and is therefore ignored by the
> > interrupt handler.
> > 
> > Are there already any patches which could help fixing this problem?
> > Or does anybody have an idea what I can try?
> 
> It's curious that you see a USB interrupt transfer occur but the 
> controller does not end the request.  Can you post the contents of 
> /proc/driver/uhci?  That might have some clues.

Ok, after a success full program run:

HC status
  usbcmd    =     00c1   Maxp64 CF RS
  usbstat   =     0000
  usbint    =     000f
  usbfrnum  =   (1)aec
  flbaseadd = 03848aec
  sof       =       40
  stat1     =     0095   PortEnabled PortConnected
  stat2     =     0095   PortEnabled PortConnected
Frame List
Skeleton QH's

After a failed program run:

HC status
  usbcmd    =     00c1   Maxp64 CF RS
  usbstat   =     0000
  usbint    =     000f
  usbfrnum  =   (0)b60
  flbaseadd = 03848b60
  sof       =       40
  stat1     =     0095   PortEnabled PortConnected
  stat2     =     0095   PortEnabled PortConnected
Frame List
Skeleton QH's

Somewhere inside a program run, when waiting for the interrupt data:

HC status
  usbcmd    =     00c1   Maxp64 CF RS
  usbstat   =     0000
  usbint    =     000f
  usbfrnum  =   (0)194
  flbaseadd = 03848194
  sof       =       40
  stat1     =     0095   PortEnabled PortConnected
  stat2     =     0095   PortEnabled PortConnected
Frame List
Skeleton QH's
- skel_int4_qh
    [c3858240] link (03858122) element (03859030)
      0: [c3859030] link (00000001) e3 SPD IOC Active NAK Length=7ff MaxLen=f DT0 
EndPt=1 Dev=5, PID=69(IN) (buf=05a5f520)

In the second program run, the Active for Int IN is always set when an
interrupt occures.


Mahlzeit
Matthias
 


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to