LINUX.ORG.RU

RTL9210 SSD зависает.

 , ,


0

1

Приветствую камрады!

Прикупил Orico NVMe M.2 SSD 10Gbps, на базе бриджа RTL9210, установил туда KINGSTON SA400S37120G, который до этого стоял в домашней машине и бутстрапнул туда арч, чтобы можно было загрузиться в полноценную систему на рабочей машине (на которой стоит оффтопик).

Первые проблемы начали вылазить в процессе бутстрапа и выглядели как ошибки драйвера UAS с отвалом диска. Лог ядра добавлю позже, если получится проблему воспроизвести. UAS я попробовал вылечить через usb-storage.quirks=0bda:9210:u, что вроде как помогло доустановисть систему и загрузиться с самого диска. Но в процессе работы с диска он периодически отваливается с полным зависанием системы (разумеется). После резета машины, диск не детектится в BIOS (но это возможно связано с кривым ASUS-овским биосом), его необходимо переподключить.

Решать проблему я начал с кабелей. Изначально адаптер был подключен через родной короткий шнурок USB3.0 <-> Type-C к удлинителю USB2.0. Дома, при подключении к ноуту родным шнурком в USB2 порт, проблема воспроизвелась. Я предположил, что у адаптера плохая поддержка USB2 и подключил его в USB3.0 на работе коротким кабелем. При работе на порте 3.0 зависаний не происходило (возможно мне повезло), но лазить каждый раз под стол не прикольно, поэтому был куплен 3.0 <-> Type-C на 1.8м.

Прошивка. На форуме есть тред по прошивке RTL9210 и аналогичных бриджей, а на station-drivers.com есть последняя версия 1.25, на которую я обновился с текущей 1.24. Вот старый дамп MPTool до прошивки:

**************************************************************
Device : [Port4] : Realtek RTL9210 NVME #0
**************************************************************
U2PHY : 02 f4 9b e0 e1 
U3PHY : 02 d4 09 00 d5 00 80 
VID : 0x0bda
PID : 0x9210
MANUFACTURE : "Realtek"
PRODUCT : "RTL9210"
SERIAL : "012345678902"
SCSI_PRODUCT : "RTL9210 NVME    "
SCSI_VENDOR : "Realtek "
DISK_HOTPLUG : 0x00
LED : 0x01
PINMUX1 : 0x00000000
PINMUX2 : 0x00000000
U2_MAXPWR : 0xfa
U3_MAXPWR : 0x70
ASPMDIS : 0x00
PCIE_REFCLK : n/a
DISK_IPS_THRES : 0x0a
SWR_1_2V : n/a
EN_UPS : n/a
PD : n/a
CUSTOMIZED_LED : 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 
SUSPEND_LED_OFF : n/a
FORCE_USB_SPEED : n/a
FORCE_PCIE_SPEED : n/a
FORCE_USB_QUIRK : n/a
FORCE_PCIE_QUIRK : n/a
FAN : n/a
DIS_SHOW_EMPTY_DISK : 0x01
FORCE_SATA_NORMAL_DMA : n/a
UART_DBG_PIN : 0x05
FINGER_PRINT_EN : n/a
RM_INTERNAL_RD : 0x00
HS_AUTO_SWITCH : n/a
EFUSE : 
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
       -------------------------------------------------
   0   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  10   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  20   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  30   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  40   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  50   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  60   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  70   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  80   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  90   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  a0   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
  b0   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

Boot Mode : Flash NM
FW Ver : 1.24.2
FW Build Date : 2020.12.07
IC Ver : 0xa0010002
IC Pkg Type : PCIE
UUID : ffffffff-ffff-ffff-ffff-ffffffffffff

Disconn_ForceUSB2 : 0x00

Попутно инфо системы:

[wx@nvme ~]$ uname -a
Linux nvme 5.10.52-3-rt47-MANJARO #1 SMP PREEMPT_RT Tue Jul 27 07:05:57 UTC 2021 x86_64 GNU/Linux
[phantom@nvme ~]$ lspci 
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1c.7 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 8 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Z77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)
03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
04:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
[wx@nvme ~]$ lsusb
Bus 002 Device 004: ID 04d9:1702 Holtek Semiconductor, Inc. Keyboard LKS02
Bus 002 Device 003: ID 04d9:a0d6 Holtek Semiconductor, Inc. USB Gaming Mouse
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0951:16a2 Kingston Technology DTR30G2
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 0bda:9210 Realtek Semiconductor Corp. RTL9210 M.2 NVME Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[wx@nvme ~]$ free -m
               total        used        free      shared  buff/cache   available
Mem:           15948        1129       13912          91         906       14554
Swap:              0           0           0

И лог ядра, в момент отвала диска, когда я был загружен с флешки:

[ 3024.126870] usb 3-4: reset high-speed USB device number 2 using xhci_hcd
[ 3029.446731] usb 3-4: device descriptor read/64, error -110
[ 3045.020034] usb 3-4: device descriptor read/64, error -110
[ 3045.250032] usb 3-4: reset high-speed USB device number 2 using xhci_hcd
[ 3045.373356] usb 3-4: device descriptor read/64, error -71
[ 3045.603355] usb 3-4: device descriptor read/64, error -71
[ 3045.833357] usb 3-4: reset high-speed USB device number 2 using xhci_hcd
[ 3045.833458] usb 3-4: Device not responding to setup address.
[ 3046.040101] usb 3-4: Device not responding to setup address.
[ 3046.246679] usb 3-4: device not accepting address 2, error -71
[ 3046.370013] usb 3-4: reset high-speed USB device number 2 using xhci_hcd
[ 3046.370116] usb 3-4: Device not responding to setup address.
[ 3046.576777] usb 3-4: Device not responding to setup address.
[ 3046.783347] usb 3-4: device not accepting address 2, error -71
[ 3046.783408] usb 3-4: USB disconnect, device number 2
[ 3046.796667] print_req_error: 983 callbacks suppressed
[ 3046.796669] blk_update_request: I/O error, dev sdc, sector 198516744 op
0x1:(WRITE) flags 0x800 phys_seg 5 prio class 0
[ 3046.796682] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 1704986 starting block 6853121)
[ 3046.796695] blk_update_request: I/O error, dev sdc, sector 198529024 op
0x1:(WRITE) flags 0x0 phys_seg 1 prio class 0
[ 3046.796699] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 10485770 starting block 6854656)
[ 3046.796702] Buffer I/O error on device dm-3, logical block 6854656
[ 3046.796714] blk_update_request: I/O error, dev sdc, sector 479529680 op
0x1:(WRITE) flags 0x0 phys_seg 1 prio class 0
[ 3046.796718] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 10486414 starting block 41979738)
[ 3046.796724] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 1704985 starting block 6849599)
[ 3046.796761] Buffer I/O error on device dm-3, logical block 6853121
[ 3046.796769] Buffer I/O error on device dm-3, logical block 6853122
[ 3046.796771] Buffer I/O error on device dm-3, logical block 6853123
[ 3046.796772] Buffer I/O error on device dm-3, logical block 6853124
[ 3046.796773] Buffer I/O error on device dm-3, logical block 6853125
[ 3046.796781] Buffer I/O error on device dm-3, logical block 41979738
[ 3046.796785] Buffer I/O error on device dm-3, logical block 6849599
[ 3046.796877] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 10486415 starting block 41979739)
[ 3046.796881] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 10486416 starting block 41979740)
[ 3046.796893] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 10486418 starting block 41979741)
[ 3046.796894] Buffer I/O error on device dm-3, logical block 41979739
[ 3046.796900] Buffer I/O error on device dm-3, logical block 41979740
[ 3046.797887] Aborting journal on device dm-3-8.
[ 3046.797892] EXT4-fs error (device dm-3) in ext4_reserve_inode_write:5751:
Journal has aborted
[ 3046.797974] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 4347963 starting block 17477576)
[ 3046.797996] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 4347964 starting block 17477588)
[ 3046.798015] EXT4-fs warning (device dm-3): ext4_end_bio:345: I/O error 10
writing to inode 4347965 starting block 17477592)
[ 3046.799782] buffer_io_error: 974 callbacks suppressed
[ 3046.799783] Buffer I/O error on dev dm-3, logical block 0, lost sync page
write
[ 3046.799792] EXT4-fs (dm-3): I/O error while writing superblock
[ 3046.799795] EXT4-fs error (device dm-3): mpage_map_and_submit_extent:2510:
inode #4982493: comm kworker/u16:8: mark_inode_dirty error
[ 3046.800013] Buffer I/O error on dev dm-3, logical block 21528576, lost sync
page write
[ 3046.800020] JBD2: Error -5 detected when updating journal superblock for
dm-3-8.
[ 3046.800035] Buffer I/O error on dev dm-3, logical block 0, lost sync page
write
[ 3046.800044] EXT4-fs (dm-3): previous I/O error to superblock detected
[ 3046.800067] Buffer I/O error on dev dm-3, logical block 0, lost sync page
write
[ 3046.800073] EXT4-fs (dm-3): I/O error while writing superblock
[ 3046.800074] EXT4-fs error (device dm-3): ext4_journal_check_start:83:
Detected aborted journal
[ 3046.800075] EXT4-fs (dm-3): Remounting filesystem read-only
[ 3046.800077] EXT4-fs error (device dm-3): mpage_map_and_submit_extent:2512:
comm kworker/u16:8: Failed to mark inode 4982493 dirty
[ 3046.800673] Buffer I/O error on dev dm-3, logical block 0, lost sync page
write
[ 3046.800680] EXT4-fs (dm-3): I/O error while writing superblock
[ 3046.800682] EXT4-fs error (device dm-3): ext4_journal_check_start:83:
Detected aborted journal
[ 3046.800684] EXT4-fs (dm-3): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 4347963, error -30)
[ 3046.800696] EXT4-fs (dm-3): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 4347964, error -30)
[ 3046.800700] EXT4-fs (dm-3): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 4347965, error -30)
[ 3046.800703] EXT4-fs (dm-3): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 4347966, error -30)
[ 3046.800706] EXT4-fs (dm-3): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 4982453, error -30)
[ 3046.940017] usb 3-4: new high-speed USB device number 3 using xhci_hcd
[ 3047.063371] usb 3-4: device descriptor read/64, error -71
[ 3047.293358] usb 3-4: device descriptor read/64, error -71
[ 3047.523349] usb 3-4: new high-speed USB device number 4 using xhci_hcd
[ 3047.646691] usb 3-4: device descriptor read/64, error -71
[ 3047.876690] usb 3-4: device descriptor read/64, error -71
[ 3047.983398] usb usb3-port4: attempt power cycle
[ 3048.386685] usb 3-4: new high-speed USB device number 5 using xhci_hcd
[ 3048.386789] usb 3-4: Device not responding to setup address.
[ 3048.593447] usb 3-4: Device not responding to setup address.
[ 3048.800015] usb 3-4: device not accepting address 5, error -71
[ 3048.923349] usb 3-4: new high-speed USB device number 6 using xhci_hcd
[ 3048.923451] usb 3-4: Device not responding to setup address.
[ 3049.130113] usb 3-4: Device not responding to setup address.
[ 3049.336680] usb 3-4: device not accepting address 6, error -71
[ 3049.336739] usb usb3-port4: unable to enumerate USB device

Прошивка не помогла, как и установка DISK_IPS_THRES отвечающего за отключение питания шины PCI по таймауту во имя энергосбережения (некоторым помогало с отвалами). Передача в параметре ядра quirks для отключения UAS не помогает.

В текущий момент проверяю короткий кабель, есть подозрение на длинный 1.8м, который китайский и бюджетный за ~5$, хотя производитель указал на упаковке по экрану на каждую дифференциальную пару включая общий экран.

Есть идеи? Кто-то вообще с такими адаптерами работал? Может они вообще не предназначены, чтобы с них грузились?

Игрался с переходником usb 3 <-> sata, он стабильно работал на родном коротком кабеле usb A-C или, если родной кабель втыкать в USB 3 AM-AF удлинитель. Купил разные удлинители A-C, нормально заработал только на коротком, если втыкать прямо в комп. В ноут втыкать не пробовал. ИМХО, китайцы не докладывают меди в жилы питания удлинителей.

mky ★★★★★ ()
Ответ на: комментарий от mky

Согласен. Потестировал короткий кабель, на нём всё стабильно. Очень разочарован, если честно, не ожидал такой гадости от кабелей/переходников. Я конечно один раз потратился бы на хороший кабель, чтобы каждый день не лазить под стол, но похоже они как редкие артефакты.

wheelman ()
Ответ на: комментарий от wheelman

Хороший USB3 шнурок очень редкий зверь и меньше 15-20 баксов никогда не стоит

pekmop1024 ★★★★★ ()
Ответ на: комментарий от wheelman

В современных системниках USB 3.1 выведен на переднюю панель. Внутри толстый кабель втыкается в разъём материнки и обеспечивает гарантированно нормальное питание внешних подсоединяемых устройств.

iZEN ★★★★★ ()
Ответ на: комментарий от wheelman

Такой современный мир. И не только в кабеле дело. Я сталкивался с устройством USB 2.0, которое переставало адекватно работать при 4.9 В на нём, а это вполне обычное напряжение на выходе компьютерного БП. Такое ощущение, что разработчики переходников свято верят, что с USB должно приходить 5.00 Вольт. У меня уже есть желание взять USB удлинитель и вблизи розетки присобачить DC-DC stepup до 5.1 Вольта...

mky ★★★★★ ()
Ответ на: комментарий от iZEN

Тока не хватает по USB вот и отваливается.

У такого переходника потребление от силы 500-800мА, которое даже USB2.0 с любым кабелем покроет. Не думаю, что в этом дело.

wheelman ()
Ответ на: комментарий от mky

Я сталкивался с устройством USB 2.0, которое переставало адекватно работать при 4.9 В на нём, а это вполне обычное напряжение на выходе компьютерного БП.

Возможно. Но у моего переходника на входе стоит понижающий DC-DC, поэтому ему должно быть все равно, 5в на входе или 4.2в.

Другое дело импульсные помехи, которые могут просачиваться на питающую линию в 3.3В или помехи от Wi-Fi в связи с интерференцией. Вот ссылка, если кому интересно почитать, но судя по документу, это USB3.0 должны влиять на 2.4GHz устройства, а не наоборот, но всякое может быть…

wheelman ()
Ответ на: комментарий от wheelman

Можно купить внешний USB 3.0 хаб с отдельным питанием.

iZEN ★★★★★ ()
Ответ на: комментарий от wheelman

Ищи кабель с сертификатом. Для usb 3 это superspeed usb, емнип. Смотри тут: https://www.usb.org/compliance внизу страницы есть образцы логотипов, которые должны быть на упаковке. Сертификация дело серьезное, потому китайцы на какой попало левак эти лого не лепят, т.к. реально на деньги влететь.

Khnazile ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.