Bug #1066
bc-server occasionally starts before the solo6010 module is loaded
| Status: | Resolved | Start date: | 01/16/2012 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | Server | Spent time: | - | |
| Target version: | 2.0.0-beta9.4 | |||
| Release Blocker: | No | Affected Release: | ||
| Operating System: |
Description
I've seen this randomly, and it's reported here:
http://support.bluecherrydvr.com/entries/20649941
I've also seen a instance where on a 4 x 16 port card system only the first card is shown, and you have to restart bc-server to show the other devices. This may be a separate bug.
History
Updated by John Brooks 4 months ago
To start, we need to avoid initializing the server (or at least, any solo devices) until after the card has probed and created all devices. Unfortunately, there's no immediately obvious way to do this. I spent some time looking at a custom flag in the driver, but that solution seems to have been rejected.
udev was mentioned as a possibility, but I don't know if it can actually expose the information we're looking for. I haven't seen any indication of that so far.
Updated by John Brooks 3 months ago
- Target version changed from 2.0.0-beta9.3 to 2.0.0-beta9.4
There is no immediately obvious way to make upstart or udev figure this out; the best I have come up with so far is iterating all PCI devices to find ones that match solo, and then waiting until all of them have V4L2 devices associated. One problem here is that I don't know if there is any way to tell that those PCI devices are solo before they're initialized, other than matching vendors and such manually, in the server.
Updated by John Brooks 3 months ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100