TV Card firmware detector

Registered by Mario Limonciello

Ideally a PyGTK application that will detect the need for additional kernel modules or firmware for cards against a known database. This should be written initially as a standalone application, but allow the python functions to be accessible from ubiquity to called upon as necessary.

* Although most distributions support hotplug, an optional functionality should be provided to write all detected modules to /etc/modules.
* The necessary cards to be supported are outlined at except HDHomeRun and Firewire.
* Also at that location is a a script used for getting dvb firmware. All cards that can be fetched via that script should also be available.
* PCI IDs aren't known for all cards, but /usr/share/misc/pci.ids (which is used by lspci) should help with determining PCI IDs.
* If the firmware for the card is already available in the system in /lib/firmware or any other system wide firmware locations, the application should be aware of this.

The format of the application as seen thus far:
The user runs the pygtk app, and a dialog will pop up asking them if they would like to detect cards in the system. A box that shows recognized cards should appear (in a friendly naming structure). This box will describe which cards require additional firmware, which cards already have firmware on this system, and what module needs to be loaded for the card to function. A spreadsheet type box might work well here. The user will then be given the option to fetch firmware necessary for the cards that aren't supported and put it in a system wide location. At this point, the application should detect if gksudo or kdesu is on the system (and which is appropriate given the env) and request root permissions to write the firmware to the system wide location. If there is any problem with doing this (fetching the file or writing it) it should give an option to retry. After the firmware is obtained, the user should be given the option to write the modules necessary to /etc/modules along with a description about how hotplug typically handles this, but by writing the modules to /etc/modules, the order is always guaranteed. Lastly, the user should be given the option to load the modules necessary immediately.

The GUI portion of this application can be done using glade designer 3. It can either be done as multiple top level windows, a GTKNotebook in a top level window, or a GTKAssistant application. This is up to the person coding the application.

Blueprint information

Not started
Mario Limonciello
Needs approval
Series goal:
Milestone target:

Related branches



Deferred until Ubuntu 8.04


Work Items

This blueprint contains Public information 
Everyone can see this information.