在linux 3.2.0中安裝ns83820驅動程式時發生錯誤(物理位址無效)

在linux 3.2.0中安裝ns83820驅動程式時發生錯誤(物理位址無效)

Debian 威茲我在加載模組時收到以下錯誤ns83820

有人知道如何解決這個問題嗎?

10 月 6 日 13:15:00 soter 核心:[1.566727] ns83820.c:國家半導體 DP83820 10/100/1000 驅動程式。
10 月 6 日 13:15:00 soter 核心:[ 1.566836] ioremap:無效的實體位址 fffffffff4000000
10 月 6 日 13:15:00 soter 核心:[ 1.566840] ------------[ 切到這裡 ]------------
10 月 6 日 13:15:00 soter 核心:[ 1.566858] 警告:位於 /build/linux-dJLVDt/linux-3.2.46/arch/x86/mm/ioremap.c:83 __ioremap_caller+0xa9/0x329/0x32)
10 月 6 日 13:15:00 soter 核心:[ 1.566863] 硬體名稱:未知
10 月 6 日 13:15:00 soter 核心:[ 1.566866] 連結模組:ns83820(+)
10 月 6 日 13:15:00 soter 內核:[ 1.566874] Pid:73,通訊:modprobe 未污染 3.2.0-4-686-pae #1 Debian 3.2.46-1
10 月 6 日 13:15:00 soter 核心:[1.566878] 呼叫追蹤:
10 月 6 日 13:15:00 soter 核心: [ 1.566896] [] ? warn_slowpath_common+0x68/0x79
10 月 6 日 13:15:00 soter 核心: [ 1.566902] [] ? __ioremap_caller+0xa9/0x372
10 月 6 日 13:15:00 soter 核心: [ 1.566907] [] ? warn_slowpath_null+0xd/0x10
10 月 6 日 13:15:00 soter 核心: [ 1.566912] [] ? __ioremap_caller+0xa9/0x372
10 月 6 日 13:15:00 soter 核心: [ 1.566918] [] ? ioremap_nocache+0xa/0xd
10 月 6 日 13:15:00 soter 核心: [ 1.566927] [] ? ns83820_init_one+0x12b/0x5d4 [ns83820]
10 月 6 日 13:15:00 soter 核心: [ 1.566935] [] ? ns83820_init_one+0x12b/0x5d4 [ns83820]
10 月 6 日 13:15:00 soter 核心: [ 1.566944] [] ? pci_device_probe+0x53/0x9a
10 月 6 日 13:15:00 soter 核心: [ 1.566954] [] ? driver_probe_device+0x10c/0x10c
10 月 6 日 13:15:00 soter 核心: [ 1.566959] [] ? driver_probe_device+0x8c/0x10c
10 月 6 日 13:15:00 soter 核心: [ 1.566964] [] ? __driver_attach+0x40/0x5b
10 月 6 日 13:15:00 soter 核心: [ 1.566970] [] ?總線_for_each_dev+0x3b/0x5d
10 月 6 日 13:15:00 soter 核心: [ 1.566976] [] ?驅動程式附加+0x14/0x17
10 月 6 日 13:15:00 soter 核心: [ 1.566981] [] ? driver_probe_device+0x10c/0x10c
10 月 6 日 13:15:00 soter 核心: [ 1.566985] [] ?總線_新增_驅動程式+0x86/0x1af
10 月 6 日 13:15:00 soter 核心: [ 1.566997] [] ? kset_find_obj_hinted+0x4c/0x8d
10 月 6 日 13:15:00 soter 核心: [ 1.567001] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567005] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567010] [] ?驅動程式暫存器+0x73/0xc6
10 月 6 日 13:15:00 soter 核心: [ 1.567014] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心:[ 1.567017] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567021] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心:[ 1.567026] [] ? __pci_register_driver+0x32/0x86
10 月 6 日 13:15:00 soter 核心: [ 1.567030] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567033] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567039] [] ? do_one_initcall+0x66/0x10e
10 月 6 日 13:15:00 soter 核心:[ 1.567043] [] ? 0xf8253fff
10 月 6 日 13:15:00 soter 核心: [ 1.567057] [] ? sys_init_module+0x14c0/0x1677
10 月 6 日 13:15:00 soter 核心: [ 1.567068] [] ?系統呼叫_呼叫+0x7/0xb
10 月 6 日 13:15:00 soter 核心:[ 1.567072] ---[ 結束追蹤 c623892f829e745a ]---
10 月 6 日 13:15:00 soter 核心:[ 1.567118] ns83820: 0000:00:08.0 的偵測失敗,錯誤為 -12

一些細節:

$ uname --all
Linux bob 3.2.0-4-686-pae #1 SMP Debian 3.2.46-1 i686 GNU/Linux

答案1

這是在686中購買代碼引起的帕埃代碼。它進行檢查以確保位址(在本例中為 0xfffffffff4000000)位於虛擬位數的範圍內。但該位址的測試失敗。為了解決這個問題,我編譯了一個非 pae 686 內核,然後安裝了驅動器。

相關內容