A few years ago I wrote myself a driver to interface with a Cypress
FX2 sending me some DVB data from a set top box. Every few days or
weeks it disconnects, taking out the whole Linux USB system with it.
i.e. any new USB devices connected are not recognised, until a reboot.
Even if I disconnect this device (my driver handles
disconnect/reconnect in normal circumstances). All the driver does is
submit 64 bulk URBs, when it gets a result it parses the contents and
submits it to the DVB kernel based software demux and resubmits the
URB. Approx 30MB/s all the time though.

I'd like to debug my driver to make this box stable. Since this has
been going on for years, over many Linux kernel versions, so I'm
fairly certain its an issue in my device.

Symptoms in dmesg, all ticking on fine then:
[16015.555509] /home/pvr/skympeg_usb_driver/dvb_skympeg.c:
skympeg(15): 20000000 iterations - packets:357627306
[16643.576890] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0008
[16643.576912] ehci_hcd 0000:00:10.3: GetStatus port 3 status 00180b
POWER sig=j PEC CSC CONNECT
[16643.576923] hub 1-0:1.0: port 3, status 0501, change 0003, 480 Mb/s
[16643.576927] usb 1-3: USB disconnect, address 3
[16643.576932] usb 1-3: usb_disable_device nuking all URBs
[16643.577140] ehci_hcd 0000:00: 10.3: shutdown urb d8a13ec0 pipe
c0430380 ep6in-bulk
(for each of 64 URBS)

If I try to access, e.g. /proc/bus/usb/devices, I get no response
(blocks for ever).

Any suggestions of what this could mean or how I can start debugging
this? I started with kgdb, but didn't really get anywhere useful. I'm
thinking I could use something like kdump then look at it offline to
see where the threads are stuck. Presumably some kind of deadlock in
the usb stuff.

I'm happy to post the source if someone would be kind enough to check
it over? I'm not an expert in kernel development so likely I've done
something stupid.

Thanks,

Mark

P.S. If anyone is getting e-mails rejected because they don't match
filter rules - remember to set your e-mail to plain text! I always
forget on gmail...

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to