在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/0x372()
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 内核,然后安装了驱动器。

相关内容