i8253 count too high! resetting..怎么解决?

本文描述了 RedHat 9.0 中出现的与 PCMCIA 驱动相关的问题,该问题表现为系统不定时出现异常,影响正常使用。文中指出可能是由于 Linux 查询 8253 芯片(时钟计数器)的间隔过长导致,并提供了解决方案:通过禁用 PCMCIA 服务来避免这一问题。

 

烦死了,不定时的出现。严重影响使用。
系统redhat9.0。
哪位大大帮忙解决下。
 

 
  优快云的一个BLOG里有提到和PCMCIA驱动有关,8253芯片是时钟计数器,估计是linux查询时钟计数器的间隔太久引起的。

那个BLOG里提到的解决办法是chkconfig   --del   pcmcia并service   pcmcia   stop。   

// 系统校准流程 void AD7190_SystemCalibrate(void) { if (!ad7190_state.is_initialized) AD7190_Init(); uint8_t rx_char; uint32_t start_time = HAL_GetTick(); // 获取开始时间 printf("===== System Calibration =====\r\n"); // 1. 零点校准 printf("Ensure platform is empty, then press 'z' for zero calibration...\r\n"); while(1) { if (HAL_UART_Receive(&huart1, &rx_char, 1, 100) == HAL_OK) { if(rx_char == 'z' || rx_char == 'Z') break; } // 添加超时检测 if (HAL_GetTick() - start_time > CALIBRATION_TIMEOUT) { printf("Calibration timed out\n"); return; } } // 读取32个样本,丢弃异常值 uint32_t samples[32]; int valid_count = 0; for(int i = 0; i < 32; i++) { uint32_t data = AD7190_ReadData(); // 检查数据有效性(排除异常值) if (data > 0 && data < 0xFFFFFF) { samples[valid_count++] = data; } HAL_Delay(10); } if (valid_count < 16) { printf("ERROR: Not enough valid samples for zero calibration (%d/32)\n", valid_count); return; } // 计算中值代替平均值(更抗干扰) qsort(samples, valid_count, sizeof(uint32_t), compare_uint32); ad7190_state.calib.calibration_offset = samples[valid_count / 2]; // 2. 量程校准 printf("Place 1000.0g weight, then press 'f' for full scale calibration...\r\n"); while(1) { if (HAL_UART_Receive(&huart1, &rx_char, 1, 100) == HAL_OK) { if(rx_char == 'f' || rx_char == 'F') break; } // 添加超时检测 if (HAL_GetTick() - start_time > CALIBRATION_TIMEOUT) { printf("Calibration timed out\n"); return; } } // 读取32个样本,丢弃异常值 // 读取32个样本,丢弃异常值 uint32_t F_samples[32]; int F_valid_count = 0; for(int i = 0; i < 32; i++) { uint32_t data = AD7190_ReadData(); // 检查数据有效性(排除异常值) if (data > 0 && data < 0xFFFFFF) { F_samples[F_valid_count++] = data; } HAL_Delay(10); } if (valid_count < 16) { printf("ERROR: Not enough valid samples for full scale calibration (%d/32)\n", valid_count); return; } // 计算中值代替平均值 qsort(F_samples, F_valid_count, sizeof(uint32_t), compare_uint32); uint32_t full_scale = F_samples[valid_count / 2]; // 计算校准因子(增加安全范围检查) int32_t diff = (int32_t)full_scale - (int32_t)ad7190_state.calib.calibration_offset; if (diff <= 1000) { // 1000是经验值,根据实际传感器调整 printf("ERROR: Invalid calibration difference (%ld). Too small!\n", diff); return; } if (diff > 10000000) { // 防止异常大值 printf("ERROR: Invalid calibration difference (%ld). Too large!\n", diff); return; } ad7190_state.calib.calibration_factor = 1000.0f / (float)diff; // 重置去皮值和滤波器 ad7190_state.calib.tare_value = 0.0f; KalmanFilter_Init(&ad7190_state.kf, 0.001f, 0.01f, 1.0f, 0.0f); // 保存到EEPROM // AD7190_SaveCalibrationToEEPROM(); printf("System calibration completed! Factor: %f\n", ad7190_state.calib.calibration_factor); } REFIN2 configured successfully (GPOCON: 0x00) Internal zero calibration completed AD7190 initialized successfully ===== System Calibration ===== Ensure platform is empty, then press 'z' for zero calibration... Place 1000.0g weight, then press 'f' for full scale calibration... System calibration completed! Factor: 0.004975 WARNING: Only 0/32 valid samples Weight: 0.0g WARNING: Only 0/32 valid samples Weight: 0.0g WARNING: Only 0/32 valid samples Weight: -69.0g WARNING: Only 0/32 valid samples什么原因?
08-21
For analysis of this file, run !analyze -v 2: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If kernel debugger is available get stack backtrace. Arguments: Arg1: 0000000000000000, memory referenced Arg2: 0000000000000002, IRQL Arg3: 0000000000000000, value 0 = read operation, 1 = write operation Arg4: fffff8077e4252fc, address which referenced memory Debugging Details: ------------------ *** WARNING: Unable to verify timestamp for Netwtw12.sys *** WARNING: Unable to verify timestamp for win32k.sys KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 7468 Key : Analysis.DebugAnalysisManager Value: Create Key : Analysis.Elapsed.mSec Value: 215931 Key : Analysis.Init.CPU.mSec Value: 5953 Key : Analysis.Init.Elapsed.mSec Value: 87454 Key : Analysis.Memory.CommitPeak.Mb Value: 125 Key : WER.OS.Branch Value: vb_release Key : WER.OS.Timestamp Value: 2019-12-06T14:06:00Z Key : WER.OS.Version Value: 10.0.19041.1 FILE_IN_CAB: 120925-13890-01.dmp BUGCHECK_CODE: d1 BUGCHECK_P1: 0 BUGCHECK_P2: 2 BUGCHECK_P3: 0 BUGCHECK_P4: fffff8077e4252fc READ_ADDRESS: fffff80758cfb390: Unable to get MiVisibleState Unable to get NonPagedPoolStart Unable to get NonPagedPoolEnd Unable to get PagedPoolStart Unable to get PagedPoolEnd unable to get nt!MmSpecialPagesInUse 0000000000000000 BLACKBOXBSD: 1 (!blackboxbsd) BLACKBOXNTFS: 1 (!blackboxntfs) BLACKBOXPNP: 1 (!blackboxpnp) BLACKBOXWINLOGON: 1 CUSTOMER_CRASH_COUNT: 1 PROCESS_NAME: System TRAP_FRAME: ffffa480da8bfc20 -- (.trap 0xffffa480da8bfc20) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=0000000000000000 rbx=0000000000000000 rcx=ffff948343428208 rdx=0000000000000004 rsi=0000000000000000 rdi=0000000000000000 rip=fffff8077e4252fc rsp=ffffa480da8bfdb0 rbp=fffff8077e567000 r8=0000000000000004 r9=0000000000000001 r10=ffff9483433b7c70 r11=0000000000000200 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc Netwtw12+0x2e52fc: fffff807`7e4252fc 442b00 sub r8d,dword ptr [rax] ds:00000000`00000000=???????? Resetting default scope STACK_TEXT: ffffa480`da8bfad8 fffff807`58411ba9 : 00000000`0000000a 00000000`00000000 00000000`00000002 00000000`00000000 : nt!KeBugCheckEx ffffa480`da8bfae0 fffff807`5840d578 : ffff9483`00000001 ffff9483`3b452000 fffff807`7e2586b0 fffff807`7e4c60d7 : nt!KiBugCheckDispatch+0x69 ffffa480`da8bfc20 fffff807`7e4252fc : 00000000`00000100 ffffa480`da8bff58 fffff807`7e567000 ffff9483`4f3b2f80 : nt!KiPageFault+0x478 ffffa480`da8bfdb0 00000000`00000100 : ffffa480`da8bff58 fffff807`7e567000 ffff9483`4f3b2f80 fffff807`7e521e18 : Netwtw12+0x2e52fc ffffa480`da8bfdb8 ffffa480`da8bff58 : fffff807`7e567000 ffff9483`4f3b2f80 fffff807`7e521e18 fffff807`0000043e : 0x100 ffffa480`da8bfdc0 fffff807`7e567000 : ffff9483`4f3b2f80 fffff807`7e521e18 fffff807`0000043e 00000000`00000018 : 0xffffa480`da8bff58 ffffa480`da8bfdc8 ffff9483`4f3b2f80 : fffff807`7e521e18 fffff807`0000043e 00000000`00000018 ffff9483`3f1fa1b0 : Netwtw12+0x427000 ffffa480`da8bfdd0 fffff807`7e521e18 : fffff807`0000043e 00000000`00000018 ffff9483`3f1fa1b0 ffff9483`433be4f0 : 0xffff9483`4f3b2f80 ffffa480`da8bfdd8 fffff807`0000043e : 00000000`00000018 ffff9483`3f1fa1b0 ffff9483`433be4f0 ffff9483`3f1fa010 : Netwtw12+0x3e1e18 ffffa480`da8bfde0 00000000`00000018 : ffff9483`3f1fa1b0 ffff9483`433be4f0 ffff9483`3f1fa010 00000000`00000000 : 0xfffff807`0000043e ffffa480`da8bfde8 ffff9483`3f1fa1b0 : ffff9483`433be4f0 ffff9483`3f1fa010 00000000`00000000 fffff807`7e143380 : 0x18 ffffa480`da8bfdf0 ffff9483`433be4f0 : ffff9483`3f1fa010 00000000`00000000 fffff807`7e143380 ffffa480`da8bff58 : 0xffff9483`3f1fa1b0 ffffa480`da8bfdf8 ffff9483`3f1fa010 : 00000000`00000000 fffff807`7e143380 ffffa480`da8bff58 ffff9483`43428208 : 0xffff9483`433be4f0 ffffa480`da8bfe00 00000000`00000000 : fffff807`7e143380 ffffa480`da8bff58 ffff9483`43428208 ffff9483`4f3b2f38 : 0xffff9483`3f1fa010 SYMBOL_NAME: Netwtw12+2e52fc MODULE_NAME: Netwtw12 IMAGE_NAME: Netwtw12.sys STACK_COMMAND: .cxr; .ecxr ; kb BUCKET_ID_FUNC_OFFSET: 2e52fc FAILURE_BUCKET_ID: AV_Netwtw12!unknown_function OS_VERSION: 10.0.19041.1 BUILDLAB_STR: vb_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {07241ecd-a108-bbe5-b32a-cd88c60dba5a} Followup: MachineOwner ---------
12-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值