[Popcon-developers] Proposal to collect limited hardware data via popcon

Bryce Nesbitt bryce2 at obviously.com
Thu Jul 7 22:33:00 UTC 2011


Greetings popcon developers.

Having recently had the frustration of purchasing a mainboard and some 
usb devices that are not fully functional under Linux, my attention 
focused on how to collect good data on what works.  Thus I'd like to 
discuss the idea of having popularity-contest collect some additional 
data on the user's hardware.

This of course has some privacy and social contract issues. And it would 
be a major change in scope of popcon.


WHY:
My goal is to provide strong data on which hardware is widely deployed 
on Linux installations, and provide the core for a commenting feature 
where users can supply additional data.

Purchasers of hardware could focus on purchasing devices with lots of 
other users, in the hopes that any problems would be problems in common.
The data may also provide vendors with some incentive to support Linux.
And it may help guide regression testing.


WHY POPCON:
Popularity contest is widely deployed and trusted.  Collecting 
additional data is a natural.  Nothing else comes close in terms of breadth.


SIMILAR EFFORTS:
For many years there has been a database for USB devices at qbik.ch.  
The problem with this approach is that it is fully user reported data.  
There is no incentive to report devices that work fine, and no way to 
tag items as fixed in a particular Kernel revision.  For an example see:
http://www.qbik.ch/usb/devices/showdev.php?id=3834

For suspend/resume data there is a data collection effort.  But again 
the effort is biased
towards mainboards on which there are problems.  See:
https://wiki.ubuntu.com/KernelTeam/SuspendResumeTesting


SAMPLE DATA COLLECTED:
I've written scripts for /usr/lib/pm-utils/sleep.d/ and /etc/cron.daily 
to collect the relevant data.  Here's an example dump for your comments:


{
    "_timestamp" : 1310075257,
    "_comment" : "Hardware data collected by popularity-contest package",

    "system" : {
       "manufacturer" : "Intel Corporation",
       "product_name" : "DX58SO2"
       "uname" : "Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 
11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux"
       "suspend_count" : 3,
       "suspend_timestamp" : 1310075356
       "resume_count" : 0,
       "resume_timestamp" : 1310075356
    },

    "usb" : {
       "0bb4:0c01" : "High Tech Computer Corp. Dream / ADP1 / G1 Phone",
       "048d:1336" : "Integrated Technology Express, Inc. ",
       "0db0:3871" : "Micro Star International ",
       "1d6b:0002" : "Linux Foundation 2.0 root hub",
       "1d6b:0001" : "Linux Foundation 1.1 root hub",
       "0510:0032" : "Sejin Electron, Inc. ",
       "1d6b:0003" : "Linux Foundation 3.0 root hub",
       "0db0:a871" : "Micro Star International ",
       "046d:c00c" : "Logitech, Inc. Optical Wheel Mouse",
       "152d:2329" : "JMicron Technology Corp. / JMicron USA Technology 
Corp. transcend storejet 25P"
    },

    "pci" : {
       "8086:340e" : "",
       "8086:3a16" : "",
       "8086:10cd" : "",
       "8086:244e" : "",
       "1b4b:9123" : "",
       "8086:3426" : "",
       "8086:3a36" : "",
       "8086:3a42" : "",
       "8086:3a44" : "",
       "8086:3a3e" : "",
       "8086:3a3c" : "",
       "8086:3a20" : "",
       "8086:3a38" : "",
       "11ab:6121" : ""
    },

    "usb_comments" : {
       "0bb4:0c01" : {
          "comment" : "",
          "name" : "High Tech Computer Corp. Dream / ADP1 / G1 Phone",
          "rating" : "****"
       },
       "0fff:0032" : {
          "comment" : "*",
          "name" : "USB Scanner",
          "rating" : "Cheap no-name device from China: always produced 
black streaks under Linux.  Worked OK under Windows XP.",
          "uname" : "Linux ubuntu 2.5.23-1-generic"
       },
       "046d:c00c" : {
          "comment" : "",
          "name" : "Logitech, Inc. Optical Wheel Mouse",
          "rating" : "****"
       },
       "152d:2329" : {
          "comment" : "Works perfectly under Linux.  Unlike many similar 
devices, supports SMART status via smartctrl.",
          "name" : "JMicron Technology Corp. / JMicron USA Technology 
Corp. transcend storejet 25P",
          "rating" : "****"
       }
    },
}


Note that I've used JSON format.  I'm a bit worried about this: I would 
have preferred to have no dependencies.  But as written the scripts do 
depend on the JSON module.



More information about the Popcon-developers mailing list