3

У меня есть красивая древняя эргономичная клавиатура (без названия SK - 6000), подключенная через переходник DIN-> PS /2 к адаптеру USB /PS /2-> к моей док-станции. После Grub перестает работать. Требуется либо приостановка и пробуждение, либо повторное подключение, когда Linux работает, чтобы заставить его работать. Никаких дополнительных модулей ядра не загружается для этого. Когда это работает, и я перезагружаюсь без выключения, это будет работать немедленно.

Даже когда он не работает, он виден (номер устройства lsusb различается, но вывод одинаковый независимо от того, работает он или нет):

$ lsusb -v -s 001:006

Bus 001 Device 006: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0a81 Chesen Electronics Corp.
  idProduct          0x0205 PS/2 Keyboard+Mouse Adapter
  bcdDevice            0.10
  iManufacturer           1 CHESEN
  iProduct                2 PS2 to USB Converter
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
bLength                 9
bDescriptorType         2
wTotalLength           59
bNumInterfaces          2
bConfigurationValue     1
iConfiguration          2 PS2 to USB Converter
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      64
     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     148
     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              10
Device Status:     0x0000
  (Bus Powered)


$ ll -R /sys/bus/hid/drivers/
/sys/bus/hid/drivers/:
total 0
drwxr-xr-x 2 root root 0 Jul  8  2012 generic-usb/

/sys/bus/hid/drivers/generic-usb:
total 0
lrwxrwxrwx 1 root root    0 Jul  7 23:33 0003:046D:C03D.0003 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2:1.0/0003:046D:C03D.0003/
lrwxrwxrwx 1 root root    0 Jul  7 23:33 0003:0A81:0205.0001 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/
lrwxrwxrwx 1 root root    0 Jul  7 23:33 0003:0A81:0205.0002 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.1/0003:0A81:0205.0002/
--w------- 1 root root 4096 Jul  7 23:32 bind
lrwxrwxrwx 1 root root    0 Jul  7 23:33 module -> ../../../../module/usbhid/
--w------- 1 root root 4096 Jul  7 23:32 new_id
--w------- 1 root root 4096 Jul  8  2012 uevent
--w------- 1 root root 4096 Jul  7 23:32 unbind

При повторном подключении dmesg показывает это (которое, за исключением 1-й строки и других входных номеров, уже появилось во время загрузки):

[ 1583.295385] usb 1-1.2.1: new low-speed USB device number 6 using ehci_hcd
[ 1583.446514] input: CHESEN PS2 to USB Converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/input/input17
[ 1583.446817] generic-usb 0003:0A81:0205.0001: input,hidraw0: USB HID v1.10 Keyboard [CHESEN PS2 to USB Converter] on usb-0000:00:1a.0-1.2.1/input0
[ 1583.454764] input: CHESEN PS2 to USB Converter as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.1/input/input18
[ 1583.455534] generic-usb 0003:0A81:0205.0002: input,hidraw1: USB HID v1.10 Mouse [CHESEN PS2 to USB Converter] on usb-0000:00:1a.0-1.2.1/input1
[ 1583.455578] usbcore: registered new interface driver usbhid
[ 1583.455584] usbhid: USB HID core driver

Так я попробовал

$ sudo udevadm test /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0
run_command: calling: test
adm_test: version 175
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

parse_file: reading '/lib/udev/rules.d/40-crda.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-fuse.rules' as rules file
...
parse_file: reading '/lib/udev/rules.d/40-usb-media-players.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-usb_modeswitch.rules' as rules file
...
parse_file: reading '/lib/udev/rules.d/42-qemu-usb.rules' as rules file
...
parse_file: reading '/lib/udev/rules.d/69-cd-sensors.rules' as rules file
add_rule: IMPORT found builtin 'usb_id', replacing /lib/udev/rules.d/69-cd-sensors.rules:76
...
parse_file: reading '/lib/udev/rules.d/77-mm-usb-device-blacklist.rules' as rules file
...
parse_file: reading '/lib/udev/rules.d/85-usbmuxd.rules' as rules file
...
parse_file: reading '/lib/udev/rules.d/95-upower-hid.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-wup.rules' as rules file
parse_file: reading '/lib/udev/rules.d/97-bluetooth-hid2hci.rules' as rules file
udev_rules_new: rules use 271500 bytes tokens (22625 * 12 bytes), 44331 bytes buffer
udev_rules_new: temporary index used 76320 bytes (3816 * 20 bytes)
udev_device_new_from_syspath: device 0x7f78a5e4d2d0 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0'
udev_device_new_from_syspath: device 0x7f78a5e5f820 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0'
udev_device_read_db: device 0x7f78a5e5f820 filled with db file data
udev_device_new_from_syspath: device 0x7f78a5e60270 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001'
udev_device_new_from_syspath: device 0x7f78a5e609c0 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0'
udev_device_new_from_syspath: device 0x7f78a5e61160 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1'
udev_device_new_from_syspath: device 0x7f78a5e61960 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2'
udev_device_new_from_syspath: device 0x7f78a5e62150 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1'
udev_device_new_from_syspath: device 0x7f78a5e62940 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1'
udev_device_new_from_syspath: device 0x7f78a5e630f0 has devpath '/devices/pci0000:00/0000:00:1a.0'
udev_device_new_from_syspath: device 0x7f78a5e638a0 has devpath '/devices/pci0000:00'
udev_event_execute_rules: no node name set, will use kernel supplied name 'hidraw0'
udev_node_add: creating device node '/dev/hidraw0', devnum=251:0, mode=0600, uid=0, gid=0
udev_node_mknod: preserve file '/dev/hidraw0', because it has correct dev_t
udev_node_mknod: preserve permissions /dev/hidraw0, 020600, uid=0, gid=0
node_symlink: preserve already existing symlink '/dev/char/251:0' to '../hidraw0'
udev_device_update_db: created empty file '/run/udev/data/c251:0' for '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0'
ACTION=add
DEVNAME=/dev/hidraw0
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0
MAJOR=251
MINOR=0
SUBSYSTEM=hidraw
UDEV_LOG=6
USEC_INITIALIZED=969079051

Более поздние строки звучат так, как будто они уже есть. И ни один из них не будит клавиатуру:

$ sudo udevadm trigger --verbose --sysname-match=usb*
/sys/devices/pci0000:00/0000:00:1a.0/usb1
/sys/devices/pci0000:00/0000:00:1a.0/usbmon/usbmon1
/sys/devices/pci0000:00/0000:00:1d.0/usb2
/sys/devices/pci0000:00/0000:00:1d.0/usbmon/usbmon2
/sys/devices/virtual/usbmon/usbmon0

$ sudo udevadm trigger --verbose --sysname-match=hidraw0
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/0003:0A81:0205.0001/hidraw/hidraw0

$ sudo udevadm trigger

Я также попробовал это безрезультатно:

# echo -n 0003:0A81:0205.0001 > /sys/bus/hid/drivers/generic-usb/bind
ksh: echo: write to 1 failed [No such device]

# echo -n 0003:0A81:0205.0001 > /sys/bus/hid/drivers/generic-usb/unbind

# echo -n 0003:0A81:0205.0001 > /sys/bus/hid/drivers/generic-usb/bind

# echo usb1 >/sys/bus/usb/drivers/usb/unbind

# echo usb1 >/sys/bus/usb/drivers/usb/bind

Что еще я должен попытаться получить такой же результат, как повторное включение или приостановка, просто введя команду?

3 ответа3

1

вот решение: https://askubuntu.com/questions/48792/how-to-enable-an-extern-keyboard-using-ps2-to-usb-adapter-on-a-notebook

Существует два вида этих адаптеров: первый просто заменяет один штекер на другой, другой работает на сигналах.

0

Я тоже столкнулся с той же проблемой.

Решение (не уверен насчет основной причины, но это сработало для меня):

  1. Отсоедините PS2-USB от ноутбука.
  2. Отсоедините клавиатуру и мышь.
  3. Просто подключите PS2-к-USB обратно к ноутбуку, затем подключите клавиатуру и мышь. Начинает работать. Основная причина не известна.
-1

С очень нестабильным поведением обеих клавиатур PS/2 (дикие повторяющиеся клавиши, смешанные с, вертикальные перемещения курсора вверх и вниз) создают полный хаос при попытке отредактировать файл конфигурации! Также нестабильная конфигурация мыши PS/2 и действие клавиш мыши, изменяющихся при каждом повторном подключении, что делает GUI и веб-браузер вообще непригодным для использования!

Хороший вызов: привлечение внимания к использованию USB-концентратора с питанием, выходного напряжения питания 5 А для 7-портового USB-концентратора (5 прямых + 2 с прерывистой зарядкой) в моем случае позволил устранить все ошибочные действия в одном действии. Плюс возможность подключения 2,5-дюймового жесткого диска большой емкости через USB, соблюдая одинаковую потребляемую мощность для каждого подключенного устройства и в этом случае снова сохраняя все в пределах 5 А.

(Я искал эту тему на основании наличия мыши и клавиатуры PS/2 с разъемами PS/2 x2 для подключения к разъему, разъема USB x1, переходника с кабелем. Этот адаптер у меня был с тех пор, как USB начал переходить от PS/2, и я нахожу его по-прежнему полезным с оригинальной сверхпрочной клавиатурой IBM с надписью «клакти-клак» и, к счастью, оптической трехкнопочной мышкой-колесиком. Никогда ничего не выбрасывайте. ЭТО всегда оживит возможность более дешевого использования! Это даже тогда, когда все забыли о различных требованиях к мощности старой и новой технологии и их последствиях)

Спасибо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .