Comment 1 for bug 1211521

Revision history for this message
Daniel Manrique (roadmr) wrote :

OK, I seem to have found the guilty commit (man I could have done a bisect for this). Anyway, it's this one:

Revision:
2206.2.28
13-07-08 11:47 AM

checkbox-old:parsers:udevadm: Clean the network devices path

To stay compatible with checkbox-old local jobs using NETWORK path to
find the registered interface.
---------------------

If I revert that commit, all the tests (save for one which I'm still looking into) pass, so at least for the systems I declared per-device checks for, I'm getting the correct IDs and data. For instance, for the T420 which is our "control", I now have:

            {
                "bus": "pci", #Correct PCI bus, yay!
                "category": "WIRELESS",
                "driver": "iwlwifi",
                "path": "/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0", #Unclean path ;( need to find a way to fix this
                "product": "Centrino Advanced-N 6205 [Taylor Peak]",
                "product_id": 133, #Note this is the correct product_id per the PCI device database
                "subproduct_id": null,
                "subvendor_id": null,
                "vendor": "Intel Corporation",
                "vendor_id": 32902 #Also correct, it's 0x8086
            },

This other device also looks good:

            {
                "bus": "pci",
                "category": "NETWORK",
                "driver": "e1000e",
                "path": "/devices/pci0000:00/0000:00:19.0/net/eth0",
                "product": "82579LM Gigabit Network Connection",
                "product_id": 5378,
                "subproduct_id": null,
                "subvendor_id": null,
                "vendor": "Intel Corporation",
                "vendor_id": 32902
            },

Compare this with borked data with the faulty commit in place:

            {
                "bus": "pci",
                "category": "WIRELESS",
                "driver": "iwlwifi",
                "path": "/devices/pci0000:00/0000:00:1c.1/0000:03:00.0", #The path looks better in theory
                "product": "Centrino Advanced-N 6205 [Taylor Peak]",
                "product_id": 7186, #Wrong product ID, matches the PCI bridge
                "subproduct_id": null,
                "subvendor_id": null,
                "vendor": "Intel Corporation",
                "vendor_id": 32902
            },

And this:
            {
                "bus": "net", #Wrong bus, we want pci
                "category": "NETWORK",
                "driver": "e1000e",
                "path": "/devices/pci0000:00/0000:00:19.0", #Path also looks nicer but ...
                "product": "82579LM Gigabit Network Connection",
                "product_id": null, #This is bad :(
                "subproduct_id": null,
                "subvendor_id": null,
                "vendor": "Intel Corporation",
                "vendor_id": null #This is also bad.
            },

OK, my next step is to fix the one test problem with the removed commit, then go back and try to replicate the path cleaning behavior while keeping the rest of the correct data (or understanding the rationale behind that commit and deciding if we can revert it outright).