Print

Direct2Dell

Sign in
Sign in to post messages.
Joined on 09/21/2006 Posts: 119
Points: 12460
Bronze

Upstreaming hardware data - MonitorsDB

And so it begins.   One challenge Dell has had over time is getting the right lists of hardware included in the right Linux packages.  Today's example - monitors.  Dell, over the years, has by my count sold 197 different monitor types, and releases several more each month.  We'd like to see those monitors appear in the drop-down list of your favorite Linux monitor configuration tools.  However, each Linux distribution has had their own private copy of this list, meaning there's a good bit of work to keep every distribution updated whenever a new monitor is released.  Some distributions even ship several copies of the same file, in different packages (e.g. Ubuntu ships both hwdata and kde-guidance packages, each of which contains a MonitorsDB file).

In the case of the MonitorsDB list, it turns out that the Fedora hwdata package was being used by RHEL, Debian, and Ubuntu.  So, update the Fedora package, and eventually these other distributions would get those same updates.  Eventually.  And there was no clear way how to merge monitor entries that each distro had, back into the Fedora package.

I helped get the hwdata package moved out, into its own upstream project.  From here, the Fedora, RHEL, and other distributions, and their packages, can pull the latest MonitorsDB file.  Being an open source project, anyone can contribute new monitor entries into this list - Dell updates the list within a week of a monitor being released for sale.

The pciids.sourceforge.net project has well coordinated the known list of PCI Vendor and Device IDs, and this is used by all Linux distros I'm familar with.  I expect that same success to be echoed in this new hwdata upstream project. 

You must Login to comment.
  |  Del.icio.us   |  Digg   |  Reddit   | 

 

Sankarshan:  A real hardware test kit is not as easy as it might seem. It is at best a quick scan of that needs to be verified by hand. I wrote a hardware test kid for a distribution two years ago that covered various hardware. The problem is the thing was not going to be able to test every peace of hardware completely. You can check if graphics acceleration is enabled and work to find out it didn't really work or modem connectivity worked except it did so at half-speed. A modem that works does not mean the advertised fax capabilities work. The list of problems with a hardware test kit go on. You need to know a thing or two and do allot more checking than simply running a script or hardware test program to check compatibility.

 

Thanks for replying to my suggestion. Unfortunately, I don't think I can provide any insight into convertng SUSE's hardware format. It might also be nice to try to coordinate this effort with http://hardware4linux.info .

I appreciate DELL's helping Linux streamline its hardware detection infrastructure -- active cooperation from hardware vendors is just what is needed.

 
Mikael Nilsson

This is an excellent development.

 I do support what Matt said about pluggable information - much like printer PPDs that can be easily manually installed.

There are a number of other areas of hardware information where Dell could do *much* better. For example, sound card pin configuration, see http://lists.us.dell.com/pipermail/linux-desktops/2007-September/000622.html

 In that case, correct pin configuration was not achieved until 1.5 years after the release of the laptops, which is horrible for the users. And even then, I'm pretty sure many models were missed, and some details overlooked. Dell could do much better here as well.
 

 

Pluggable upstream information.

 I do not believe that a full upstream is a complete solution.  Most OEMs should provide information for their systems as an adjunct to their systems.

 This will mean that an OEM must have something akin to a HW support package that contains the vital stats of their system.  So long as a distribution supports importing the file format, it makes it a lot easier for users to match any hardware configuration with the a set of Dell hwinfo package.

This should allow a higher level of customization and direct user->OEM interaction that easily demonstrates a level of commitment to users. Rather than push upstream and wait the 6-12 months before the distributions update their packages, at HW launch time, the OEM can post the package and provide updates directly.

 This also allows more direct relationships between OEMs and OSVs to provide the sort of information that ajax refers to.

 

Some time back I had mused about a hardware test kit

 

The major problem I have with MonitorsDB in its current form is that the format just doesn't specify enough information. Sync ranges are not enough. In fact for monitors like the 3007WFP they're actively wrong, because they imply that the monitor itself can do a range of modes, and it really can't.

We need to come up with a better long-term solution.  And I think that solution is just EDID with serial numbers scrubbed out.  If Dell has reference EDID blocks for their monitors internally, I'd happily start bootstrapping this.

 

This is a big mess... Each kernel driver has PCI IDs in random places, as do X.org drivers, kde-guidance, Yast, Sax2, Hal. Speaking of HAL, wouldn't HAL-info be a more suitable place for hwdata?

http://gitweb.freedesktop.org/?p=hal-info.git;a=tree 

 

Bill:  The kernel drivers's PCI IDs all wind up in /lib/modules/$kernelversion/modules.pcimap in 2.6 kernels.  The other tables have slowly been disappearing in favor of this auto-generated (by depmod looking at the driver code sections itself - the truly canonical way to do so) method.

I'm in discussions with the kde-guidance author trying to eliminate that separate use of its MonitorsDB and pcitable files.

SuSE's tools use yet another monitor database file/format, which isn't directly convertable at this point that I know of.  I'd welcome some input in how to solve this.

I don't think HAL wants to be the keeper of these lists, but I could be wrong.
 

 

Any chance you could leave some helpful hints on how to contribute?

Now I have two Dell monitors, both listed already, but anyway... Would be nice to know if I run into something not listed in the future. =) 

 I guess you should start by finding out what frequencies the monitor supports from the manual, and compare to what edid data says and possibly look at the .INF file shipped for use with Windows. Still, would be nice if someone who's not just speculating wrote a few lines about it. =)

 


 

 

fatal: thanks for your interest!

 Short story is, for Dell monitors, don't worry about it.  I have a cronjob that runs every Monday morning that compares all the available monitor *.INF files posted on support.dell.com to what is available in the upstream MonitorsDB file, and sends me (and a bunch of people at Dell) the differences.  Then we commit those differences to the file directly.

For other monitor manufacturers, there is a tool in the repository there called "inf2mondb.py" which, given a MonitorsDB file and a Windows monitor *.inf file, tells you if the line is present in the MonitorsDB file or not, and if not, what to add.  Fairly straightforward.

To contribute to the upstream project directly, you need to have a Fedora Account System account, and be granted into the githwdata group.  Or you can simply email such changes to Karsten Hopp (karsten at redhat dot com) to apply on your behalf.  He is the upstream maintainer.

If you don't have a *.INF file, then yes, you will want to look up the specs in the monitor's manual.