LINUX.ORG.RU

Buffer I/O error on dev sr0

 


0

3

Привет. После загрузки ОС в лог сыпется ошибка

Buffer I/O error on dev sr0
и systemd-udevd нагружает процессор. Привода для дисков - нет. Есть подозрения, что это связано с 4G модемом YOTA, но он определяется и работает нормально (Vimtron Electronics) и ошибка это появляется через раз. В чём может быть дело?
uname -a
Linux Descartes 5.2.3-arch1-1-ARCH #1 SMP PREEMPT Fri Jul 26 08:13:47 UTC 2019 x86_64 GNU/Linux
lsusb
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 1376:4e61 Vimtron Electronics Co., Ltd. 
Bus 004 Device 002: ID 048d:1336 Integrated Technology Express, Inc. SD/MMC Cardreader
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 006: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 4 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 0 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 4 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 0 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 4 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 0 flags 0
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 0 flags 80700
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 2525, async page read
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 10100 flags 0
авг 05 16:21:53 Descartes kernel: Buffer I/O error on dev sr0, logical block 2524, async page read
авг 05 16:21:53 Descartes kernel: buffer_io_error: 29250 callbacks suppressed
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 10096 flags 0
авг 05 16:21:53 Descartes kernel: print_req_error: I/O error, dev sr0, sector 10096 flags 80700
авг 05 16:21:53 Descartes kernel: print_req_error: 29558 callbacks suppressed
авг 05 16:21:48 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:48 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
авг 05 16:21:48 Descartes kernel: Buffer I/O error on dev sr0, logical block 1, async page read
авг 05 16:21:48 Descartes kernel: print_req_error: I/O error, dev sr0, sector 4 flags 0
авг 05 16:21:48 Descartes kernel: Buffer I/O error on dev sr0, logical block 0, async page read
И ещё вот это выдаёт
авг 05 16:27:08 Descartes kernel: rndis_host 4-1:1.0 eth0: unregister 'rndis_host' usb-0000:04:00.0-1, RNDIS device
авг 05 16:27:21 Descartes kernel: usb 6-3: new high-speed USB device number 3 using ehci-pci
авг 05 16:27:21 Descartes kernel: usb 6-3: New USB device found, idVendor=1286, idProduct=812a, bcdDevice= 0.00
авг 05 16:27:21 Descartes kernel: usb 6-3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
авг 05 16:27:21 Descartes kernel: usb 6-3: Product: Yota Modem
авг 05 16:27:21 Descartes kernel: usb 6-3: Manufacturer: YOTA
авг 05 16:27:25 Descartes kernel: usb 6-3: USB disconnect, device number 3
авг 05 16:27:39 Descartes kernel: usb 6-3: new high-speed USB device number 4 using ehci-pci
авг 05 16:27:40 Descartes kernel: usb 6-3: unable to read config index 0 descriptor/start: -71
авг 05 16:27:40 Descartes kernel: usb 6-3: can`t read configurations, error -71
авг 05 16:27:40 Descartes kernel: usb 6-3: new high-speed USB device number 5 using ehci-pci
авг 05 16:27:40 Descartes kernel: usb 6-3: New USB device found, idVendor=1376, idProduct=4e61, bcdDevice= 1.00
авг 05 16:27:40 Descartes kernel: usb 6-3: New USB device strings: Mfr=1, Product=2, SerialNumber=4
авг 05 16:27:40 Descartes kernel: usb 6-3: Product: Mobile Composite Device Bus
авг 05 16:27:40 Descartes kernel: usb 6-3: Manufacturer: Marvell
авг 05 16:27:40 Descartes kernel: usb 6-3: SerialNumber: Mobile Composite Device Bus
авг 05 16:27:45 Descartes kernel: rndis_host 6-3:1.0 eth0: register 'rndis_host' at usb-0000:00:13.2-3, RNDIS device, ac:50:43:ef:e8:df
авг 05 16:27:45 Descartes systemd-udevd[470]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.

Ответ на: комментарий от anymouze

Модем МТС 320s, не помню как хуавейевский оригинал называется. Я его в режим только модем перевёл. lsusb видит его как 12d1:1506 Huawei Technologies Co., Ltd.. Но при этом он не работает. Даже в винде перестал работать через фирменную утилиту для подключения. У меня в ящике стола другой модем валялся. Я туда симку переставил и больше не экспериментировал.

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

Модем МТС 320s, не помню как хуавейевский оригинал называется. Я его в режим только модем перевёл. lsusb видит его как 12d1:1506 Huawei Technologies Co., Ltd..

Возможно в dmesg пишет модель «Huawei ...» Какой командой режим переключали?

Появляются два устройства /dev/ttyUSB0 и /dev/ttyUSB1.

Я обычно видел 1 или 3 порта (впрочем это ни о чём не говорит)

Интернеты опознают модель как «Huawei E3121» и предлагают команды для изменения режима работы модема

AT^SETPORT="A1,A2,1,2,3,7,A1,A2" (Установить конфигурацию по умолчанию)
AT^SETPORT="A1,A2,1,2,3,7" (девайс в режиме "модем + сетевая карта")
AT^SETPORT="A1,A2;1,2,3,A2" (девайс в режиме "модем + Card Reader")
AT^SETPORT="A1,A2;1,2,3" (девайс в режиме "только модем")
AT^SETPORT="A1,2,7" (девайс в режиме "сетевая карта + CD-ROM")
AT^SETPORT="A1,A2,2,7" (девайс в режиме "сетевая карта") - для Windows 7
AT^SETPORT="A1;1,2" (девайс в режиме "модем + пользовательский интерфейс")
AT^SETPORT? (Текущая конфигурация модема)
AT^GETPORTMODE (Отображение текущего активного режима)
AT^SETPORT="A1,A2,1,2,3,7,A1,A2,4,5,6,A,B,D,E" (Сброс настроек по умолчанию)

Я бы «по-быстрому и на коленке» сделал так.

  • подключил модем (вероятно, симкарта всё же необходима — подойдёт любая допустимая <модем же залочен?>, не обязательно действующая)
  • после появления в системе устройств /dev/ttyUSB* отключил в NetworkManager «Мобильные сети» (или ModemManager) в разных GUI может по-разному называться. Да перед этим в терминале посмотреть lsof /dev/ttyUSB0 — если напишет, что порт занят ModemManager, то скорее всего мы выбрали нужный порт. Если нет, то смотреть и другие /dev/ttyUSB* придётся
  • Далее потребуется 2 терминала или 2 вкладки в терминале (от root!)
  • в одном выполняем от рута cat /dev/ttyUSB0 — сюда модем будет отвечать на наши запросы
  • в другом терминале от root мы будем отправлять команды модему. Команды выполняются «вручную» с последующим просмотром ответов
    # "Здороваемся" с модемом. Если отвечает что-либо отличное от "OK", нужно разбираться что не так.
    echo -e "AT\r">>/dev/ttyUSB0
    # Запрос модему представиться -- отвечает модель, версия прошивки и т.д.
    echo -e "ATI\r">>/dev/ttyUSB0
    # Запрос текущего активного режима
    echo -e "AT^GETPORTMODE\r">>/dev/ttyUSB0
    # Запрос текущей конфигурации модема  -- возможно станет понятно, почему он у вас не работает
    AT^SETPORT?
    После ответов (их неплохо бы сохранить) можно выполнить одну из команд переключения режима модема (или другие действия)
anymouze ★★ ()
Ответ на: комментарий от Deleted
udevadm monitor
UDEV  [1910.944102] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1910.944197] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1910.993386] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1911.012933] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
UDEV  [1911.032238] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1911.032937] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1911.079565] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1911.099317] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
UDEV  [1911.117965] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
KERNEL[1911.118274] change   /devices/pci0000:00/0000:00:13.2/usb4/4-3/4-3:1.6/host7/target7:0:0/7:0:0:0/block/sr0 (block)
Depher ()
Ответ на: комментарий от anymouze

После

eject /dev/sr0
сыпать сообщения в лог перестал, но systemd-udevd не успокоился и продолжил нагружать процессор, только после того как переткнул модем, его отпустило. Да, подключаю непосредственно в порт, usb 2.0 или 3.0 разницы нет.

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

В общем заметил странное поведение udev. Если модем уже вставлен при запуске,то udev определяет его как cdrom и начинает спамить. Если вставить модем после загрузки ОС, то он определяет его корректно.

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

Если модем уже вставлен при запуске,то udev определяет его как cdrom и начинает спамить. Если вставить модем после загрузки ОС, то он определяет его корректно.

Так это известная проблема особенность USB-модемов — иногда даже ноутбуки* не загружаются** с «забытым USB-модемом»

=====
* сам когда-то голову ломал, что же случилось — оказалось причина: юсбишный модем
** вообще-то, для такого «эффекта» требуется совпадение нескольких факторов (если я правильно помню)

anymouze ★★ ()