Тестирование прерываний irq ошибка что это

На чтение 5 мин Просмотров 3.9к. Опубликовано 14.09.2019
Обновлено 14.09.2019

Содержание

  1. Устройства отправляют IRQ процессору для запроса доступа
  2. Ошибки IRQ
  3. Просмотр и редактирование настроек IRQ
  4. Общие IRQ каналы

Устройства отправляют IRQ процессору для запроса доступа

IRQ, сокращение от Interrupt Request, используется на компьютере для отправки именно этого – запрос на interrupt ЦП другим аппаратным обеспечением.

Запрос на прерывание необходим для таких вещей, как нажатия клавиш, движения мыши, действия принтера и многое другое. Когда устройство делает запрос на мгновенную остановку процессора, компьютер может дать устройству некоторое время для запуска своей собственной операции.

Например, каждый раз, когда вы нажимаете клавишу на клавиатуре, обработчик прерываний сообщает процессору, что ему нужно остановить то, что он в данный момент делает, чтобы он мог обрабатывать нажатия клавиш.

Каждое устройство передает запрос по уникальной линии данных, называемой каналом. Большую часть времени вы видите IRQ со ссылкой, он находится рядом с этим номером канала, который также называется IRQ number . Например, IRQ 4 может использоваться для одного устройства, а IRQ 7 – для другого.

Примечание. IRQ произносится как буквы I-R-Q, а не как erk .

Ошибки IRQ

Ошибки, связанные с запросом прерывания, обычно видны только при установке нового оборудования или изменении настроек в существующем оборудовании. Вот некоторые ошибки IRQ, которые вы можете увидеть:

  IRQL_NOT_DISPATCH_LEVEL  
  IRQL_NOT_GREATER_OR_EQUAL  
  STOP: 0x00000008  
  STOP: 0x00000009  

Примечание. См. Как исправить ошибки STOP 0x00000008 или Как исправить ошибки STOP 0x00000009, если у вас возникла одна из этих ошибок остановки.

Хотя один и тот же канал IRQ может использоваться более чем для одного устройства (при условии, что оба фактически не используются одновременно), обычно это не так. Конфликт IRQ, скорее всего, возникает, когда два устройства пытаются использовать один и тот же канал для запроса прерывания.

Так как программируемый контроллер прерываний (PIC) не поддерживает это, компьютер может зависнуть или устройства перестанут работать должным образом (или перестанут работать полностью).

Еще в первые дни Windows ошибки IRQ были обычным явлением, и для их устранения потребовалось немало проблем. Это было связано с тем, что чаще было устанавливать каналы IRQ вручную, как с DIP-переключателями, что повышало вероятность того, что более одного устройства использовали одну линию IRQ.

Однако IRQ обрабатываются намного лучше в новых версиях Windows, в которых используется технология «включай и работай», поэтому вы редко увидите конфликт IRQ или другую проблему IRQ.

Просмотр и редактирование настроек IRQ

Самый простой способ просмотра информации IRQ в Windows – с помощью диспетчера устройств. Измените параметр меню Просмотр на Ресурсы по типу , чтобы увидеть раздел Запрос прерывания (IRQ) .

Вы также можете использовать Системную информацию. Выполните команду msinfo32.exe в диалоговом окне «Выполнить» ( Ключ Windows + R ), а затем перейдите к Ресурсы аппаратного обеспечения> IRQ .

Пользователи Linux могут запустить команду cat/proc/interrupts , чтобы просмотреть сопоставления IRQ.

Возможно, вам придется изменить линию IRQ для конкретного устройства, если оно использует тот же IRQ, что и другое, хотя обычно это не требуется, поскольку системные ресурсы автоматически выделяются для новых устройств. Это только старые устройства промышленной стандартной архитектуры (ISA), которые могут нуждаться в ручной настройке IRQ.

Вы можете изменить настройки IRQ в BIOS или в Windows через диспетчер устройств. Вот как можно изменить настройки IRQ с помощью диспетчера устройств:

Важно: . Помните, что внесение неверных изменений в эти настройки может вызвать проблемы, которых у вас не было раньше. Убедитесь, что вы знаете, что делаете, и записали все существующие настройки и значения, чтобы вы знали, к чему следует вернуться, если что-то пойдет не так.

  1. Откройте диспетчер устройств.
  2. Дважды щелкните или дважды нажмите устройство, чтобы открыть его окно Свойства .
  3. На вкладке Ресурсы отмените выбор параметра Использовать автоматические настройки .
  4. Используйте раскрывающееся меню «Настройки на основе:» для выбора конфигурации оборудования, которое необходимо изменить.
  5. В Настройки ресурса> Тип ресурса выберите Запрос прерывания (IRQ) .
  6. Используйте кнопку Изменить настройки … , чтобы изменить значение IRQ.

Примечание. Если вкладка «Ресурсы» отсутствует или «Использовать автоматические настройки» неактивны или неактивны, это означает, что либо вы не можете указать ресурс для этого устройства, так как он подключен и работает или что у устройства нет других настроек, которые могут быть применены к нему.

Общие IRQ каналы

Вот для чего используются некоторые из наиболее распространенных каналов IRQ:

IRQ Line Описание
IRQ 0 Системный таймер
IRQ 1 Контроллер клавиатуры
IRQ 2 Получает сигналы от IRQ 8-15
IRQ 3 Контроллер последовательного порта для порта 2
IRQ 4 Контроллер последовательного порта для порта 1
IRQ 5 Параллельный порт 2 и 3 (или звуковая карта)
IRQ 6 Контроллер дискеты
IRQ 7 Параллельный порт 1 (часто принтеры)
IRQ 8 CMOS/часы реального времени
IRQ 9 Прерывание ACPI
IRQ 10 Периферийные устройства
IRQ 11 Периферийные устройства
IRQ 12 Подключение мыши PS/2
IRQ 13 Числовой процессор данных
IRQ 14 Канал ATA (основной)
IRQ 15 Канал ATA (вторичный)

Примечание. Поскольку IRQ 2 имеет предназначенную цель, любое устройство, настроенное для его использования, будет использовать IRQ 9.

На чтение 5 мин. Просмотров 3.4k. Опубликовано 14.09.2019

Содержание

  1. Устройства отправляют IRQ процессору для запроса доступа
  2. Ошибки IRQ
  3. Просмотр и редактирование настроек IRQ
  4. Общие IRQ каналы

IRQ, сокращение от Interrupt Request, используется на компьютере для отправки именно этого – запрос на interrupt ЦП другим аппаратным обеспечением.

Запрос на прерывание необходим для таких вещей, как нажатия клавиш, движения мыши, действия принтера и многое другое. Когда устройство делает запрос на мгновенную остановку процессора, компьютер может дать устройству некоторое время для запуска своей собственной операции.

Например, каждый раз, когда вы нажимаете клавишу на клавиатуре, обработчик прерываний сообщает процессору, что ему нужно остановить то, что он в данный момент делает, чтобы он мог обрабатывать нажатия клавиш.

Каждое устройство передает запрос по уникальной линии данных, называемой каналом. Большую часть времени вы видите IRQ со ссылкой, он находится рядом с этим номером канала, который также называется IRQ number . Например, IRQ 4 может использоваться для одного устройства, а IRQ 7 – для другого.

Примечание. IRQ произносится как буквы I-R-Q, а не как erk .

Ошибки IRQ

Ошибки, связанные с запросом прерывания, обычно видны только при установке нового оборудования или изменении настроек в существующем оборудовании. Вот некоторые ошибки IRQ, которые вы можете увидеть:

  IRQL_NOT_DISPATCH_LEVEL  
  IRQL_NOT_GREATER_OR_EQUAL  
  STOP: 0x00000008  
  STOP: 0x00000009  

Примечание. См. Как исправить ошибки STOP 0x00000008 или Как исправить ошибки STOP 0x00000009, если у вас возникла одна из этих ошибок остановки.

Хотя один и тот же канал IRQ может использоваться более чем для одного устройства (при условии, что оба фактически не используются одновременно), обычно это не так. Конфликт IRQ, скорее всего, возникает, когда два устройства пытаются использовать один и тот же канал для запроса прерывания.

Так как программируемый контроллер прерываний (PIC) не поддерживает это, компьютер может зависнуть или устройства перестанут работать должным образом (или перестанут работать полностью).

Еще в первые дни Windows ошибки IRQ были обычным явлением, и для их устранения потребовалось немало проблем. Это было связано с тем, что чаще было устанавливать каналы IRQ вручную, как с DIP-переключателями, что повышало вероятность того, что более одного устройства использовали одну линию IRQ.

Однако IRQ обрабатываются намного лучше в новых версиях Windows, в которых используется технология «включай и работай», поэтому вы редко увидите конфликт IRQ или другую проблему IRQ.

Просмотр и редактирование настроек IRQ

Самый простой способ просмотра информации IRQ в Windows – с помощью диспетчера устройств. Измените параметр меню Просмотр на Ресурсы по типу , чтобы увидеть раздел Запрос прерывания (IRQ) .

Вы также можете использовать Системную информацию. Выполните команду msinfo32.exe в диалоговом окне «Выполнить» ( Ключ Windows + R ), а затем перейдите к Ресурсы аппаратного обеспечения> IRQ .

Пользователи Linux могут запустить команду cat/proc/interrupts , чтобы просмотреть сопоставления IRQ.

Возможно, вам придется изменить линию IRQ для конкретного устройства, если оно использует тот же IRQ, что и другое, хотя обычно это не требуется, поскольку системные ресурсы автоматически выделяются для новых устройств. Это только старые устройства промышленной стандартной архитектуры (ISA), которые могут нуждаться в ручной настройке IRQ.

Вы можете изменить настройки IRQ в BIOS или в Windows через диспетчер устройств. Вот как можно изменить настройки IRQ с помощью диспетчера устройств:

Важно: . Помните, что внесение неверных изменений в эти настройки может вызвать проблемы, которых у вас не было раньше. Убедитесь, что вы знаете, что делаете, и записали все существующие настройки и значения, чтобы вы знали, к чему следует вернуться, если что-то пойдет не так.

  1. Откройте диспетчер устройств.
  2. Дважды щелкните или дважды нажмите устройство, чтобы открыть его окно Свойства .
  3. На вкладке Ресурсы отмените выбор параметра Использовать автоматические настройки .
  4. Используйте раскрывающееся меню «Настройки на основе:» для выбора конфигурации оборудования, которое необходимо изменить.
  5. В Настройки ресурса> Тип ресурса выберите Запрос прерывания (IRQ) .
  6. Используйте кнопку Изменить настройки … , чтобы изменить значение IRQ.

Примечание. Если вкладка «Ресурсы» отсутствует или «Использовать автоматические настройки» неактивны или неактивны, это означает, что либо вы не можете указать ресурс для этого устройства, так как он подключен и работает или что у устройства нет других настроек, которые могут быть применены к нему.

Общие IRQ каналы

Вот для чего используются некоторые из наиболее распространенных каналов IRQ:

IRQ Line Описание
IRQ 0 Системный таймер
IRQ 1 Контроллер клавиатуры
IRQ 2 Получает сигналы от IRQ 8-15
IRQ 3 Контроллер последовательного порта для порта 2
IRQ 4 Контроллер последовательного порта для порта 1
IRQ 5 Параллельный порт 2 и 3 (или звуковая карта)
IRQ 6 Контроллер дискеты
IRQ 7 Параллельный порт 1 (часто принтеры)
IRQ 8 CMOS/часы реального времени
IRQ 9 Прерывание ACPI
IRQ 10 Периферийные устройства
IRQ 11 Периферийные устройства
IRQ 12 Подключение мыши PS/2
IRQ 13 Числовой процессор данных
IRQ 14 Канал ATA (основной)
IRQ 15 Канал ATA (вторичный)

Примечание. Поскольку IRQ 2 имеет предназначенную цель, любое устройство, настроенное для его использования, будет использовать IRQ 9.

An IRQ, short for Interrupt Request, is used in a computer to send exactly that—a request to interrupt the CPU by some other piece of hardware.

Purpose of IRQ

An Interrupt Request is necessary for things like keyboard presses, mouse movements, printer actions, and more. When the request is made by a device to momentarily stop the processor, the computer is then able to give the device some time to run its own operation.

For example, each time you press a key on the keyboard, an interrupt handler tells the processor that it needs to stop what it’s currently doing so that it can handle the keystrokes.

Each device communicates the request over a unique data line called a channel. Most of the time you see IRQ referenced, it’s alongside this channel number, also called an IRQ number. For example, IRQ 4 might be used for one device and IRQ 7 for another.

IRQ is pronounced as the letters I-R-Q, not as erk.

IRQ Errors

Errors related to Interrupt Request are usually only seen when installing new hardware or changing the settings in existing hardware. Here are some IRQ errors you might see:

IRQL_NOT_DISPATCH_LEVEL
IRQL_NOT_GREATER_OR_EQUAL
STOP: 0x00000008
STOP: 0x00000009

While it’s possible for the same IRQ channel to be used for more than one device (so long as both aren’t actually being used at the same time), it’s normally not the case. An IRQ conflict most likely occurs when two pieces of hardware are attempting to use the same channel for an interrupt request. 

Since the Programmable Interrupt Controller (PIC) doesn’t support this, the computer might freeze up or the devices will stop working as expected (or stop working entirely).

Back in the early Windows days, IRQ errors were common, and it took a lot of troubleshooting to fix them. This is because it was more common to set IRQ channels manually, like with DIP switches, which made it more likely that more than one device was using the same IRQ line.

However, IRQs are handled much better in newer versions of Windows that use plug and play, so you’ll rarely see an IRQ conflict or other IRQ issue.

Viewing and Editing IRQ Settings

The easiest way to view IRQ information in Windows is with Device Manager. Change the View menu option to Resources by type to see the Interrupt request (IRQ) section.

You can also use System Information. Execute the msinfo32.exe command from the Run dialog box (WIN+R), and then go to Hardware Resources > IRQs.

System Information IRQ List.

Linux users can run the cat /proc/interrupts command to view IRQ mappings.

You might need to change the IRQ line for a specific device if it’s using the same IRQ as another, though it’s usually unnecessary since system resources are automatically allocated for newer devices. It’s only older Industry Standard Architecture (ISA) devices that might need manual IRQ adjustments.

How to Change IRQ Settings

You can change IRQ settings in the BIOS or within Windows via Device Manager. Here’s how to change IRQ settings with Device Manager:

Remember that making incorrect changes to these settings can cause problems you didn’t have before. Make sure you know what you’re doing and have recorded any existing settings and values so that you know what to revert to should something go wrong.

  1. Open Device Manager and double-click or double-tap a device to open its Properties window. You’ll need to open that device’s category first before you’ll be able to see it, which you can do by double-clicking/tapping.

  2. In the Resources tab, deselect Use automatic settings.

    If you can’t find this tab or the option is greyed out or not enabled, it means that either you cannot specify a resource for that device or that the device has no other settings that can be applied to it.

  3. Use the Settings based on drop down menu to select the hardware configuration that should be changed.

  4. Select IRQ from the Resource settings area of the properties.

  5. Use the Change Setting button to edit the IRQ value.

Common IRQ Channels

Here are what some of the more common IRQ channels are used for:

IRQ Line Description
IRQ 0 System timer
IRQ 1 Keyboard controller
IRQ 2 Receives signals from IRQs 8-15
IRQ 3 Serial port controller for port 2
IRQ 4 Serial port controller for port 1
IRQ 5 Parallel port 2 and 3 (or sound card)
IRQ 6 Floppy disk controller
IRQ 7 Parallel port 1 (often printers)
IRQ 8 CMOS/real-time clock
IRQ 9 ACPI interrupt
IRQ 10 Peripherals
IRQ 11 Peripherals
IRQ 12 PS/2 mouse connection
IRQ 13 Numeric data processor
IRQ 14 ATA channel (primary)
IRQ 15 ATA channel (secondary)

Since IRQ 2 has a designated purpose, any device configured to use it will instead use IRQ 9.

What Are Non-Maskable Interrupts?

There are also non-maskable interrupts (NMIs), which are interrupt requests that can’t be blocked. A non-maskable interrupt occurs when dealing with system resets or hardware errors. The interrupt request is executed immediately.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

An IRQ, short for Interrupt Request, is used in a computer to send exactly that—a request to interrupt the CPU by some other piece of hardware.

Purpose of IRQ

An Interrupt Request is necessary for things like keyboard presses, mouse movements, printer actions, and more. When the request is made by a device to momentarily stop the processor, the computer is then able to give the device some time to run its own operation.

For example, each time you press a key on the keyboard, an interrupt handler tells the processor that it needs to stop what it’s currently doing so that it can handle the keystrokes.

Each device communicates the request over a unique data line called a channel. Most of the time you see IRQ referenced, it’s alongside this channel number, also called an IRQ number. For example, IRQ 4 might be used for one device and IRQ 7 for another.

IRQ is pronounced as the letters I-R-Q, not as erk.

IRQ Errors

Errors related to Interrupt Request are usually only seen when installing new hardware or changing the settings in existing hardware. Here are some IRQ errors you might see:

IRQL_NOT_DISPATCH_LEVEL
IRQL_NOT_GREATER_OR_EQUAL
STOP: 0x00000008
STOP: 0x00000009

While it’s possible for the same IRQ channel to be used for more than one device (so long as both aren’t actually being used at the same time), it’s normally not the case. An IRQ conflict most likely occurs when two pieces of hardware are attempting to use the same channel for an interrupt request. 

Since the Programmable Interrupt Controller (PIC) doesn’t support this, the computer might freeze up or the devices will stop working as expected (or stop working entirely).

Back in the early Windows days, IRQ errors were common, and it took a lot of troubleshooting to fix them. This is because it was more common to set IRQ channels manually, like with DIP switches, which made it more likely that more than one device was using the same IRQ line.

However, IRQs are handled much better in newer versions of Windows that use plug and play, so you’ll rarely see an IRQ conflict or other IRQ issue.

Viewing and Editing IRQ Settings

The easiest way to view IRQ information in Windows is with Device Manager. Change the View menu option to Resources by type to see the Interrupt request (IRQ) section.

You can also use System Information. Execute the msinfo32.exe command from the Run dialog box (WIN+R), and then go to Hardware Resources > IRQs.

System Information IRQ List.

Linux users can run the cat /proc/interrupts command to view IRQ mappings.

You might need to change the IRQ line for a specific device if it’s using the same IRQ as another, though it’s usually unnecessary since system resources are automatically allocated for newer devices. It’s only older Industry Standard Architecture (ISA) devices that might need manual IRQ adjustments.

How to Change IRQ Settings

You can change IRQ settings in the BIOS or within Windows via Device Manager. Here’s how to change IRQ settings with Device Manager:

Remember that making incorrect changes to these settings can cause problems you didn’t have before. Make sure you know what you’re doing and have recorded any existing settings and values so that you know what to revert to should something go wrong.

  1. Open Device Manager and double-click or double-tap a device to open its Properties window. You’ll need to open that device’s category first before you’ll be able to see it, which you can do by double-clicking/tapping.

  2. In the Resources tab, deselect Use automatic settings.

    If you can’t find this tab or the option is greyed out or not enabled, it means that either you cannot specify a resource for that device or that the device has no other settings that can be applied to it.

  3. Use the Settings based on drop down menu to select the hardware configuration that should be changed.

  4. Select IRQ from the Resource settings area of the properties.

  5. Use the Change Setting button to edit the IRQ value.

Common IRQ Channels

Here are what some of the more common IRQ channels are used for:

IRQ Line Description
IRQ 0 System timer
IRQ 1 Keyboard controller
IRQ 2 Receives signals from IRQs 8-15
IRQ 3 Serial port controller for port 2
IRQ 4 Serial port controller for port 1
IRQ 5 Parallel port 2 and 3 (or sound card)
IRQ 6 Floppy disk controller
IRQ 7 Parallel port 1 (often printers)
IRQ 8 CMOS/real-time clock
IRQ 9 ACPI interrupt
IRQ 10 Peripherals
IRQ 11 Peripherals
IRQ 12 PS/2 mouse connection
IRQ 13 Numeric data processor
IRQ 14 ATA channel (primary)
IRQ 15 ATA channel (secondary)

Since IRQ 2 has a designated purpose, any device configured to use it will instead use IRQ 9.

What Are Non-Maskable Interrupts?

There are also non-maskable interrupts (NMIs), which are interrupt requests that can’t be blocked. A non-maskable interrupt occurs when dealing with system resets or hardware errors. The interrupt request is executed immediately.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

Думаю, многие любознательные пользователи, наверняка не раз встречали такое сокращение, как IRQ. Его можно встретить, например, если вы любите заглядывать в программу «Менеджер устройств» в Windows. Если вы выберете любое устройство, к примеру, клавиатуру, выберете при помощи правой кнопки мыши пункт меню «Свойства», и в появившемся окне сделаете активной закладку «Ресурсы», то в списке ресурсов вы увидите надпись IRQ 01.

IRQ прерывания

Для чего нужны IRQ

Что же такое IRQ и для чего оно нужно?

Аббревиатура IRQ расшифровывается как Interrupt ReQuest (запрос на прерывание). Для того, чтобы понять, для чего оно нужно, следует вспомнить подробности организации работы персонального компьютера.

Кровеносной системой компьютера, по которой обмениваются информацией процессор и прочие устройства, является системная шина. Но как вообще процессор способен отличить запросы на обработку информации, поступающие по шине от различных устройств?

Для этого и существует система аппаратных прерываний (IRQ). Каждое прерывание имеет определенный номер (нумерация начинается с 0) и закреплено за определенным устройством. Так, за клавиатурой закреплено прерывание под номером 1, отсюда и обозначение IRQ 01.

При поступлении запроса от устройства компьютер прерывает (отсюда и появился сам термин «прерывание») обработку текущей информации и начинает обработку вновь поступившего. Если прерываний несколько, то они обрабатывается в порядке приоритетов, закрепленных за каждым из них. Как правило, чем меньше номер прерывания, тем больший приоритет для процессора имеет устройство, закрепленное за этим прерыванием, но это правило соблюдается далеко не всегда.

Обслуживает обработку IRQ специальный чип, который носит название контроллера прерываний. Как правило, эта микросхема является частью центрального процессора, а иногда выделяется в отдельный чип на материнской плате. Для обработки каждого прерывания в BIOS существует специальная микропрограмма, называемая обработчиком прерывания. Адреса всех обработчиков хранятся в так называемой таблице векторов прерываний.

Раньше, в первых компьютерах семейства XT была распространена 8-разрядная шина ISA, поэтому всего устройствам было доступно 8 прерываний. С появлением 16-разрядной шины ISA их количество увеличилось до 16.

Настройка  Interrupt ReQuest

Надо сказать, что прерывания, закрепленные за некоторыми устройствами, не является фиксированными и их можно изменить программно. Например, IRQ стандартно использующееся последовательным портом Com 2, может использовать и устанавливаемый в слот расширения модем. В современных компьютерах и операционных системах, поддерживающих стандарт PnP и работающих под управлением ОС Windows, значения IRQ для устройств, подключаемых в слоты шины, подбираются автоматически.

Но не все было так просто в прежние времена, когда пользователь должен был вручную устанавливать значение IRQ во многих программах, работавших под операционной системой DOS. Например, при установке в систему звуковой карты, пользователю требовалось выбрать свободное прерывание из очень небольшого числа доступных (как правило, это было IRQ 5) и указать это значение  в запускаемой программе, например, в какой-нибудь игре.

Во многих BIOS имеется возможность поменять стандартные значения IRQ в программе Setup. Обычно эта опция располагается в разделах IRQ Resources или PCI/PNP Configuration.

Установка для устройства значения IRQ, равного значению IRQ, уже занятого каким-либо устройством в большинстве случаев приводит к неработоспособности одного из этих устройств или сразу обоих, а иногда чревато и зависанием компьютера.

В более современной шине PCI система управления прерываниями была кардинально изменена, а возможности управления прерываниями были расширены. Благодаря технологии IRQ Sharing, а также технологии ACPI стало возможным размещение нескольких устройств на одном канале прерывания, а у внешних устройств, подключаемых в слоты PCI, появилась возможность автоматического распределения ресурсов между собой.

Кроме того, в современных компьютерах обычно используется расширенный программируемый контроллер прерываний (APIC, Advanced Programmable Interrupt Controller), поддерживающий 24 канала Interrupt ReQuest. Расширенный контроллер прерываний выполнен в виде двух микросхем, одна из которых расположена в самом процессоре, а другая на материнской плате. Этот контроллер прерываний впервые появился в системах на основе процессоров Pentium. Однако при этом была оставлена поддержка старой системы прерываний в целях совместимости. Очередным шагом в развитии принципов обработки прерываний является технология Message Signaled Interrupts, поддержка которой появилась в линейке ОС Windows, начиная с Windows Vista.

Не следует путать аппаратные прерывания IRQ c программными прерываниями BIOS, о которых речь пойдет в отдельной статье. Программные прерывания BIOS, как правило, используются для организации работы программного обеспечения с устройствами ввода-вывода и обозначаются при помощи сокращения INT. Многие из них аналогичны по своим функциям аппаратным IRQ, но имеют при этом другие номера.

Список номеров Interrupt ReQuest в стандартной схеме для 16-битной шины ISA:

  1. Системный таймер
  2. Клавиатура
  3. Дополнительный контроллер прерываний (для совместимости с 8-битной шиной)
  4. Порты Com 1 и 3
  5. Порты Com 2 и 4
  6. Свободно (в 8-битной шине — контроллер жесткого диска)
  7. Контроллер гибких дисков (FDD)
  8. Параллельный порт LPT
  9. Часы реального времени CMOS
  10. Совмещено с IRQ 2
  11. Свободно
  12. Свободно
  13. Порт мыши PS/2
  14. Сопроцессор (в настоящее время практически не используется)
  15. Первый контроллер IDE
  16. Второй контроллер IDE

Список дополнительных номеров IRQ, которые использует расширенный контроллер прерываний APIC:

  1. Контроллер USB
  2. Интегрированная звуковая подсистема (AC’97 или HDA)
  3. Контроллер USB
  4. Контроллер USB
  5. Встроенная сетевая карта
  6. Свободно
  7. Свободно
  8. Контроллер USB 2.0

Соответствие номеров IRQ и прерываний BIOS:

Таблица IRQ и INT

Таблица соотношения аппаратных IRQ и программных INT BIOS

Заключение

Итак, в этой статье вы смогли узнать, что означает сокращение IRQ, и что представляют собой аппаратные прерывания. Они являются встроенным механизмом распределения ресурсов компьютера и предназначены для организации доступа устройств к центральному процессору. Правильное распределение и настройка IRQ позволяет избежать конфликтов между устройствами и обеспечить стабильную работу системы.

Запрос на прерывание или более известный как IRQ, что расшифровывается как Interrupt ReQuest, является незаменимым механизмом в каждом ЦП чтобы иметь возможность взаимодействовать с ним на всех уровнях, как для пользователей, так и для остального оборудования.

Прерывания или IRQ

Содержание

  • Что такое запросы прерывания или IRQ?
  • Запросы прерывания или IRQ через программное обеспечение
  • Как ЦП обрабатывает запрос прерывания или IRQ?
  • ФЛАГИ ЦП
  • Виртуальные прерывания

ЦП последовательно выполняет программу, но внезапно мы нажимаем клавишу и видим, как она печатается на экране. За очень короткое время ЦП должен был остановить основную программу и обработать запрос клавиатуры на печать указанной буквы на экране, поэтому основной поток выполнения был прерван. Это явление прерывания ЦП называется запросом прерывания или IRQ.

Визуализация CPU Código

Запросы прерывания или IRQ обычно представляют собой сигналы, отправляемые ЦП внешними устройствами, особенно периферийными устройствами, подключенными к портам ввода-вывода. Как обрабатываются прерывания, зависит от их источника, но с точки зрения оборудования они возникают, когда периферийное устройство или компонент требует внимания ЦП. Возможно, им нужно обмениваться данными с ЦП через общую согласованную область памяти, или они предупреждают, что выполняемая ими задача уже выполнена.

Запросы аппаратного прерывания делятся на два разных типа:

  • Маскируемые прерывания: В случае нескольких запросов прерывания именно они имеют наименьшее предпочтение при разрешении.
  • Немаскированные прерывания: Когда происходит несколько прерываний одновременно, именно они имеют наибольшее предпочтение, когда дело доходит до разрешения.

Запросы прерывания или IRQ через программное обеспечение

программное обеспечение petición interrupción

Программное обеспечение также может генерировать прерывания через процедуру операционной системы, это делается с помощью «системного вызова». На любом компьютере, работающем под управлением усовершенствованной операционной системы, операционная система должна иметь возможность при необходимости вызывать систему прерывания ЦП.

Причина в том, что это необходимо для управления доступом к многозадачным программам, поскольку каждая программа представляет собой отдельный поток, который может выполняться в другом ядре. Теперь посчитайте количество открытых приложений и ядер вашего процессора, и вы увидите, что не всеми из них можно управлять одновременно, поэтому операционная система прерывает поток выполнения программы, чтобы запустить другой.

В случае фоновых приложений они оставляют свое текущее состояние в системе. Оперативная память, но всегда готовы к повторному вызову с помощью системного вызова. Благодаря твердотельным накопителям и унификации адресации между SSD и память, можно будет отправлять приложения в фоновом режиме на SSD и вызывать их как есть.

Как ЦП обрабатывает запрос прерывания или IRQ?

Механизмы прерывания

Чтобы управлять запросом прерывания, ЦП должен остановить цикл команд на своем пути. Каждый раз, когда инструкция завершается, ЦП сам проверяет, есть ли запрос на прерывание. Если он не существует, он выполнит следующую строку программного кода. Если он существует, он будет сохранять состояние программы в специальном регистре. Состояние, являющееся значением следующей инструкции в программном счетчике.

В зависимости от типа инструкции ЦП загружает в счетчик программ специальный адрес памяти, который указывает на ПЗУ с инструкциями, программу в памяти отдельно от процессора, который закодировал, как ЦП должен управлять указанной инструкцией. Немаскированные инструкции имеют приоритет, и как только процесс прерывания был выполнен из регистра, в котором хранится значение программного счетчика, он копируется в него, чтобы продолжить обычное выполнение.

ФЛАГИ ЦП

ФЛАГИ x86

Каждый ЦП имеет серию однобитовых регистров, которые указывают, когда происходят определенные явления. ФЛАГИ ЦП с ISA x86 можно увидеть на хорошо описанном изображении выше. Все они собраны в 32-битном регистре, где каждый бит представляет различное состояние ЦП.

В случае x86 необходимо, чтобы аппаратное устройство, называемое PIC, Programmable Interrupt Controller, к которому подключены различные периферийные устройства, отвечало за выполнение запросов прерывания. Этот посредник изначально был отдельным чипом и был разработан для уменьшения количества интерфейсов к ЦП, но с внедрением контроллера ввода-вывода в современных ЦП он стал частью SoC.

Таким образом, PIC удаленно отвечает за отправку запросов прерывания в CPU, для этого ему нужен только сигнал, который активирует один из битов регистра FLAGS процессора. Но если мы присмотримся, то увидим, что есть три бита, которые управляют прерываниями: флаг разрешения прерывания в бите 9, флаг виртуального прерывания в бите 19 и ожидание виртуального прерывания в бите 20.

Виртуальные прерывания

прерывание IRQ Virtual

Многие современные системы используют виртуальные машины, это означает, что операционная система — это не самое близкое и привилегированное программное обеспечение к процессору, а гипервизор, на котором он работает. Это вызывает конфликт при обработке прерываний на программном уровне. Решение? Дайте гипервизору более высокую иерархию и создайте дополнительные ФЛАГИ. Флаг разрешения прерывания активируется, когда операционная система выполняется без гипервизора и, следовательно, одна. В случае наличия гипервизора приоритет над флагом разрешения прерывания имеет сам гипервизор.

Если операционная система виртуализирована, то будет установлен бит Virtual Enable Flag. Причина такого разделения заключается в том, что разные работающие операционные системы всегда по-разному видят периферийные устройства и, следовательно, необходимость отдельного управления прерываниями. Обычно при активации флага виртуального включения он напоминает процессору, что для обработки прерывания необходимо останавливать потоки выполнения, связанные с виртуальной машиной, а не другие.

Здесь мы разберем такие важные темы, как: обработка прерываний, векторы прерываний, программные прерывания, IRQ, в общем поговорим на темы прерывания.

Идея прерывания была предложена в середине 50-х годов и основная цель введения прерываний – реализация синхронного режима работы и реализация параллельной работы отдельных устройств ЭВМ.

Прерывания и обработка прерываний зависят от типа ЭВМ, поэтому их реализацию относят к машинно-зависимым свойствам операционных систем.

Прерывание (interrupt) – это сигнал, заставляющий ЭВМ менять обычный порядок выполнения команд процессором.

Возникновение подобных сигналов обусловлено такими событиями, как:

  • завершение операций ввода-вывода.
  • истечение заранее заданного интервала времени.
  • попытка деления на нуль.
  • сбой в работе аппаратного устройства и др.

Обработка прерывания

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

Например прерывание с номером 9 — прерывание от клавиатуры, которое генерируется при нажатии и при отжатии клавиши. Используется для чтения данных с клавиатуры. Обозначается в ОС как IRQ1, где IRQ – обозначение прерывания, а 1 – приоритет прерывания. Данные о запросах на прерывание можно проанализировать в диспетчере устройств:

Обработчик прерываний – программа обработки прерывания, являющаяся частью ОС, предназначенная для выполнения ответных действий на условие, вызвавшее прерывание.

Предположим, что в момент поступления сигнала прерывания от некоторого источника программа А находится в решении. В результате управление автоматически передается обработчику прерываний. После завершения обработки управление может быть снова передано в ту точку программы А, где ее выполнение было прервано:

Векторы прерываний

Адреса программ, соответствующих различным прерываниям, собраны в таблицу, которая называется таблицей векторов прерываний.

Для микропроцессора  требуется простой способ определения местоположения программы обработки прерывания и это осуществляется  путем  использования таблицы векторов прерываний.

Таблица векторов прерываний занимает первый килобайт оперативной памяти — адреса от 0000:0000 до 0000:03FF. Таблица состоит из 256 элементов — FAR-адресов обработчиков прерываний. Эти элементы называются векторами прерываний. В первом слове элемента таблицы записано смещение, а во втором — адрес сегмента обработчика прерывания. Векторами являются просто полные адреса памяти программы (в сегментированной форме),  которая должна быть активизирована в случае возникновения прерывания.

Прерыванию с номером 0 соответствует адрес 0000:0000, прерыванию с номером 1 — 0000:0004 и т.д. Адрес такой состоит из пары 2-байтовых слов,  поэтому каждый из векторов занимает четыре байта.

Можно  просмотреть таблицу векторов прерываний в компьютере, если воспользоваться программой DEBUG. Используйте команду  D для вывода содержимого начала памяти:  D 0:0.  Программа DEBUG покажет вам первые 128 байтов или 32 вектора,  которые могут иметь  вид наподобие следующего:

0000:0000 E8 4E 9A 01 00 00 00 00-C3 E2 00 F0 00 00 00 00
0000:0010 F0 01 70 00 54 FF 00 F0-05 18 00 F0 05 18 00 F0
0000:0020 2C 08 51 17 D0 0A 51 17-AD 08 54 08 E8 05 01 2F
0000:0030 FA 05 01 2F 05 18 00 F0-57 EF 00 F0 F0 01 70 00
0000:0040 90 13 C7 13 4D F8 00 F0-41 F8 00 F0 3E 0A 51 17
0000:0050 5C 00 B7 25 59 F8 00 F0-E2 0A 51 17 9C 00 B7 25
0000:0060 00 00 00 F6 8E 00 DE 09-6E FE 00 F0 F2 00 7B 09
0000:0070 27 08 51 17 A4 F0 00 F0-22 05 00 00 00 00 00 F0

Векторы хранятся как «слова наоборот»: сначала смещение, а потом сегмент. Например, первые четыре байта, которые программа DEBUG показала выше (E8 4E 9A 01) можно преобразовать в сегментированный адрес 019A:4EE8.

Можно встретить три вида адресов в  таблице  векторов.  Это  могут быть адреса, указывающие на ROM-BIOS, которые можно идентифицировать шестнадцатеричной цифрой F,  которая предшествует номеру сегмента.  Это могут  быть  адреса,  которые  указывают на главную память (как в примере: 019A:4EE8). Эти адреса могут указывать на подпрограммы ДОС или на резидентную программу (например,  SideKick или Prokey), либо они могут указывать на саму программу DEBUG (поскольку DEBUG должна  временно управлять прерыванием). Также векторы могут состоять из одних нулей, когда прерывание с данным номером не обрабатывается в  текущий  момент.

Инициализация таблицы происходит частично BIOS после тестирования аппаратуры и перед началом загрузки операционной системой, частично при загрузке операционной системы.

Ниже приведено назначение некоторых векторов:

Описание
0 Ошибка деления. Вызывается автоматически после выполнения команд DIV или IDIV, если в результате деления происходит переполнение (например, при делении на 0).
2 Аппаратное немаскируемое прерывание. Это прерывание может использоваться по-разному в разных машинах. Обычно вырабатывается при ошибке четности в оперативной памяти и при запросе прерывания от сопроцессора.
5 Печать копии экрана. Генерируется при нажатии на клавиатуре клавиши PrtScr. Обычно используется для печати образа экрана.
8 IRQ0 — прерывание интервального таймера, возникает 18,2 раза в секунду.
9 IRQ1 — прерывание от клавиатуры. Генерируется при нажатии и при отжатии клавиши. Используется для чтения данных от клавиатуры.
A IRQ2 — используется для каскадирования аппаратных прерываний в машинах класса AT
B IRQ3 — прерывание асинхронного порта COM2.
C IRQ4 — прерывание асинхронного порта COM1.
D IRQ5 — прерывание от контроллера жесткого диска для XT.
E IRQ6 — прерывание генерируется контроллером флоппи-диска после завершения операции.
F IRQ7 — прерывание принтера. Генерируется принтером, когда он готов к выполнению очередной операции. Многие адаптеры принтера не используют это прерывание.
10 Обслуживание видеоадаптера.
11 Определение конфигурации устройств в системе.
12 Определение размера оперативной памяти в системе.
13 Обслуживание дисковой системы.
14 Последовательный ввод/вывод.
19 Загрузка операционной системы.
1A Обслуживание часов.
1B Обработчик прерывания Ctrl-Break.
70 IRQ8 — прерывание от часов реального времени.
71 IRQ9 — прерывание от контроллера EGA.
75 IRQ13 — прерывание от математического сопроцессора.
76 IRQ14 — прерывание от контроллера жесткого диска.
77 IRQ15 — зарезервировано.

IRQ0 — IRQ15 — это аппаратные прерывания.

Механизм обработки прерываний

При обработке каждого прерывания должна выполняться следующая последовательность действий:

  • Восприятие запроса на прерывание:  прием сигнала и идентификация прерывания.
  • Запоминание состояния прерванного процесса: определяется значением счетчика команд (адресом следующей команды) и содержимым регистров процессора.
  • Передача управления прерывающей программе (в счетчик команд заносится  начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры – информация из слова состояния процессора).
  • Обработка прерывания.
  • Восстановление прерванного процесса и возврат в прерванную программу.

Главные функции механизма прерывания:

  1. распознавание или классификация прерываний.
  2. передача управления соответственно обработчику прерываний.
  3. корректное возвращение к прерванной программе (перед передачей управления обработчику прерываний содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке).

Типы прерываний

Прерывания, возникающие при работе вычислительной системы, можно разделить на 4 группы:

Аппаратные прерывания вызываются физическими устройствами и возникают по отношению к программе асинхронно, т.е. в общем случае невозможно предсказать, когда и по какой причине программа будет прервана.

Аппаратные прерывания не координируются  c  работой   программного   обеспечения.   Когда   вызывается прерывание, то процессор оставляет свою работу, выполняет прерывание, a затем возвращается на прежнее место.

Внешние прерывания возникают по сигналу какого-либо внешнего устройства например:

  • Прерывание, которое информирует систему о том, что требуемый сектор диска уже прочитан, его содержимое доступно программе.
  • Прерывание, которое информирует систему о том, что завершилась печать символа на принтере и необходимо выдать следующий символ.
  • Прерывания по нарушению питания.
  • Нормальное завершение  некоторой операции ввода-вывода (нажатие клавиши на клавиатуре).
  • Прерывание по таймеру.

Прерывание по таймеру вызывается интервальным таймером. Этот таймер содержит регистр, которому может быть присвоено определенное начальное значение посредством специальной привилегированной команды. Значение этого регистра автоматически уменьшается на 1 по истечении каждой миллисекунды времени. Когда это значение становятся равным нулю, происходит прерывание по таймеру. Подобный интервальный таймер используется операционной системой  для определения времени, в течение которого программа пользователя может оставаться под управлением машины.

Маскируемые и немаскируемые внешние прерывания

Существуют два специальных внешних сигнала среди входных сигналов процессора, при помощи которых можно прервать выполнение текущей программы и тем самым переключить работу центрального процессора. Это сигналы NMI (Non Mascable Interrupt, немаскируемое прерываниINTR (interrupt request, запрос на прерывание).

Соответственно внешние прерывания подразделяются на два вида: немаскируемые и маскируемые.

Часто при выполнении критических участков программ, для того чтобы гарантировать выполнение определенной последовательности команд целиком, приходится запрещать прерывания (т.е. сделать систему нечувствительной ко всем или отдельным прерываниям). Это можно сделать командой CLI. Ее нужно поместить в начало критической последовательности команд, а в конце расположить команду STI, разрешающую процессору воспринимать прерывания. Команда CLI запрещает только маскируемые прерывания, немаскируемые всегда обрабатываются процессором.

Таким образом, наличие сигнала прерывания не обязательно должно вызывать прерывание исполняющейся программы. Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерываний. Прерывания, которые замаскировать нельзя — это немаскируемые прерывания.

Внутренние   прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, а именно прерывание происходит, когда:

  • при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);
  • при наличии в поле кода не задействованной двоичной комбинации.
  • при делении на нуль.
  • при переполнении или исчезновении порядка.
  • при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.

Программные прерывания

Программы могут сами вызывать прерывания с заданным номером. Для этого они используют команду INT. По этой команде процессор осуществляет практически те же действия, что и при обычных прерываниях, но только это происходит в предсказуемой точке программы – там, где программист поместил данную команду. Поэтому программные прерывания не являются асинхронными (программа «знает», когда она вызывает прерывание).

Программные  прерывания в прямом смысле прерываниями не являются, поскольку представляют собой лишь специфический способ вызова процедур — не по адресу, а по номеру в таблице.

Механизм программных прерываний был специально введен для того, чтобы:

  1. переключение на системные программные модули происходило не просто как переход в подпрограмму, а точно таким же образом, как и обычные прерывания. Этим обеспечивается автоматическое переключение процессора в привилегированный режим с возможностью исполнения любых команд.
  2. использование программных прерываний приводит к более компактному коду программ по сравнению с использованием стандартных команд выполнения процедур.

Пример (программные прерывания):

  • привилегированная команда в режиме пользователя.
  • адрес вне диапазона.
  • нарушение защиты памяти.
  • арифметическое переполнение, отсутствует страница.
  • нарушение защиты сегмента.
  • выход за границу сегмента.

В упрощенном виде схему обработки различных видов прерываний можно представить следующим образом:

КП – контроллер прерываний, имеет несколько уровней (линий) для подключения контроллеров устройств (на схеме обозначены КУ). Возможно каскадное подключение контролеров, когда на один из его входов подключается еще одни контроллер прерываний. ЦП – центральный процессор.

Аппаратные прерывания вырабатываются устройствами компьютера, когда возникает необходимость их обслуживания. В отличие от программных прерываний, вызываемых запланировано самой прикладной программой, аппаратные прерывания всегда происходят асинхронно по отношению к выполняющимся программам. Кроме того, может возникнуть одновременно несколько прерываний. Выбор одного из них для обработки осуществляется на основе приоритетов, приписанных каждому типу прерывания.

Каждому прерыванию назначается свой уникальный приоритет. Если происходит одновременно несколько прерываний, то система отдает предпочтение самому высокоприоритетному, откладывая на время обработку остальных прерываний.

В случае о прерывании самой программы обработки прерывания говорят о вложенном прерывании. Уровни приоритетов обозначаются сокращенно IRQ0 — IRQ15 или IRQ0 – IRQ23 (в зависимости от микросхемой реализации).

Пpepывaнию вpeмeни cутoк дан мaкcимaльный пpиopитeт, пocкoльку ecли oнo  будет  пocтoяннo тepятьcя,  то будут нeвepными пoкaзaния cиcтeмныx чacoв.  Пpepывaниe от клaвиaтуpы вызывaeтcя при нaжaтии или oтпуcкaнии клавиши; oнo вызывaeт цепь coбытий,  кoтopaя oбычнo зaкaнчивaeтcя тем, что код клавиши пoмeщaeтcя в буфep клaвиaтуpы (oткудa он зaтeм  мoжeт быть пoлучeн пpoгpaммными пpepывaниями).

Ну и наконец реализация механизма обработки прерываний

В машине для каждого класса прерываний имеется соответствующая ему рабочая область прерываний. Например, имеется область, соответствующая прерыванию по таймеру. Когда происходит прерывание по таймеру, содержимое всех регистров сохраняется в этой области (например, пропустив первые несколько слов). Затем из этих пропущенных слов извлекаются заранее занесенные туда значения, которые перезаписываются в счетчик (указатель) команд машины и в слово состояния (или во флаговый регистр). Загрузка и сохранение регистров осуществляется аппаратными средствами машины автоматически.

Загрузка счетчика команд новым значением адреса автоматически вызывает передачу управления на соответствующую команду. Этот адрес, заранее сохраненный в рабочей области прерывания, представляет собой начальный адрес стандартной программы обработки прерываний по таймеру. Загрузка слова состояния также вызывает определенные изменения в состоянии процессора.

После выполнения в ответ на запрос на прерывание любого требуемого действия стандартная программа обработки прерываний выполняет команду загрузки состояния процессора, в результате чего управление передается прерванной программе. Происходит это следующим образом: команда загрузки состояния процессора вызывает загрузку сохраненного содержимого слова состояния, счетчика команд и других регистров из соответствующих слов области сохранения, начиная с адреса, указанного в команде. Это приводит к восстановлению содержимого регистров и состояния процессора, которые были в момент прерывания. Управление затем передается на команду, перед выполнением которой произошло прерывание.

Сохранение и восстановление состояния процессора и содержимого регистров называют операцией контекстного переключения.

У большинства машин имеется так называемое слово состояния, которое содержит часть информации, используемой при обработке прерываний. Одним из элементов этого слова (например, первый) является признак, определяющий, в каком режиме находится процессор: в пользовательском или супервизора.

Обычные программы находятся в пользовательском режиме (признак равен нулю). Когда происходит прерывание, новое загружаемое содержимое слово состояния имеет признак, равный 1, что автоматически переводит процессор в режим супервизора. В этом режиме становится возможным использование привилегированных команд. Перед тем, как значение слова состояния будет сохранено, в другом его элементе (например, втором) будет установлено значение, указывающее на причину прерывания:

  • при программном прерывании отражается тип вызвавшего его условия, например деление на нуль.
  • при прерывании по вводу-выводу заносится номер канала, вызвавший прерывание.

В третьем элементе указывается, выполняет ли процессор команды или простаивает. В четвертом элементе содержится указатель, идентифицирующий текущую выполняемую программу. В пятом элементе содержится маска прерываний, которая используется для контроля за разрешением прерываний (поле MASK).

Это поле используется, чтобы не допустить наступления прерываний определенного типа, пока первое из них не будет обработано. В MASK  каждый бит соответствует некоторому классу прерываний. Если какой-то бит установлен в 1, то прерывания соответствующего класса разрешены, если в 0, то запрещены. В последнем случае говорят, что они маскированы (их также называют запрещеннымиили закрытыми). Однако маскированные прерывания не теряются, потому что сигнал, вызвавший прерывание, сохраняется аппаратурой. Временно задержанное таким способом прерывание называется отложенным. Когда (вследствие того, что значение MASK сброшено) прерывания соответствующего класса вновь разрешаются, сигнал опознается и происходит прерывание.

Маскирование прерываний находится под контролем операционной системы и зависит от значения MASK в слове состояния, которое заранее сохраняется в рабочей области каждого прерывания. Можно запретить все прерывания, установив все биты MASK в нуль. В действительности поступать подобным образом нет необходимости.

An IRQ, short for Interrupt Request, is used in a computer to send exactly that—a request to interrupt the CPU by some other piece of hardware.

Purpose of IRQ

An Interrupt Request is necessary for things like keyboard presses, mouse movements, printer actions, and more. When the request is made by a device to momentarily stop the processor, the computer is then able to give the device some time to run its own operation.

For example, each time you press a key on the keyboard, an interrupt handler tells the processor that it needs to stop what it’s currently doing so that it can handle the keystrokes.

Each device communicates the request over a unique data line called a channel. Most of the time you see IRQ referenced, it’s alongside this channel number, also called an IRQ number. For example, IRQ 4 might be used for one device and IRQ 7 for another.

IRQ is pronounced as the letters I-R-Q, not as erk.

IRQ Errors

Errors related to Interrupt Request are usually only seen when installing new hardware or changing the settings in existing hardware. Here are some IRQ errors you might see:

IRQL_NOT_DISPATCH_LEVEL
IRQL_NOT_GREATER_OR_EQUAL
STOP: 0x00000008
STOP: 0x00000009

While it’s possible for the same IRQ channel to be used for more than one device (so long as both aren’t actually being used at the same time), it’s normally not the case. An IRQ conflict most likely occurs when two pieces of hardware are attempting to use the same channel for an interrupt request. 

Since the Programmable Interrupt Controller (PIC) doesn’t support this, the computer might freeze up or the devices will stop working as expected (or stop working entirely).

Back in the early Windows days, IRQ errors were common, and it took a lot of troubleshooting to fix them. This is because it was more common to set IRQ channels manually, like with DIP switches, which made it more likely that more than one device was using the same IRQ line.

However, IRQs are handled much better in newer versions of Windows that use plug and play, so you’ll rarely see an IRQ conflict or other IRQ issue.

Viewing and Editing IRQ Settings

The easiest way to view IRQ information in Windows is with Device Manager. Change the View menu option to Resources by type to see the Interrupt request (IRQ) section.

You can also use System Information. Execute the msinfo32.exe command from the Run dialog box (WIN+R), and then go to Hardware Resources > IRQs.

System Information IRQ List.

Linux users can run the cat /proc/interrupts command to view IRQ mappings.

You might need to change the IRQ line for a specific device if it’s using the same IRQ as another, though it’s usually unnecessary since system resources are automatically allocated for newer devices. It’s only older Industry Standard Architecture (ISA) devices that might need manual IRQ adjustments.

How to Change IRQ Settings

You can change IRQ settings in the BIOS or within Windows via Device Manager. Here’s how to change IRQ settings with Device Manager:

Remember that making incorrect changes to these settings can cause problems you didn’t have before. Make sure you know what you’re doing and have recorded any existing settings and values so that you know what to revert to should something go wrong.

  1. Open Device Manager and double-click or double-tap a device to open its Properties window. You’ll need to open that device’s category first before you’ll be able to see it, which you can do by double-clicking/tapping.

  2. In the Resources tab, deselect Use automatic settings.

    If you can’t find this tab or the option is greyed out or not enabled, it means that either you cannot specify a resource for that device or that the device has no other settings that can be applied to it.

  3. Use the Settings based on drop down menu to select the hardware configuration that should be changed.

  4. Select IRQ from the Resource settings area of the properties.

  5. Use the Change Setting button to edit the IRQ value.

Common IRQ Channels

Here are what some of the more common IRQ channels are used for:

IRQ Line Description
IRQ 0 System timer
IRQ 1 Keyboard controller
IRQ 2 Receives signals from IRQs 8-15
IRQ 3 Serial port controller for port 2
IRQ 4 Serial port controller for port 1
IRQ 5 Parallel port 2 and 3 (or sound card)
IRQ 6 Floppy disk controller
IRQ 7 Parallel port 1 (often printers)
IRQ 8 CMOS/real-time clock
IRQ 9 ACPI interrupt
IRQ 10 Peripherals
IRQ 11 Peripherals
IRQ 12 PS/2 mouse connection
IRQ 13 Numeric data processor
IRQ 14 ATA channel (primary)
IRQ 15 ATA channel (secondary)

Since IRQ 2 has a designated purpose, any device configured to use it will instead use IRQ 9.

What Are Non-Maskable Interrupts?

There are also non-maskable interrupts (NMIs), which are interrupt requests that can’t be blocked. A non-maskable interrupt occurs when dealing with system resets or hardware errors. The interrupt request is executed immediately.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

Содержание

  1. Конфликт irq прерываний windows 10
  2. Что такое IRQ (запрос прерывания)?
  3. Устройства отправляют IRQ процессору для запроса доступа
  4. Ошибки IRQ
  5. Просмотр и редактирование настроек IRQ
  6. Общие IRQ каналы

Конфликт irq прерываний windows 10

Хорошо, когда после сборки или плановой модернизации компьютер с первого раза запускается и работает устойчиво и без глюков. Гораздо хуже, если возникают неожиданные проблемы — спонтанные перезагрузки и зависания, сбои программ, неработоспособность или «невидимость» устройств и т.п. Первая причина, которая обычно приходит в голову в таком случае, — конфликт прерываний. А хорошо ли мы знаем природу этого явления, достаточно ли подготовлены к борьбе с ним?

Прерывания — это базовый механизм реакции системы на возникающие события. Аппаратные прерывания, называемые обычно IRQ (Interrupt ReQuest) — это физические сигналы, с помощью которых контроллер устройства информирует процессор о необходимости обработать некоторый запрос. Условно схема обработки прерывания выглядит следующим образом:
1) процессор получает сигнал прерывания и его номер;
2) по специальной таблице отыскивается адрес программы, ответственной за обработку прерывания с данным номером — обработчика прерывания;
3) процессор приостанавливает текущую работу и переключается на выполнение обработчика (в общем случае это некоторый драйвер);
4) драйвер получает доступ к устройству и проверяет причину возникновения прерывания;
5) запускаются запрошенные действия — инициализация, конфигурирование устройства, обмен данными и др.
6) драйвер завершает работу, и процессор возвращается к прерванной задаче.
Очевидно, что для корректной работы механизма прерываний необходимо выполнение двух условий: во-первых, сигнал запроса должен доходить до процессора и, во-вторых, драйвер-обработчик должен правильно реагировать на этот сигнал. В случае конфликта не соблюдается второе условие: сигнал прерывания приходит, но реакция на него оказывается неправильной, в результате чего мы имеем (в лучшем случае) неработоспособное устройство.

Можно сказать, что конфликт — это ситуация, при которой несколько объектов одновременно пытаются получить доступ к ресурсу, который предназначен только для одного из них. Конфликт прерываний возникает в том случае, если несколько устройств используют одну и ту же линию прерывания для посылки сигнала запроса и нет механизма, позволяющего обрабатывать конкурирующие запросы. Если драйвер, получая управление, работает не с тем устройством, которое послало запрос, то либо происходит сбой, либо одно из устройств попросту не работает.
Возникает вопрос: могут ли несколько устройств использовать одну и ту же линию прерывания, или это в принципе невозможно? Ведь если драйвер сможет определить, от кого именно пришел запрос, то он будет реагировать на сигналы только «своего» устройства, игнорируя все остальные. Но это должно быть каким-либо образом заранее оговорено, иначе конфликт неизбежен.
Локальная шина PCI была спроектирована с учетом совместного использования прерываний. Каждое устройство PCI должно корректно работать на одной линии прерывания с другими PCI-устройствами. Это сделано следующим образом: факт наличия сигнала на линии прерывания определяется не по фронту, т.е. изменению уровня напряжения, а по самому факту наличия определенного напряжения. Изменять напряжение в линии может сразу несколько устройств, становясь как бы в очередь на обслуживание.
Таким образом, совместное использование одного IRQ несколькими PCI-устройствами не является конфликтом по определению. Однако иногда проблемы все-таки возникают. Во-первых, не все устройства PCI корректно работают на одной линии прерывания с другими. Во-вторых, иногда драйверы имеют ошибки, из-за которых они не могут правильно определять источник сигнала, мешая другим драйверам. В-третьих, далеко не все устройства работают на шине PCI; например, ISA-устройства, к которым относятся, например, контроллеры COM/LPT-портов, делить прерывания с другими не умеют. Чтобы четко представлять себе, как можно избежать конфликтов или устранить их, нужно разобраться в механизме управления IRQ.

Организация аппаратных прерываний в персональном компьютере

Как вы знаете, персональные компьютеры начались с IBM PC. Его архитектура предусматривала восемь линий аппаратных прерываний (IRQ), которыми управлял специальный контроллер. Каждой из них назначался номер, который определял приоритет прерывания и адрес его обработчика (так называемый вектор прерывания). Новая архитектура, IBM PC AT, предусматривала еще восемь линий прерываний, для которых использовался второй контроллер, подключаемый к одной из линий прерывания первого контроллера. К сожалению, данная архитектура стала последней после того, как фирма IBM потеряла возможность управлять развитием созданной ею платформы, поэтому все современные компьютеры по-прежнему имеют только шестнадцать прерываний, одно из которых используется вторым контроллером.
У компьютера IBM PC AT была только одна шина, по которой устройства могли общаться с процессором и памятью — ISA. Большинство линий прерываний были закреплены за стандартными ISA-устройствами, оставшиеся были зарезервированы на будущее. Когда это будущее наступило, выяснилось, что новой универсальной шине PCI досталось всего четыре свободных прерывания. Поэтому и был придуман хитрый механизм совместного использования прерываний (IRQ Sharing) и динамического переопределения номеров (IRQ Steering или Mapping).
Суть механизма управления прерываниями PCI-устройств в следующем. В общем случае существует четыре физических линии PCI-прерываний, называемых PIRQ0, PIRQ1, PIRQ2 и PIRQ3. Они подключены к контроллеру прерываний. Каждое PCI-устройство со своей стороны как бы имеет четыре разъема, называемые INT A, INT B, INT C и INT D. Подключать линии к разъемам можно в любом порядке. Например, для первого PCI-слота можно сделать такую разводку: PIRQ0 — INT A, PIRQ1 — INT B, PIRQ2 — INT C, PIRQ3 — INT D. А для второго — по-другому: PIRQ0 — INT B, PIRQ1 — INT C, PIRQ2 — INT D, PIRQ3 — INT A. Обычно устройство требует только одну линию прерывания, подключенную к INT A. Будучи установленным в первый слот, устройство использует линию PIRQ0, а во втором слоте на том же контакте будет линия PIRQ1. Тем самым устройства в разных слотах будут использовать разные физические линии прерываний. Аппаратный конфликт между ними будет исключен.
Шина AGP, являясь по сути специализированной модификацией PCI, тоже использует одну из линий PIRQ — обычно PIRQ0.
Для современных систем четырех линий оказывается недостаточно, поэтому в новых чипсетах часто применяются восемь линий PIRQ, которые точно так же в разных комбинациях подключаются к слотам PCI и встроенным в плату устройствам.
Линии PIRQ подключаются к контроллеру прерываний. Им, как и другим линиям, назначаются логические IRQ-номера. Если на одной физической линии находятся несколько устройств (а это допустимо), то все они будут иметь один и тот же номер IRQ. Если устройства находятся на разных физических линиях, они все равно могут получить одинаковые номера IRQ. Нормальные драйверы позволят им свободно работать без потери производительности, так как шина PCI все равно может захватываться только одним устройством. Главное — распознать, от какого устройства пришел сигнал.
Номера линиям PIRQ назначаются автоматически благодаря пресловутому механизму Plug&Play. Но ведь есть и ISA-устройства, поддерживающие Plug&Play. Они тоже имеют возможность автоматически получить номер IRQ. Но их линия прерывания принадлежит им монопольно, и если такой же номер получит одна из линий PIRQ, возникнет неразрешимый конфликт.
Итак, мы выяснили, что устройства PCI должны быть лишены проблем с конфликтами IRQ. Если они, конечно, правильно работают, а так бывает не всегда. К тому же драйверы должны поддерживать механизм совместного использования прерываний. Устройства ISA не умеют делиться линиями прерываний и потому являются провокаторами конфликтов. Следовательно, задача устранения конфликтов сводится к правильному распределению номеров (источник проблем — ISA-устройства и «кривые» драйверы) или к разведению по разным физическим линиям («кривые» PCI-контроллеры).
Давайте рассмотрим, каким образом в системе происходит распределение номеров и как мы можем повлиять на этот процесс.

Как я уже говорил, большинство номеров IRQ уже заняты стандартными устройствами, точнее, назначены их линиям прерываний. Пройдемся по порядку:
0 — системный таймер (номер всегда занят);
1 — клавиатура (номер всегда занят);
2 — второй контроллер прерываний (всегда занят);
3 — порт COM2 (может быть отключен, а номер — освобожден);
4 — порт COM1 (может быть отключен, а номер — освобожден);
5 — порт LPT2 (обычно номер свободен);
6 — контроллер гибких дисков (может быть отключен, а номер — освобожден);
7 — порт LPT1 (если не в режиме EPP или ECP, то номер свободен);
8 — часы реального времени (всегда занят);
9 — свободен;
10 — свободен;
11 — свободен;
12 — мышь PS/2 (может быть свободен, если нет такой мыши);
13 — сопроцессор (всегда занят);
14 и 15 — контроллер жестких дисков (может быть отключен, а номер — освобожден).
В типичной системе свободны номера 5, 7, 9-11, то есть пять из пятнадцати. Кроме того, можно смело отключить COM2 и LPT1-порты, увеличив число свободных номеров до семи. Свободны — не значит, что не заняты, просто между ними возможна свободная перетасовка.
В любой системе имеется три стандартных PCI-устройства — ACPI-, USB-контроллеры и видеокарта, каждое из которых займет по одному номеру. Сложное устройство (например, звуковая карта) может потребовать несколько линий — INT A, INT B и т.д. для своих компонентов, которые между собой не будут конфликтовать (как-никак разные физические линии), а вот с другими устройствами — запросто.
Узнать, как в данный момент распределены номера прерываний, можно несколькими способами. В самом начале загрузки компьютера появляется текстовая таблица конфигурации. Сразу после нее идет перечень PCI-устройств с указанием назначенного им номера IRQ (см. скриншот). Другой способ работает в Windows 9x. В панели управления есть иконка «Система», в вызываемом апплете — закладка «Устройства». Выбираем свойства устройства «Компьютер», и там будут перечислены все устройства с указанием их IRQ (см. скриншот).
В Windows 2000 у нас нет доступа к управлению прерываниями, поэтому для просмотра списка IRQ нужно воспользоваться стандартной информационной утилитой (Панель управления/Администрирование/Управление компьютером/Сведения о системе/Ресурсы аппаратуры).

Распределение номеров IRQ средствами BIOS

В системе номера IRQ распределяются между физическими линиями дважды. Первый раз это делает системный BIOS при начальной загрузке системы. Каждому Plug&Play-устройству (все PCI, современные ISA, интегрированные устройства), а точнее, его линии прерывания, назначается один номер из десяти возможных. Если номеров не хватает, несколько линий получают один общий. Если это линии PIRQ, то ничего страшного — при наличии нормальных драйверов и поддержки со стороны операционной системы (об этом см. ниже) все будет работать. А если один номер получают несколько ISA-устройств или PCI- и ISA-устройства, то конфликт просто неизбежен, и тогда нужно вмешиваться в процесс распределения.
Прежде всего, нужно отключить все неиспользуемые ISA-устройства (в системах без слотов ISA они тоже присутствуют) — порты COM1, COM2 и дисковод. Также можно отключить режимы EPP и ECP порта LPT, тогда прерывание IRQ7 станет доступно.
В BIOS Setup нам понадобится раздел «PCI/PNP Configuration». Есть два базовых способа повлиять на распределения номеров IRQ: заблокировать конкретный номер и напрямую назначить номер линии PIRQ.
Первый способ доступен для всех BIOS: найдите список пунктов «IRQ x used by:» (в новых BIOS скрывается в подменю «IRQ Resources»). Тем прерываниям, которые должны быть назначены исключительно ISA-устройствам, нужно поставить «Legacy ISA». Тем самым при раздаче номеров PCI-устройствам данные прерывания будут пропущены. Поступать так следует в том случае, если какое-либо ISA-устройство упорно становится на одно прерывание с PCI-устройством, из-за чего оба не работают. Тогда мы находим номер этого IRQ и блокируем его в BIOS Setup. PCI-устройство переходит на новый номер IRQ, а ISA-устройство остается. Конфликт разрешен.
Второй, более удобный способ управления номерами IRQ — прямое назначение. В том же подменю BIOS Setup могут быть пункты вида «Slot X use IRQ» (другие названия: «PIRQx use IRQ», «PCI Slot x priority», «INT Pin x IRQ»).
С их помощью каждой из четырех линии PIRQ можно назначить конкретный номер. Кстати, в новых AwardBIOS 6.00 можно наблюдать, какие именно устройства (включая встроенные) используют ту или иную линию. Просто посмотрите на правую часть экрана BIOS Setup: на фото показано, как я навел курсор на пункт «Slot 1/5 use IRQ no.», а справа появилась надпись «Display Contr.». То есть первая линия PIRQ используется видеокартой. Если я сейчас поставлю какой-либо определенный номер вместо «Auto», видеокарта будет переведена на это прерывание.

Распределение номеров IRQ средствами Windows

Что такое IRQ (запрос прерывания)?

Устройства отправляют IRQ процессору для запроса доступа

IRQ, сокращение от Interrupt Request, используется на компьютере для отправки именно этого – запрос на interrupt ЦП другим аппаратным обеспечением.

Запрос на прерывание необходим для таких вещей, как нажатия клавиш, движения мыши, действия принтера и многое другое. Когда устройство делает запрос на мгновенную остановку процессора, компьютер может дать устройству некоторое время для запуска своей собственной операции.

Например, каждый раз, когда вы нажимаете клавишу на клавиатуре, обработчик прерываний сообщает процессору, что ему нужно остановить то, что он в данный момент делает, чтобы он мог обрабатывать нажатия клавиш.

Каждое устройство передает запрос по уникальной линии данных, называемой каналом. Большую часть времени вы видите IRQ со ссылкой, он находится рядом с этим номером канала, который также называется IRQ number . Например, IRQ 4 может использоваться для одного устройства, а IRQ 7 – для другого.

Примечание. IRQ произносится как буквы I-R-Q, а не как erk .

Ошибки IRQ

Ошибки, связанные с запросом прерывания, обычно видны только при установке нового оборудования или изменении настроек в существующем оборудовании. Вот некоторые ошибки IRQ, которые вы можете увидеть:

Примечание. См. Как исправить ошибки STOP 0x00000008 или Как исправить ошибки STOP 0x00000009, если у вас возникла одна из этих ошибок остановки.

Хотя один и тот же канал IRQ может использоваться более чем для одного устройства (при условии, что оба фактически не используются одновременно), обычно это не так. Конфликт IRQ, скорее всего, возникает, когда два устройства пытаются использовать один и тот же канал для запроса прерывания.

Так как программируемый контроллер прерываний (PIC) не поддерживает это, компьютер может зависнуть или устройства перестанут работать должным образом (или перестанут работать полностью).

Еще в первые дни Windows ошибки IRQ были обычным явлением, и для их устранения потребовалось немало проблем. Это было связано с тем, что чаще было устанавливать каналы IRQ вручную, как с DIP-переключателями, что повышало вероятность того, что более одного устройства использовали одну линию IRQ.

Однако IRQ обрабатываются намного лучше в новых версиях Windows, в которых используется технология «включай и работай», поэтому вы редко увидите конфликт IRQ или другую проблему IRQ.

Просмотр и редактирование настроек IRQ

Самый простой способ просмотра информации IRQ в Windows – с помощью диспетчера устройств. Измените параметр меню Просмотр на Ресурсы по типу , чтобы увидеть раздел Запрос прерывания (IRQ) .

Вы также можете использовать Системную информацию. Выполните команду msinfo32.exe в диалоговом окне «Выполнить» ( Ключ Windows + R ), а затем перейдите к Ресурсы аппаратного обеспечения> IRQ .

Пользователи Linux могут запустить команду cat/proc/interrupts , чтобы просмотреть сопоставления IRQ.

Возможно, вам придется изменить линию IRQ для конкретного устройства, если оно использует тот же IRQ, что и другое, хотя обычно это не требуется, поскольку системные ресурсы автоматически выделяются для новых устройств. Это только старые устройства промышленной стандартной архитектуры (ISA), которые могут нуждаться в ручной настройке IRQ.

Вы можете изменить настройки IRQ в BIOS или в Windows через диспетчер устройств. Вот как можно изменить настройки IRQ с помощью диспетчера устройств:

Важно: . Помните, что внесение неверных изменений в эти настройки может вызвать проблемы, которых у вас не было раньше. Убедитесь, что вы знаете, что делаете, и записали все существующие настройки и значения, чтобы вы знали, к чему следует вернуться, если что-то пойдет не так.

  1. Откройте диспетчер устройств.
  2. Дважды щелкните или дважды нажмите устройство, чтобы открыть его окно Свойства .
  3. На вкладке Ресурсы отмените выбор параметра Использовать автоматические настройки .
  4. Используйте раскрывающееся меню «Настройки на основе:» для выбора конфигурации оборудования, которое необходимо изменить.
  5. В Настройки ресурса> Тип ресурса выберите Запрос прерывания (IRQ) .
  6. Используйте кнопку Изменить настройки … , чтобы изменить значение IRQ.

Примечание. Если вкладка «Ресурсы» отсутствует или «Использовать автоматические настройки» неактивны или неактивны, это означает, что либо вы не можете указать ресурс для этого устройства, так как он подключен и работает или что у устройства нет других настроек, которые могут быть применены к нему.

Общие IRQ каналы

Вот для чего используются некоторые из наиболее распространенных каналов IRQ:

IRQ Line Описание
IRQ 0 Системный таймер
IRQ 1 Контроллер клавиатуры
IRQ 2 Получает сигналы от IRQ 8-15
IRQ 3 Контроллер последовательного порта для порта 2
IRQ 4 Контроллер последовательного порта для порта 1
IRQ 5 Параллельный порт 2 и 3 (или звуковая карта)
IRQ 6 Контроллер дискеты
IRQ 7 Параллельный порт 1 (часто принтеры)
IRQ 8 CMOS/часы реального времени
IRQ 9 Прерывание ACPI
IRQ 10 Периферийные устройства
IRQ 11 Периферийные устройства
IRQ 12 Подключение мыши PS/2
IRQ 13 Числовой процессор данных
IRQ 14 Канал ATA (основной)
IRQ 15 Канал ATA (вторичный)

Примечание. Поскольку IRQ 2 имеет предназначенную цель, любое устройство, настроенное для его использования, будет использовать IRQ 9.

  • Sign up
  • Sign in
  • HP Community
  • Desktops
  • Desktop Hardware and Upgrade Questions
  • IRQ test failed



Sign in

Create an account on the HP Community to personalize your profile and ask a question

Your account also allows you to connect with HP support faster, access a personal dashboard to manage all of your devices in one place, view warranty information, case status and more.

Locked

jtron

jtron


5


3


0

21,525

Level 1

‎08-09-2018

04:15 PM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

Product: Pavilion HPE

Operating System: Microsoft Windows 10 (64-bit)

I ran the HP quick diagnostics and got a failure on the IRQ test 

code:  M08708-00096V-QFFV4K-88DD03

What does this mean.  How can the problem be resolved?

thanks,

1 ACCEPTED SOLUTION

CF4

CF4


5,904


547


206

21,330

Level 9

‎08-10-2018

02:37 AM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

Hi

Network Card IRQ Failure 

This usually means that 2 or more devices are shaing the same IRQ (Interrupt ReQuest).

Try removing and re-installing.

Network PolyGlot.png

Was this reply helpful?

Yes

No

5 REPLIES 5

CF4

CF4


5,904


547


206

21,331

Level 9

‎08-10-2018

02:37 AM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

Hi

Network Card IRQ Failure 

This usually means that 2 or more devices are shaing the same IRQ (Interrupt ReQuest).

Try removing and re-installing.

Network PolyGlot.png

Was this reply helpful?

Yes

No

jtron

jtron

Author


5


3


0

21,308

Level 1

‎08-10-2018

09:53 AM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

My wirelessl card was disabled. I’m connected to network via Ethernet. Second test passed with the wireless card enabled.


1 person found this reply helpful

Was this reply helpful?

Yes

No

CF4

CF4


5,904


547


206

21,302

Level 9

Was this reply helpful?

Yes

No

‎09-28-2018

08:18 AM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

Hi, I’m having the exact same issue as above

with the error code 

QCRURK-7HU98F-XD7V6K-888313

How can I go about uninstalling and reinstalling my wireless card? Would that solve the issue?

Was this reply helpful?

Yes

No

jtron

jtron

Author


5


3


0

21,078

Level 1

‎09-28-2018

09:50 AM


HP Recommended

  • Mark as New
  • Bookmark
  • Subscribe
  • Permalink
  • Print
  • Flag Post

I was able to resolve the error by uninstalling (disabling) my wireless card and then reinstalling. Do this through device manager. Do t physically remove the card. 

Was this reply helpful?

Yes

No

Warning

Be alert for scammers posting fake support phone numbers and/or email addresses on the community.

If you think you have received a fake HP Support message, please report it to us by clicking on «Flag Post».

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.

  • English

    Open Menu

Powered by Khoros

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href=»https://www8.hp.com/us/en/terms-of-use.html» class=»udrlinesmall»>Terms of Use</a> and <a href=»/t5/custom/page/page-id/hp.rulespage» class=»udrlinesmall»> Rules of Participation</a>.

  • Тест типичные ошибки при выборе профессии
  • Тестирование основанное на ошибках
  • Тест телефона на ошибки
  • Тестирование оперативной памяти на наличие ошибок
  • Тест ссд на ошибки программа