Плохие ошибки DMA/do_IRQ на приостанавливают/возобновляют со случайным замораживанием

Каждый раз я приостанавливаю или возобновляю свой ноутбук (Dell Latitude E6520, купленный в этом году), я получаю 2 сообщения формы, отображенной на консоли прежде, чем закрыться вниз/запуск:

[  407.107610] ehci_hcd 0000:00:1d.0: dma_pool_free buffer-128, f6f18000/36f18000 (bad dma)

При случае я получаю сообщение формы:

[ 3753.979066] do_IRQ: 0.177 No irq handler for vector (irq -1)

При случае моя машина замораживается с высвечивающейся кнопкой Caps Lock при приостановке, после которого я должен сделать трудное завершение работы. Этого никогда не происходило, прежде чем сообщения начали появляться (некоторое время назад), и я думаю, что этого никогда не происходит без появления сообщения do_IRQ (хотя я не уверен в этом). [Нет ничего в руководстве владельца по высвечивающейся кнопке Caps Lock; по-видимому, это может быть паника ядра, если блокировка прокрутки также высвечивается, но ноутбук не имеет света блокировки прокрутки, и нет никакого сообщения на консоли, говоря панику ядра.]

Это плохо DMA / серьезные сообщения IRQ, и что я могу сделать для исследования/диагностирования их и замораживания?

Править: Я также теперь получил следующие сообщения об ошибках несколько раз:

[246943.023908] JBD: I/O error detected when updating journal superblock for sdb1.
[246943.023958] Buffer I/O error on device sdb1, logical block 0
[246943.023996] EXT3-fs (sdb1): I/O error while writing superblock

Править: Вывод dmesg по http://pastebin.com/ra7MTQEj; содержание /var/log/kern.log по http://pastebin.com/i6jf0Md9

Править: вывод некоторого smartctl (-a,-x, - log=error, - log=xerror) инструкции доступен по http://paste.ubuntu.com/1088488/.

Редактирование (31/8/2012): Вывод dmesg|grep -i ehci доступный по http://paste.ubuntu.com/1177246/.

Править: (3/9/2012): Вывод lshw по http://paste.ubuntu.com/1183032

5
задан 3 September 2012 в 22:40

3 ответа

1. "Плохой DMA"

Давайте иметь дело с "плохим dma" ошибки сначала, так как они - единственные последовательные, которые отражаются в Ваших журналах.

  • Они, а также любая приостановка/возобновление задач, вызываются Вашим внутренним 3G модемом USB, который от MAC-адреса является Ericsson F3507g.
    • Да, Вы читаете то право. Не каждое USB-устройство должно быть внешним или включило один из видимых USB-портов. Современные ноутбуки выполнят целый набор внутренних периферийных устройств, таких как карты Беспроводной связи/3G, Bluetooth, веб-камеры, и т.д. от внутреннего USB "концентратор".

Заметьте эту контрольную последовательность, которая повторяется каждый раз, когда "плохие dma" ошибки происходят:

[171783.085166] usb 2-1.6: USB disconnect, device number 10
[171783.086623] ehci_hcd 0000:00:1d.0: dma_pool_free buffer-128, eafaa000/2afaa000 (bad dma)
[171783.087046] cdc_ncm 2-1.6:1.6: usb0: unregister 'cdc_ncm' usb-0000:00:1d.0-1.6, CDC NCM
[171783.092382] done.
[171783.129959] ehci_hcd 0000:00:1d.0: dma_pool_free buffer-128, eb1aa000/2b1aa000 (bad dma)
  • cdc_ncm модуль вовлечен; это - интерфейс USB низкого уровня к высокоскоростным сотовым модемам
  • Эта ошибка указывает, что карты F3507g WWAN имели подобные проблемы с Ubuntu/Linux прежде, и обновление ядра зафиксировало ее.
    • Ошибка должна только влиять, приостанавливают/возобновляют/замораживают и не должен влиять на нормальное функционирование карты 3G.
    • Но я рекомендовал бы попробовать одно из ядер магистрали (или ядра Quantal 3.5), чтобы видеть, имеет ли это какое-либо значение.
    • Другая экстремальная альтернатива, конечно, должна или отключить Вашу карту 3G в BIOS, или если Вы активно используете его, рассматриваете замену его с другим видом/моделью.

2. "do_IRQ" и "sdb1"

Более трудно отладить эти изолированные предупреждения без контекста (который может быть ключом, как показано выше). Таким образом, мы должны будем просто приблизительно оценить, пока Вы не можете обеспечить a kern.log содержа один или обе из этих ошибок.

  • "do_IRQ", кажется, чаще всего происходит от проблем шины PCI Express, включая видеокарты, и ЧЕРЕЗ чипсеты часто вовлекаются.
    • Это сообщение может иначе быть безопасно проигнорировано.
  • Учитывая, что Ваши УМНЫЕ журналы смотрят хорошо, "sdb1" ошибки, вероятно, прибывают еще из большего количества проблем связи USB с внешним диском.

    • Если бы Вы находите больше ошибок USB вокруг них, я записал бы его мелом к случайной несовместимости USB и не беспокойству; но если они происходят только собой, это может указать на проблему с диском. Более полный журнал помог бы :)
  • Снова, я рекомендовал бы пробовать одно из ядер Quantal 3.5 и наблюдений, если вещи изменяются, специально для "do_IRQ".

3. Попытка Ядра Quantal с 3.5 рядами (или сборка магистрали)

  • После того как Ubuntu 12.10 выпущена, ее ядро будет сделано доступным для 12,04 как "бэкпорт" (то же идет для 13,04 и 13.10).
  • Прямо сейчас можно получить "бета" ядра от команды Ubuntu-X PPA
  • НО этот PPA также содержит много дополнительных пакетов, которые у Вас нет потребности обновить.
  • Таким образом, я сделал просто бэкпортированное ядро доступным в другом PPA
  • Устанавливать:

    sudo apt-add-repository ppa:auanswers/lts-backported-kernels-prerelease
    sudo apt-get update
    sudo apt-get inst all linux-generic-lts-quantal
    
  • Перезагрузка, и необходимо загрузиться в новое ядро (свериться uname -a). Графика Nvidia/AMD и беспроводные карты Broadcom могут быть проблематичными. Можно всегда выбирать старое ядро с 3.2 рядами путем удержания Сдвига в нажатом состоянии при начальной загрузке до шоу меню Grub и затем входа "в Предыдущие Версии Linux"

  • Еще для большего количества новейших ядер можно попробовать одну из сборок магистрали. Посмотрите этот вопрос и ответ для получения дополнительной информации:

Я должен обновить до ядер "магистрали"?

4
ответ дан 3 September 2012 в 22:40

Ошибки, добавленные вами при редактировании, относятся к поврежденному сектору диска.

Вы пытались запустить fsck или badblocks?

Я предлагаю вам выполнить все из среды Live CD следующим образом

  1. Загрузите живой Ubuntu CD (или любой другой). другой дистрибутив)
  2. Сканирование дисков и разделов с помощью fdisk

    sudo fdisk -l
    
  3. Как только вы определили правильную метку диска (например, /dev/sda1), попробуйте запустить эти две команды. Параметр -c команды fsck пытается идентифицировать и изолировать поврежденные блоки

    sudo e2fsck -cv /dev/sda1
    sudo badblocks -sv /dev/sda
    
0
ответ дан 3 September 2012 в 22:40

В случае проблемы «no irq for vector» попробуйте добавить «pci = nomsi» в параметры загрузки ядра.

0
ответ дан 3 September 2012 в 22:40

Другие вопросы по тегам:

Похожие вопросы: