Bug#248855: Useful clues for non-working USB keyboard on SunBlade 150 / sparc64
> > I was wondering if discover plays a role here. I noticed a couple
> > of "unknown" items in pci.list that match pci ids in my SB100.
> > The USB controller entry seems correct however
> > 108e1103 usb usb-ohci RIO USB
> Hmmm. There may be a clue there.
> Can you get the output of lspci and lspci -n and send it? If you know what
> modules should be loaded for what pci ids, that would be very helpful.
> OTOH, it may mean nothing.
I did a bit of investigation with a gentoo disc (latest release).
0000:00:00.0 Class 0600: 108e:a001
0000:00:00.0 Host bridge: Sun Microsystems Computer Corp. Ultra IIe
0000:00:03.0 Class 0000: 10b9:7101
0000:00:03.0 Non-VGA unclassified device: ALi Corporation M7101 Power Management Controller [PMU]
0000:00:05.0 Class 0604: 8086:b152
0000:00:05.0 PCI bridge: Intel Corp. 21152 PCI-to-PCI Bridge
0000:00:07.0 Class 0601: 10b9:1533
0000:00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
0000:00:08.0 Class 0401: 10b9:5451 (rev 01)
0000:00:08.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 01)
0000:00:0c.0 Class 0680: 108e:1100 (rev 01)
0000:00:0c.0 Bridge: Sun Microsystems Computer Corp. RIO EBUS (rev 01)
0000:00:0c.1 Class 0200: 108e:1101 (rev 01)
0000:00:0c.1 Ethernet controller: Sun Microsystems Computer Corp. RIO GEM (rev 01)
0000:00:0c.2 Class 0c00: 108e:1102 (rev 01)
0000:00:0c.2 FireWire (IEEE 1394): Sun Microsystems Computer Corp. RIO 1394 (rev 01)
0000:00:0c.3 Class 0c03: 108e:1103 (rev 01)
0000:00:0c.3 USB Controller: Sun Microsystems Computer Corp. RIO USB (rev 01)
0000:00:0d.0 Class 0101: 10b9:5229 (rev c3)
0000:00:0d.0 IDE interface: ALi Corporation M5229 IDE (rev c3)
0000:00:13.0 Class 0300: 1002:4752 (rev 27)
0000:00:13.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
Somehow I managed to forget to do an lsmod, I can try that tomorrow.
RIO EBUS is some kind of bridge to a "memory device" bus, things like
a flashprom and eeprom. These probably relate to the OpenBoot Prom.
The A1701 device seems like it's a power management watchdog, and could
possibly need alim7101_wdt. Poking at it in Solaris, it seems to control
an i2c-smbus bridge, on the far side of which are the beeper and fan
control. the i2c side talks to a MAX1617 thermistor.
Other output of interest -
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 4
B: Alloc=118/900 us (13%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0430 ProdID=0005 Rev= 1.02
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0430 ProdID=0100 Rev= 1.05
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 3 Ivl=10ms
/var/log/genkernel.log has things like this (2.4.26)
* USB support
Support for USB (CONFIG_USB) [Y/m/n/?]
USB verbose debug messages (CONFIG_USB_DEBUG) [N/y/?]
* Miscellaneous USB options
Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y/n/?]
Enforce USB bandwidth allocation (EXPERIMENTAL) (CONFIG_USB_BANDWIDTH)
* USB Host Controller Drivers
EHCI HCD (USB 2.0) support (EXPERIMENTAL) (CONFIG_USB_EHCI_HCD)
UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M/n/y/?]
UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M/n/y/?]
OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI)
* USB Human Interface Devices (HID)
USB Human Interface Device (full HID) support (CONFIG_USB_HID) [Y/m/n/?]
HID input layer support (CONFIG_USB_HIDINPUT) [Y/n/?]
/dev/hiddev raw HID device support (CONFIG_USB_HIDDEV) [Y/n/?]
I saw no differences in usb.ids (usbutils)
Comparing the above to the config for kernel-image-2.4.27-1-sparc64,
the main differences are that in debian's kernel raw HID support is not
compiled in, and Boot Protocol support for keyboard & mice is compiled in.
# USB Human Interface Devices (HID)
# CONFIG_USB_HIDDEV is not set
It seems like it might be worth experimenting with this - in particular
compiling in raw HID support, and making usbkbd and usbmouse modules
since there is modprobe code for the latter two modules in
/usr/sbin/usb-discover (see previous posts).
The gentoo install docs comment that one needs to take care with the
keymap selection for usb-based sparc systems, and suggests choosing an
i386 map (eg "us") instead of "sunkeymap".
However the default is "sunkeymap" and that works.
They have the 'windowkeys' console keymap turned off.
I'm not sure what keymaps are chosen by the debian installer. Obviously
it gets it right for the non-usb sparcs, but maybe there is a problem
with the console keymaps?
Ok, I'm out of ideas at this point.