Henry VanDyke wrote:
Are you getting removal/insertion callbacks when the device is removed and
re-inserted ?
I have just re-verified this. Once the condition occurs, there are no
longer any removal/insertion callbacks. FWIW I have 2 identical devices
(for redundancy) in this application, and with one of the devices in
this state, the other continues to operate perfectly (i.e. my driver
de-registers/registers the devices name each time it is pulled in/out).
Since the same code (in my driver) is used for each device, the only
difference is the data (i.e. there is a different instance of the
same object allocated for each device). This also means that devu-uhci
is working correctly for the other device (exactly the same hardware),
it is simply not working correctly for the device in question (and it
can - randomly - be either device instance).
btw1: just in case you’re wondering I gdb’d the driver, and verified
that the insertion/removal is not getting called (rather than
simply rely on the name appearing/disappearing under /dev).
btw2: the big problem is the cessation of URB callbacks, I could live
without the insertion/removal callbacks for a while, however,
there is a reasonable possibility that the lack of insertion/
removal callbacks is related to the lack of URB callbacks…
Is the device respoding to when you run the usb utility ?
Yes. It shows up in the list of devices when it is plugged in (but
the insertion callback does not happen).
there is a usbd_reset_device()
I have tried this, but as the documentation is rather nebulous about
what it actually does, I am not sure how effective it is. Basically,
I can reliably detect the fault condition, and I have added code that
allows me to call usbd_reset_device(), to no avail.
Yes please do so.
I am mailing a copy to henry@qnx.com. It is a tar/gzip archive rooted
at DDK-6.2.1, and it will expand into usb/* (overwriting mouse and
printer in the process). It will also create a file at:
DDK-6.2.1/usr/include/sys/dcmd_heartbeat.h, you’ll need to link this
into /usr/include/sys.
LATE BREAKING NEWS: just as I was checking the last few facts before
sending this, devu-uhci cored. I am attaching the core to this message
(it is relatively small) and to the email.
Thanks,
Rennie