Мы добавили ALT 10 в ночные тесты КриптоПро CSP, обновив (переставив начисто) машину, на которой стоял ALT 6 на ALT 10. Из изменений, которые были попутно - только переход с IDE на AHCI в настройках BIOS. Обнаружили две проблемы: 1. тесты, использующие токены и смарт-карты замедлились в 3-5 раз 2. при рестарте USB-хабов в dmesg сыпятся ошибки от flash-диска Есть надежда, что проблемы связаны. Что известно (пишу не всё, а только самое интересное): * проблемы вызываны внешним USB-хабом: при подключении не к материнской плате/корпусу тормозов/ошибок нет, через внешний хаб - есть * проблемы не зависят от производителя USB-хаба (проверено 4 разных производителей, которые успешно работают в 4 других железках) * для воспроизведения достаточно одного USB-устройства * проблема не проявляется в Linux 2.6.32, 3.10.0, 4.9.0 * проблема проявляется в Linux 5.10.90-std-def-alt1 * при рестарте корневых хабов (делается в начале каждой ночи с помощью команд вида "echo -n 0000:00:12.2 | tee /sys/bus/pci/drivers/ehci-pci/unbind" + аналогичный bind) от флешки в хабе сыпятся в dmesg такие ошибки: [213335.821692] sd 11:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s [213335.821724] blk_update_request: I/O error, dev sdb, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [213335.821732] Buffer I/O error on dev sdb, logical block 0, async page read [213335.821778] blk_update_request: I/O error, dev sdb, sector 2 op 0x0:(READ) flags 0x0 phys_seg 3 prio class 0 [213335.821782] Buffer I/O error on dev sdb, logical block 1, async page read [213335.821786] Buffer I/O error on dev sdb, logical block 2, async page read [213335.821790] Buffer I/O error on dev sdb, logical block 3, async page read [213335.821919] blk_update_request: I/O error, dev sdb, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [213335.821927] Buffer I/O error on dev sdb, logical block 0, async page read Всё это напоминает мне другую ошибку (у меня eject ошибок не выдаёт, как положено после фикса): https://bbs.archlinux.org/viewtopic.php?id=263395 https://github.com/storaged-project/udisks/issues/827 https://bugzilla.kernel.org/show_bug.cgi?id=211023 где * проблемы нет в Kernel-5.9.12 * проблема есть в ванильном LTS Kernel 5.10.x (1-4) Мне кажется, что это подобная регрессия. Помогите дожать, пожалуйста. hw-x64-alt10 ~ # cat /etc/os-release NAME="ALT Workstation" VERSION="10.0" ID=altlinux VERSION_ID=10.0 PRETTY_NAME="ALT Workstation 10.0 (Autolycus)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:workstation:10.0" BUILD_ID="ALT Workstation 10.0" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" hw-x64-alt10 ~ # uname -a Linux hw-x64-alt10 5.10.90-std-def-alt1 #1 SMP Wed Jan 12 19:06:46 UTC 2022 x86_64 GNU/Linux
Прошу проверить на ядре 5.15: под root: update-kernel -t un-def и перезагрузиться.
Обновил ядро на 5.15: hw-x64-alt10 ~ # uname -a Linux hw-x64-alt10 5.15.15-un-def-alt1 #1 SMP PREEMPT Tue Jan 25 15:50:18 UTC 2022 x86_64 GNU/Linux Сообщения в dmesg об ошибках flash, работающей через USB-хаб исчезли. Успех! Тормоза токенов при работе через USB-хаб остались :( Добавлю. На другой железной машине с Debian 9 и такими пакетами pcsc/ccid при работе через любой USB-хаб тормозов не возникает: root@hw-x64-deb9:~# uname -a Linux hw-x64-deb9 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64 GNU/Linux root@hw-x64-deb9:~# dpkg -l|grep 'pcsc\|ccid' ii cprocsp-rdr-pcsc-64 5.0.12392-6 amd64 CryptoPro CSP. PC/SC devices support. Build 12392. ii libccid 1.4.26-1 amd64 PC/SC driver for USB CCID smart card readers ii libpcsclite-dev 1.8.20-1 amd64 Middleware to access a smart card using PC/SC (development files) ii libpcsclite1:amd64 1.8.20-1 amd64 Middleware to access a smart card using PC/SC (library) ii pcscd 1.8.20-1 amd64 Middleware to access a smart card using PC/SC (daemon side) Поэтому в качестве эксперимента я поставил близкие по версиям пакеты на проблемную машину с ALT 10 (для этого взял пакеты от ALT 8): hw-x64-alt10 ~ # rpm -qa|grep 'pcsc\|ccid' pcsc-lite-1.8.22-alt0.M80P.1.x86_64 libpcsclite-1.8.22-alt0.M80P.1.x86_64 pcsc-lite-ccid-1.4.28-alt0.M80P.1.x86_64 cprocsp-rdr-pcsc-64-5.0.12393-6.x86_64 Это не изменило ситуацию: тормоза остались.
А Вы сравните в Дебиан и Альт по lsmod какие модули загружены для OHCI, EHCI и UHCI. Может, есть что-то лишнее?
Debian 9: root@hw-x64-deb9:~# lsmod Module Size Used by nfsv3 40960 1 nfs_acl 16384 1 nfsv3 rpcsec_gss_krb5 36864 0 auth_rpcgss 61440 1 rpcsec_gss_krb5 oid_registry 16384 1 auth_rpcgss nfsv4 565248 2 dns_resolver 16384 1 nfsv4 nfs 249856 4 nfsv4,nfsv3 lockd 90112 2 nfs,nfsv3 grace 16384 1 lockd fscache 61440 2 nfsv4,nfs snd_hda_codec_hdmi 49152 1 snd_hda_codec_realtek 90112 1 snd_hda_codec_generic 69632 1 snd_hda_codec_realtek binfmt_misc 20480 1 nls_ascii 16384 1 nls_cp437 20480 1 vfat 20480 1 eeepc_wmi 16384 0 fat 69632 1 vfat asus_wmi 28672 1 eeepc_wmi sparse_keymap 16384 1 asus_wmi mxm_wmi 16384 0 intel_rapl 20480 0 efi_pstore 16384 0 i915 1232896 2 x86_pkg_temp_thermal 16384 0 intel_powerclamp 16384 0 coretemp 16384 0 kvm_intel 192512 0 snd_hda_intel 36864 0 snd_hda_codec 135168 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek drm_kms_helper 155648 1 i915 kvm 589824 1 kvm_intel snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek irqbypass 16384 1 kvm snd_hwdep 16384 1 snd_hda_codec evdev 24576 5 crct10dif_pclmul 16384 0 crc32_pclmul 16384 0 snd_pcm 110592 4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi drm 360448 3 i915,drm_kms_helper serio_raw 16384 0 snd_timer 32768 1 snd_pcm pcspkr 16384 0 i2c_algo_bit 16384 1 i915 mei_me 36864 0 iTCO_wdt 16384 0 iTCO_vendor_support 16384 1 iTCO_wdt sg 32768 0 mei 102400 1 mei_me ghash_clmulni_intel 16384 0 snd 86016 8 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek,snd_pcm shpchp 36864 0 soundcore 16384 1 snd efivars 20480 1 efi_pstore hci_uart 98304 0 btbcm 16384 1 hci_uart battery 20480 0 btqca 16384 1 hci_uart btintel 16384 1 hci_uart wmi 16384 2 asus_wmi,mxm_wmi bluetooth 552960 4 hci_uart,btintel,btqca,btbcm intel_lpss_acpi 16384 0 video 40960 2 asus_wmi,i915 rfkill 24576 3 asus_wmi,bluetooth intel_lpss 16384 1 intel_lpss_acpi mfd_core 16384 1 intel_lpss acpi_pad 24576 0 acpi_als 16384 0 kfifo_buf 16384 1 acpi_als button 16384 1 i915 industrialio 69632 2 acpi_als,kfifo_buf sunrpc 344064 24 auth_rpcgss,rpcsec_gss_krb5,nfsv4,nfs_acl,lockd,nfs,nfsv3 efivarfs 16384 1 ip_tables 24576 0 x_tables 36864 1 ip_tables autofs4 40960 2 ext4 585728 1 crc16 16384 2 bluetooth,ext4 jbd2 106496 1 ext4 crc32c_generic 16384 0 fscrypto 28672 1 ext4 ecb 16384 0 mbcache 16384 2 ext4 sd_mod 45056 4 crc32c_intel 24576 2 aesni_intel 167936 1 aes_x86_64 20480 1 aesni_intel glue_helper 16384 1 aesni_intel lrw 16384 1 aesni_intel gf128mul 16384 1 lrw ablk_helper 16384 1 aesni_intel cryptd 24576 3 ablk_helper,ghash_clmulni_intel,aesni_intel ahci 36864 3 libahci 32768 1 ahci i2c_i801 24576 0 xhci_pci 16384 0 i2c_smbus 16384 1 i2c_i801 r8169 81920 0 libata 249856 2 ahci,libahci xhci_hcd 188416 1 xhci_pci mii 16384 1 r8169 scsi_mod 225280 3 sd_mod,libata,sg usbcore 249856 9 xhci_pci,xhci_hcd usb_common 16384 1 usbcore fan 16384 0 thermal 20480 0 i2c_hid 20480 0 hid 122880 1 i2c_hid ALT 10: hw-x64-alt10 ~ # lsmod Module Size Used by nls_utf8 16384 0 nls_cp866 20480 0 vfat 20480 0 fat 86016 1 vfat nfsv3 57344 1 nfs_acl 16384 1 nfsv3 rpcsec_gss_krb5 32768 0 auth_rpcgss 155648 1 rpcsec_gss_krb5 nfsv4 868352 2 dns_resolver 16384 1 nfsv4 nfs 405504 4 nfsv4,nfsv3 lockd 110592 2 nfsv3,nfs grace 16384 1 lockd sunrpc 634880 13 nfsv4,auth_rpcgss,lockd,nfsv3,rpcsec_gss_krb5,nfs_acl,nfs fscache 401408 1 nfs netfs 49152 1 fscache af_packet 53248 2 cpufreq_ondemand 16384 6 hid_generic 16384 0 usbhid 57344 0 hid 143360 2 usbhid,hid_generic uas 28672 0 usb_storage 77824 1 uas edac_mce_amd 36864 0 kvm_amd 143360 0 ccp 98304 1 kvm_amd rng_core 16384 1 ccp snd_hda_codec_hdmi 69632 1 snd_hda_intel 57344 1 snd_intel_dspcfg 24576 1 snd_hda_intel kvm 1036288 1 kvm_amd snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg snd_hda_codec 163840 2 snd_hda_codec_hdmi,snd_hda_intel r8169 98304 0 irqbypass 16384 1 kvm pktcdvd 45056 0 ohci_pci 16384 0 snd_hda_core 106496 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec wl 6393856 0 sp5100_tco 16384 0 ehci_pci 16384 0 realtek 28672 1 snd_hwdep 16384 1 snd_hda_codec cfg80211 1036288 1 wl ata_generic 16384 0 rfkill 28672 2 cfg80211 ohci_hcd 45056 1 ohci_pci sr_mod 28672 0 snd_pcm 135168 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core cdrom 45056 2 pktcdvd,sr_mod pata_acpi 16384 0 pata_jmicron 16384 0 ehci_hcd 65536 1 ehci_pci i2c_piix4 24576 0 k10temp 16384 0 wmi_bmof 16384 0 asus_atk0110 20480 0 tiny_power_button 16384 0 button 20480 0 acpi_cpufreq 20480 1 wmi 32768 1 wmi_bmof sch_fq_codel 20480 2 vboxnetadp 28672 0 vboxnetflt 32768 0 vboxdrv 532480 2 vboxnetadp,vboxnetflt vboxvideo 32768 0 drm_vram_helper 20480 1 vboxvideo vboxsf 40960 0 vboxguest 45056 1 vboxsf snd_seq_midi 16384 0 snd_seq_midi_event 16384 1 snd_seq_midi snd_seq 77824 2 snd_seq_midi,snd_seq_midi_event snd_rawmidi 40960 1 snd_seq_midi snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi snd_timer 36864 2 snd_seq,snd_pcm snd 106496 11 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi soundcore 16384 1 snd ipmi_devintf 20480 0 ipmi_msghandler 69632 1 ipmi_devintf msr 16384 0 efi_pstore 16384 0 fuse 155648 1 ip_tables 28672 0 x_tables 49152 1 ip_tables autofs4 40960 2 sd_mod 61440 4 radeon 1667072 4 hwmon 32768 3 k10temp,radeon,asus_atk0110 i2c_algo_bit 16384 1 radeon drm_ttm_helper 16384 3 drm_vram_helper,vboxvideo,radeon ttm 77824 3 drm_vram_helper,radeon,drm_ttm_helper drm_kms_helper 319488 3 drm_vram_helper,vboxvideo,radeon cec 61440 1 drm_kms_helper ahci 45056 3 libahci 45056 1 ahci libata 294912 5 libahci,ahci,pata_acpi,ata_generic,pata_jmicron rc_core 53248 1 cec evdev 24576 11 input_leds 16384 0 serio_raw 16384 0 drm 634880 9 drm_kms_helper,drm_vram_helper,vboxvideo,radeon,drm_ttm_helper,ttm scsi_mod 270336 5 sd_mod,usb_storage,uas,libata,sr_mod Интерпертировать затрудняюсь. В какой-то момент я при экспериментах повыгружал usbhid, usb_storage и scsi_mod. Флешка закономерно отвалилась, то токены не разогнались.
Разница очевидна: Debian -- xhci_hcd, xhci_pci; ALT 10 -- ehci_hcd, ohci_hcd, ehci_pci, ohci_pci Надо все модули выгрузить и загрузить xhci_pci. Надо сравнивать на железе, как отрабатывают udev-правила.
Там железно разное. На ALT 10 материнская плата USB 3.0 не поддерживает hw-x64-alt10 ~ # dmidecode # dmidecode 3.3 ... Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: ASUSTeK Computer INC. Product Name: M4A89GTD-PRO Version: Rev 1.xx Serial Number: 104276320001319 Asset Tag: To Be Filled By O.E.M. Features: Board is a hosting board Board is replaceable Location In Chassis: To Be Filled By O.E.M. Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0
Тогда непонятно, чего с чем мы сравниваем. :-) Но понятно, что надо искать USB-хаб и как-то у себя воспроизводить.