Bug#248855: Useful clues for non-working USB keyboard on SunBlade 150 / sparc64
more digging. sorry about the length
$ svn diff -r"{"20040511"}":"{"20040619"}" \
d-i/packages/usb-discover/ohci-pci.lst
Index: d-i/packages/usb-discover/ohci-pci.lst
===================================================================
--- d-i/packages/usb-discover/ohci-pci.lst (revision 15106)
+++ d-i/packages/usb-discover/ohci-pci.lst (revision 16927)
@@ -1,18 +1 @@
-0e117020
-0e11a0f8
-10227404
-1022740c
-10227414
-10330035
-10397001
-1045a0f8
-1045c861
-10559462
-106b0019
-106b0026
-108e1103
-10950670
-10950673
-10b95237
-11660220
-11660221
+10de0067
Note - 108e1103 is the USB host controller in these troublesome sunblades.
I see now the connection to discover1-data. The usb-discover Makefile uses
/usr/share/discover/pci.lst on the d-i build host and dumps into the udeb
all the e.g. ohci entries, as (e.g.) /usr/lib/usb-discover/ohci-pci.lst.
/lib/debian-installer-startup.d/S33usb-linux runs /usr/sbin/usb-discover,
which references the ohci-pci.lst and friends.
I was able to mount and compare the boot/initrd.gz files for all three
versions. The only differences between 20040511 and RC2 are
--- /mnt/a/usr/lib/usb-discover/ohci-pci.lst Thu Jan 1 10:00:00 1970
+++ /mnt/b/usr/lib/usb-discover/ohci-pci.lst Thu Jan 1 10:00:00 1970
@@ -3,6 +3,9 @@
10227404
1022740c
10227414
+10227449
+10227461
+10227464
10330035
10397001
1045a0f8
@@ -14,5 +17,7 @@
10950670
10950673
10b95237
+10de0067
+10de00d7
11660220
11660221
none of which matter to our problem.
Not much change in /usr/share/discover/pci.lst either,
--- /mnt/a/usr/share/discover/pci.lst Thu Jan 1 10:00:00 1970
+++ /mnt/b/usr/share/discover/pci.lst Thu Jan 1 10:00:00 1970
<snip>
108e Sun Microsystems Computer Corp.
- 108e1001 unknown sunhme Happy Meal
+ 108e1001 ethernet sunhme Happy Meal
108e1101 ethernet sungem RIO GEM
- 108e1102 unknown ohci1394 RIO 1394
+ 108e1102 bridge ohci1394 RIO 1394
108e1103 usb usb-ohci RIO USB
108e2bad ethernet sungem GEM
Hmm, maybe this discovery stuff is all a red herring.
I noticed the usb-linux startup script has moved from
lib/debian-installer.d/S45usb-linux
to
lib/debian-installer-startup.d/S33usb-linux
so possibly the order that things happen has changed enough to matter?
See below.
These scripts both do one thing, call /usr/sbin/usb-discover. The only
change there is around the hid support module, sometime after 20040619.
--- /mnt/a/usr/sbin/usb-discover Thu Jan 1 10:00:00 1970
+++ /mnt/b/usr/sbin/usb-discover Thu Jan 1 10:00:00 1970
@@ -50,9 +50,12 @@
if [ "$kver" = 2.6 ]; then
modprobe usbkbd || true
modprobe hid || true
+ # ... which changed in 2.6.6 to:
+ modprobe usbhid || true
else
modprobe usbkbd || true
- modprobe keybdev || true
+ modprobe hid || true
+ modprobe keybdev || true
fi
modprobe usbserial || true
fi
About the order of events -
20040511:
/etc/init.d/rcS runs, which calls everything in /etc/rcS.d, ie
S01mount
S50sysklog
S55kbd-chooser
/sbin/debian-installer runs, calling everything in /lib/debian-installer.d
S10lowmem
S20templates
S25env2debconf
S30term-linux
S31lowmem
S35framebuffer-linux
S40utf8-linux
S45usb-linux
S50frontend
S50priority
S60devpts-linux
S70main-menu-linux
S90utf8-linux
RC2:
/sbin/debian-installer-startup runs, calling all the scripts in
/lib/debian-installer-startup.d,
S01mount
S10syslog
S20templates
S30read-environment
S33usb-linux
S35term
S38lowmem
S55kbd-chooser
and then /sbin/debian-installer, calling its .d scripts,
S30term
S35framebuffer-linux
S40term-linux
S60frontend
S70menu-linux
S72menu-exit
so in 20040511 kbd-chooser was running earlier, before term-linux or
usb-linux. About the only significant difference I can see is that in
20040511 kbd-chooser ran before usb-linux tried to load any USB support
modules. Now, usb-linux runs first, and it loads full HID support
(hid.o).
Possibly significant, kbd-chooser now also turns on unicode support
(kbd-mode -u).
I guess now we need some installer log files for attempts with each disc?
Cheers
Vince
Reply to: