= Goals = * Collect a list of hardware devices and bundles which have been found "in the field" * Collect information about the extent to which these devices are supported by Ubuntu == Comments == Any acpi/lapic/apic options which are required generally represent bugs, either in the BIOS or the kernel. Either way, they ought to be fixed in the kernel so that everything works out of the box. This data collection could help us do that. MattZimmerman At the moment, we're making an educated best guess at whether you're an a laptop, and making certain assumptions based on that. We can't currently guess whether acpi works, and we could do a lot better with stuff like turning ifplugd on etc. What we can do, however, is put together a nicely minimal app that can ask some questions, and report those answers and a whole slew of hardware details back to a central db/web site. This way, we can build a database of what we can expect to do on each and every laptop, and customise our install a bit more based on that data. ThomMay : What things do you have on a laptop that you couldn't possibly need on a desktop? I know, there are several machine specific packages (like toshset for Toshibas) but I also would like to see things like suspend-to-disk on desktops. DavidSchmitt It would be cool if someone with the time and inclination could create an SQL backed web form to collect this information. I wonder if could be done with Bugzilla? KarlHegbloom Sadly, I found this interesting program impossible to use. The tabbing order misses controls (and there are no keyboard shortcuts -- or at least none labelled) so it's not possible to select 'no' when my mouse wasn't working. The program needs to be failsafe when some of your hardware is *not* working. Mainy of the wizard dialogs have a fourth *unlabelled* (radio) control -- what is that for? With a system default font size of 14pt, many elements do not have enough room for text expansion: words/sentances are cropped short (like "Test agai" on the audio test). (This would worsen when translated, as English tends to be rather concise. E.g. German for "Canel" is almost double the length: "Abbrechen".) Each dialog is also unresizeable, which might have helped. (2005-06-03 Paul Arzul) = Device Identification = Currently available tools for data collection include: * mdetect * dmidecode * hal * proc filesystem * sysfs filesystem * infodump: http://club.black.co.at/david/hwdb/ collects most intresting HW info from the system The following data can be used to uniquely identify various types of hardware devices: * PCI devices * vendor ID * device ID * subvendor ID * subdevice ID * class ID * Hard disks * IDE (/proc/ide) * model (/proc/ide/xxx/model) * SCSI (/proc/scsi) * vendor * model * firmware revision * USB devices (/proc/bus/usb) * vendor ID * product ID * BIOS * i386 (dmidecode) * manufacturer * revision * CPUs * i386, amd64 (/proc/cpuinfo, dmidecode) * vendor_id * family * model * MHz * cache * flags * powerpc (/proc/cpuinfo) * model * clock * revision * Motherboards * i386, amd64 (dmidecode) * manufacturer * product name * version * powerpc (/proc/cpuinfo) * motherboard * Chassis * i386, amd64 (dmidecode) * manufacturer * type * version * powerpc (/proc/cpuinfo) * machine = Secondary Data = Once we are able to identify and catalogue hardware devices, we can attach useful data to them. For example: * Is the device automatically detected and configured by Ubuntu? * Which driver should be used for it? * kernel * X.org * To what extent is the device supported by a given driver? * Does the driver work at all? * Is it safe to enable DMA on a storage device? * Does the driver support a given feature of the device? * User comments = Interfaces = Ways that the hardware database can usefully interface with other systems: * Web-based hardware database for users to browse and extend * Cross-reference with hotplug maps * Cross-reference with X configuration system * Cross-reference with versions of software (kernel, X, Ubuntu releases) * Cross-reference with vendor hardware bundles (system manufacturers) = Related works = * `hwinfo` - hardware information collector and database from SuSE * `lshw` - hardware information collector * `hwfu` - hardwaredetection for ubuntu (the upcoming data collection system) * [[https://fedoraproject.org/wiki/Smolt|Smolt]] * HardwareDatabaseClientOverhaul * BetterHardwareDatabase ---- CategoryHardware