[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1108392: console-setup: installer not asking for keymap on Supermicro Server when doing install via BMC



Package: console-setup
Version: 1.221

When trying to install a Supermicro AS -1114CS-TNR server via the BMC HTML5 web console using debian-12.11.0-amd64-netinst.iso I was expecting to be asked what keymap to use for the keyboard but this step was just silently skipped.

I think the reason for this is that https://salsa.debian.org/installer-team/console-setup/-/blob/master/debian/keyboard_present.sh expects a keyboard to use the USB class 03-01-01 but the keyboard in this case does instead appear as 03-00-01.

I took the device detection loop and gave it some output like so:
===
for d in /sys/bus/usb/devices/*:*; do
    echo $d
    class=$(cat "$d/bInterfaceClass") # 03 = Human Interface Device
    subclass=$(cat "$d/bInterfaceSubClass") # 01 = Boot Interface Subclass
    protocol=$(cat "$d/bInterfaceProtocol") # 01 = Keyboard
    echo "$class:$subclass:$protocol"
    case "$class:$subclass:$protocol" in
        03:01:01)
            echo "found keyboard"
    	return 0
    	;;
    esac
done
===

The result on an installed system:
===
/sys/bus/usb/devices/1-0:1.0
09:00:00
/sys/bus/usb/devices/2-0:1.0
09:00:00
/sys/bus/usb/devices/2-2:1.0
08:06:50
/sys/bus/usb/devices/3-0:1.0
09:00:00
/sys/bus/usb/devices/3-1:1.0
09:00:00
/sys/bus/usb/devices/3-1.1:1.0
03:00:01
/sys/bus/usb/devices/3-1.1:1.1
03:01:02
/sys/bus/usb/devices/3-1.2:2.0
e0:01:03
/sys/bus/usb/devices/3-1.2:2.1
0a:00:00
/sys/bus/usb/devices/4-0:1.0
09:00:00
/sys/bus/usb/devices/5-0:1.0
09:00:00
/sys/bus/usb/devices/5-2:1.0
09:00:02
/sys/bus/usb/devices/6-0:1.0
09:00:00
===

Also the fallback to check /proc/bus/input/devices will not work either, here is output again from an installed system:
===
# cat /proc/bus/input/devices
I: Bus=0003 Vendor=0557 Product=9241 Version=0100
N: Name="Linux 5.4.62 with aspeed_vhub SMCI HID KM"
P: Phys=usb-0000:05:00.3-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.3/usb3/3-1/3-1.1/3-1.1:1.0/0003:0557:9241.0001/input/input0
U: Uniq=
H: Handlers=sysrq kbd leds event0
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff800000000007ff f2beffdf73cfffff fffffffffffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=0557 Product=9241 Version=0100
N: Name="Linux 5.4.62 with aspeed_vhub SMCI HID KM"
P: Phys=usb-0000:05:00.3-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:05:00.3/usb3/3-1/3-1.1/3-1.1:1.1/0003:0557:9241.0002/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=1f
B: KEY=70000 0 0 0 0
B: REL=900
B: ABS=3
B: MSC=10

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input4
U: Uniq=
H: Handlers=kbd event4
B: PROP=0
B: EV=40001
B: SND=6
===

For reference here is lsusb -v output for the device:
===
Bus 003 Device 003: ID 0557:9241 ATEN International Co., Ltd SMCI HID KM
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0557 ATEN International Co., Ltd
  idProduct          0x9241
  bcdDevice            5.04
  iManufacturer           1 Linux 5.4.62 with aspeed_vhub
  iProduct                2 SMCI HID KM
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x003b
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      1 Keyboard
      iInterface              4 HID Interface
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      63
         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               4
    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              4 HID Interface
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      79
         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     0x0008  1x 8 bytes
        bInterval               4
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered
===

-- 
Patrik Lundin


Reply to: