Bug#697035: installer: kb and mouse don't work on a decTop (NSC geode processor)
Hello,
On Fri, 2013-01-04 at 04:06 +0000, Steven Chamberlain wrote:
> I have some AMD Geode NX / CS5535-based devices (Wyse Sx0) which only
> allow me to enter the BIOS menu with a *specific* USB keyboard out of
> about 3 or 4 that I tried. (A cheap and uninteresting one branded
> "SWEEX" works; a more expensive Cherry and some others didn't).
>
> It would be interesting to see your output of `lsusb -v` when the
> keyboard is working.
ok, I just reinstalled lenny, so here goes:
Bus 002 Device 002: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1bcf Sunplus Innovation Technology Inc.
idProduct 0x0007 Optical Mouse
bcdDevice 0.10
iManufacturer 0
iProduct 2 USB Optical Mouse
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 87
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 2.06
iManufacturer 3 Linux 2.6.26-2-486 ohci_hcd
iProduct 2 OHCI Host Controller
iSerial 1 0000:00:0f.5
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x0002
No power switching (usb 1.0)
Ganged overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0303 lowspeed power enable connect
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Bus 001 Device 003: ID 0518:0002 EzKEY Corp. EZ-9900C Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0518 EzKEY Corp.
idProduct 0x0002 EZ-9900C Keyboard
bcdDevice 1.00
iManufacturer 0
iProduct 1 USB-compliant keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 50
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 001 Device 002: ID 0bda:8150 Realtek Semiconductor Corp. RTL8150 Fast Ethernet Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x8150 RTL8150 Fast Ethernet Adapter
bcdDevice 1.00
iManufacturer 1 REALTEK
iProduct 2 USB 10/100 LAN
iSerial 3 9924
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 120mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 2.06
iManufacturer 3 Linux 2.6.26-2-486 ohci_hcd
iProduct 2 OHCI Host Controller
iSerial 1 0000:00:0f.4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x0002
No power switching (usb 1.0)
Ganged overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0103 power enable connect
Port 2: 0000.0303 lowspeed power enable connect
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
>
>
> I think at GRUB/syslinux prompts, these devices had the same problem so
> I ended up setting up a serial console to work on them.
>
> I guess they don't initialise keyboard input (similar to a PS/2 keyboard
> not plugged in at boot time), unless it detects some particular USB
> vendor/model/chipset or something.
Alas, afaik there's no serial port hardware on the decTop board, so I
can't try that. But the kb always works fine in grub, to select kernels
from the menu etc, right up until the kernel boots. And it worked fine
at every stage with sarge, etch and lenny. It appears to only be broken
in squeeze and wheezy, and I've tried it with a number of different
generic keyboards and it doesn't appear to vary its behavior with any of
those. I've never been able to access any BIOS parameters in the decTop
and it's interesting to think that it might be possible to do so with
some particular magic keyboard.
> Most likely it is a poor USB implementation in the BIOS and/or the
> keyboard. For example, the keyboard may be slow to initialise and the
> BIOS may not wait very long for USB devices to appear.
>
> BIOSes also normally communicate with USB keyboards using the simple
> 'boot protocol' and not the full HID protocol.
The kb appears to have no problem talking to the BIOS or to grub, only
when: 1) trying to use the text-mode installer in squeeze or wheezy;
2) talking to cryptsetup early in the boot process after an install of
squeeze or wheezy; 3) with the squeeze gtk installer; 4) with the wheezy
b4 gtk installer, although the mouse worked in this one case.
The kb and mouse both work in the gtk installer, for both squeeze and
wheezy, iff the installer is launched from X.org on a running system
in which the kb and mouse were working before running the installer,
eg. debian-live.
the kb and mouse also both work at all times in recent versions of knoppix
(6.7, 6.4...)
> After booting a 'full' system such as Debian Live, something triggers
> the keyboard/mouse to start working. I'm surprised graphical-mode d-i
> doesn't do this though.
>
> So far as USB and HID drivers go, there shouldn't be any difference in
> capabilities between a text-mode installer, graphical installer, or the
> 'full' system. For a Geode NX we'll even install the same kernel
> flavour (486) as is used in the installer itself.
>
> Although it's always possible we're failing to include a specialised HID
> driver that we really need...
>
> What are the USB vendor and device IDs for the devices that don't work
> in the installer?
here's lsusb:
Bus 002 Device 002: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0518:0002 EzKEY Corp. EZ-9900C Keyboard
Bus 001 Device 002: ID 0bda:8150 Realtek Semiconductor Corp. RTL8150 Fast Ethernet Adapter
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
>
> Ben.
>
> > [...] pretty much run out of options with linux for these machines and
> > am about to try kfreebsd.
>
> If you do actually try that, please let me know how it goes!
I looked into it, but i can't see how I can boot the installer from a
USB stick, and I don't have any other way to boot the decTop. Besides,
your letters make me hopeful that I'll soon be able to install squeeze
or wheezy after all. <:-)
> --
> Ben Hutchings
> Always try to do things in chronological order;
> it's less confusing that way.
Thanks, and let me know if I can answer any more questions.
Phil
Reply to: