Package: discover-data
Version: 2.2005.02.13-1
The name of the usb HCD kerne; modules changed between kernel versions
2.4 and 2.6.
This means that linux/module/name needs to return different values,
based on the kernel version, for devices requiring these modules.
In pci-devices.xml this can be represented by a version attribute on
data elements.
For most devices this has indeed been done. Discover retruns the correct
module name, depending on kernel version, if it is supplied to discover
supplying the output of "uname -r" as the value of the --data-version
option to discover, and this mechanism is used in, for example,
discover-modprobe.
module_details=$(${discover} --data-path=linux/module/name \
--data-path=linux/module/options --format="%s %s" \
--data-version=`uname -r` ${types} | grep -E -v '^ *$')
This is because the corresponding device tag in pci-devices.xml contains
a snippet like the following.
<data class='linux'>
<data version='[2.6,inf)' class='module'>
<data class='name'>uhci-hcd</data>
</data>
<data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
<data class='last-updated'>2004-04-08</data>
<data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
However, for a few devices this versioning has not been applied, and
discover returns the wrong answer for 2.6 kernels. That is because their
device element contains only the following.
<data class='linux'>
<data class='module'>
<data class='name'>usb-uhci</data>
</data>
<data class='last-updated'>2004-08-31</data>
<data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
With such an entry without versioning, discover will return the correct
value for 2.4 kernels but not for 2.6.
It seems to me that the correct fix would be to replace entries which
look like the latter snippet with one which looks like the former. I
cannot envisage likely situations where this will cause any problems to
existing setups, and will cause these devices to function correctly with
discover on 2.6 kernels.
I have encountered this problem, in practice, on a modern machine with
such a device running under 2.6. Discover failed, I applied a patch, as
described above, and it now works.
I attach the patch for your consideration.
Dan.
--- /lib/discover/pci-device.xml 2005-02-13 18:30:32.000000000 +0000
+++ /root/initrd-nfs/lib/discover/pci-device.xml 2006-02-13
16:29:04.000000000 +0000
@@ -19054,11 +19054,14 @@
</device>
<device model='2482' vendor='8086' model_name='82801CA/CAM USB (Hub #1)'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-08-31</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='2482' model_name='82801CA/CAM USB (Hub #1)'
subsystem_name='ThinkPad A/T/X Series' subvendor='1014' vendor='8086'
subdevice='0220'/>
@@ -19074,11 +19077,14 @@
<device model='2483' model_name='82801CA/CAM SMBus Controller'
subsystem_name='vpr Matrix 170B4' subvendor='8086' vendor='8086'
subdevice='1958'/>
<device model='2484' vendor='8086' model_name='82801CA/CAM USB (Hub #2)'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-08-31</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='2484' model_name='82801CA/CAM USB (Hub #2)'
subsystem_name='ThinkPad A/T/X Series' subvendor='1014' vendor='8086'
subdevice='0220'/>
@@ -19123,11 +19129,14 @@
<device model='2486' model_name="82801CA/CAM AC'97 Modem Controller"
subsystem_name='MD56ORD V.92 MDC Modem' subvendor='14f1' vendor='8086'
subdevice='5421'/>
<device model='2487' vendor='8086' model_name='82801CA/CAM USB (Hub #3)'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-08-31</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='2487' model_name='82801CA/CAM USB (Hub #3)'
subsystem_name='ThinkPad A/T/X Series' subvendor='1014' vendor='8086'
subdevice='0220'/>
@@ -19180,9 +19189,14 @@
<device model='24c1' vendor='8086' model_name='82801DBL (ICH4-L) IDE
Controller'/>
<device model='24c2' vendor='8086' model_name='82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24c2' model_name='82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB
UHCI Controller #1' subsystem_name='NetVista A30p' subvendor='1014'
vendor='8086' subdevice='0267'/>
@@ -19203,9 +19217,14 @@
<device model='24c3' model_name='82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus
Controller' subsystem_name='Cx9 / Vx9 mainboard' subvendor='4c53' vendor='8086'
subdevice='1090'/>
<device model='24c4' vendor='8086' model_name='82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24c4' model_name='82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB
UHCI Controller #2' subsystem_name='NetVista A30p' subvendor='1014'
vendor='8086' subdevice='0267'/>
@@ -19240,9 +19259,14 @@
<device model='24c6' model_name="82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97
Modem Controller" subsystem_name='MIM2000' subvendor='1071' vendor='8086'
subdevice='8160'/>
<device model='24c7' vendor='8086' model_name='82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24c7' model_name='82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB
UHCI Controller #3' subsystem_name='NetVista A30p' subvendor='1014'
vendor='8086' subdevice='0267'/>
@@ -19321,9 +19345,14 @@
<device model='24d1' model_name='82801EB (ICH5) SATA Controller'
subsystem_name='D865PERL mainboard' subvendor='8086' vendor='8086'
subdevice='524c'/>
<device model='24d2' vendor='8086' model_name='82801EB/ER (ICH5/ICH5R) USB
UHCI Controller #1'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24d2' model_name='82801EB/ER (ICH5/ICH5R) USB UHCI Controller
#1' subsystem_name='d530 CMT (DG746A)' subvendor='103c' vendor='8086'
subdevice='12bc'/>
@@ -19340,9 +19369,14 @@
<device model='24d3' model_name='82801EB/ER (ICH5/ICH5R) SMBus Controller'
subsystem_name='D865PERL mainboard' subvendor='8086' vendor='8086'
subdevice='524c'/>
<device model='24d4' vendor='8086' model_name='82801EB/ER (ICH5/ICH5R) USB
UHCI Controller #2'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24d4' model_name='82801EB/ER (ICH5/ICH5R) USB UHCI Controller
#2' subsystem_name='d530 CMT (DG746A)' subvendor='103c' vendor='8086'
subdevice='12bc'/>
@@ -19371,9 +19405,14 @@
<device model='24d6' vendor='8086' model_name="82801EB/ER (ICH5/ICH5R) AC'97
Modem Controller"/>
<device model='24d7' vendor='8086' model_name='82801EB/ER (ICH5/ICH5R) USB
UHCI #3'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24d7' model_name='82801EB/ER (ICH5/ICH5R) USB UHCI #3'
subsystem_name='d530 CMT (DG746A)' subvendor='103c' vendor='8086'
subdevice='12bc'/>
@@ -19416,9 +19455,14 @@
<device model='24dd' model_name='82801EB/ER (ICH5/ICH5R) USB2 EHCI
Controller' subsystem_name='D865PERL mainboard' subvendor='8086' vendor='8086'
subdevice='524c'/>
<device model='24de' vendor='8086' model_name='82801EB/ER (ICH5/ICH5R) USB
UHCI Controller #4'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='24de' model_name='82801EB/ER (ICH5/ICH5R) USB UHCI Controller
#4' subsystem_name='P4P800 Mainboard' subvendor='1043' vendor='8086'
subdevice='80a6'/>
@@ -19660,41 +19704,53 @@
<device model='2653' vendor='8086' model_name='82801FBM (ICH6M) SATA
Controller'/>
<device model='2658' vendor='8086' model_name='82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-04-26</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='2658' model_name='82801FB/FBM/FR/FW/FRW (ICH6 Family) USB
UHCI #1' subsystem_name='Optiplex GX280' subvendor='1028' vendor='8086'
subdevice='0179'/>
<device model='2659' vendor='8086' model_name='82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-11-19</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='2659' model_name='82801FB/FBM/FR/FW/FRW (ICH6 Family) USB
UHCI #2' subsystem_name='Optiplex GX280' subvendor='1028' vendor='8086'
subdevice='0179'/>
<device model='265a' vendor='8086' model_name='82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-11-19</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='265a' model_name='82801FB/FBM/FR/FW/FRW (ICH6 Family) USB
UHCI #3' subsystem_name='Optiplex GX280' subvendor='1028' vendor='8086'
subdevice='0179'/>
<device model='265b' vendor='8086' model_name='82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4'>
<data class='linux'>
- <data class='module'>
+ <data version='[2.6,inf)' class='module'>
+ <data class='name'>uhci-hcd</data>
+ </data>
+ <data version='[2.2,2.6)' class='module'>
<data class='name'>usb-uhci</data>
</data>
- <data class='last-updated'>2004-11-19</data>
- <data class='last-updated-by'>[EMAIL PROTECTED]</data>
+ <data class='last-updated'>2006-02-13</data>
+ <data class='last-updated-by'>[EMAIL PROTECTED]</data>
</data>
</device>
<device model='265b' model_name='82801FB/FBM/FR/FW/FRW (ICH6 Family) USB
UHCI #4' subsystem_name='Optiplex GX280' subvendor='1028' vendor='8086'
subdevice='0179'/>