软讯网络 > 操作系统 > 其他操作系统 > 我的机器主板是NF4主板,网卡和声卡Freebsd6.1好象都不支持,郁闷了好久
【标 题】:我的机器主板是NF4主板,网卡和声卡Freebsd6.1好象都不支持,郁闷了好久
【关键字】:
NF4,Freebsd6.1
【来 源】:http://www.cublog.cn/u/23879/showart.php?id=170777
我的机器主板是NF4主板,网卡和声卡Freebsd6.1好象都不支持,郁闷了好久
在网上找了很多资料,并试着安装了一下,结果网卡成功了一次,能ping通网关了,可是reboot一次后,就不能ping通网关了,有些灵异阿。哈哈。。。。。。。下面是安装NF4网卡的一些资料,转贴的。。首先在这里说明,我在标题上说的“支持Nvidia nForce4 410主板”是指支持该主板上板载的网卡和声卡。
感谢iamqk在 http://bbs.chinaunix.net/viewthread.php?tid=718480 中给我的提示。
下边是我已经编译好的核心下dmesg的结果:CODE:[Copy to clipboard]Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-PRERELEASE #0: Mon Mar 27 05:52:54 CST 2006
root@:/usr/obj/usr/src/sys/FEELING
ACPI APIC Table:
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Sempron(tm) Processor 2500+ (1400.01-MHz K8-class CPU)
Origin = "AuthenticAMD" Id = 0x20fc2 Stepping = 2
Features=0x78bfbff
Features2=0x1
AMD Features=0xe2500800,LM,3DNow+,3DNow>
real memory = 1005518848 (958 MB)
avail memory = 962912256 (918 MB)
ioapic0 irqs 0-23 on motherboard
acpi0: on motherboard
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: Power Button (fixed)
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: reservation of 1bf00000, 100000 (3) failed
acpi0: reservation of 2bf00000, 100000 (3) failed
acpi0: reservation of 3bf00000, 100000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: on acpi0
acpi_throttle0: on cpu0
acpi_button0: on acpi0
acpi_button1: on acpi0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
pci0: at device 0.0 (no driver attached)
pci0: at device 0.1 (no driver attached)
pci0: at device 0.2 (no driver attached)
pci0: at device 0.3 (no driver attached)
pci0: at device 0.4 (no driver attached)
pci0: at device 0.5 (no driver attached)
pci0: at device 0.6 (no driver attached)
pci0: at device 0.7 (no driver attached)
pcib1: at device 2.0 on pci0
pci1: on pcib1
pcib2: at device 3.0 on pci0
pci2: on pcib2
pcib3: at device 4.0 on pci0
pci3: on pcib3
pci0: at device 5.0 (no driver attached)
pci0: at device 9.0 (no driver attached)
isab0: at device 10.0 on pci0
isa0: on isab0
pci0: at device 10.1 (no driver attached)
pci0: at device 10.2 (no driver attached)
ohci0: mem 0xfe02f000-0xfe02ffff irq 21 at device 11.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: on ohci0
usb0: USB revision 1.0
uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 8 ports with 8 removable, self powered
ehci0: mem 0xfe02e000-0xfe02e0ff irq 22 at device 11.1 on pci0
ehci0: [GIANT-LOCKED]
usb1: waiting for BIOS to give up control
usb1: timed out waiting for BIOS
usb1: EHCI version 1.0
usb1: companion controller, 8 ports each: usb0
usb1: on ehci0
usb1: USB revision 2.0
uhub1: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 8 ports with 8 removable, self powered
atapci0: port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf400-0xf40f at device 13.0 on pci0
ata0: on atapci0
ata1: on atapci0
atapci1: port
0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xe000-0xe00f mem
0xfe02d000-0xfe02dfff irq 23 at device 14.0 on pci0
ata2: on atapci1
ata3: on atapci1
pcib4: at device 16.0 on pci0
pci4: on pcib4
rl0: port 0xcc00-0xccff mem 0xfdbff000-0xfdbff0ff irq 18 at device 6.0 on pci4
miibus0: on rl0
rlphy0: on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:e0:4c:f6:e5:c1
pcm0: port 0xdc00-0xdcff,0xd800-0xd8ff mem 0xfe02c000-0xfe02cfff irq 20 at device 16.2 on pci0
pcm0:
nve0: port 0xd400-0xd407 mem 0xfe02b000-0xfe02bfff irq 21 at device 20.0 on pci0
nve0: Ethernet address 00:e0:4c:e4:30:fa
miibus1: on nve0
rlphy1: on miibus1
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
nve0: Ethernet address: 00:e0:4c:e4:30:fa
acpi_tz0: on acpi0
atkbdc0: port 0x60,0x64 irq 1 on acpi0
atkbd0: flags 0x1 irq 1 on atkbdc0
atkbd0: [GIANT-LOCKED]
psm0: irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
sc0: at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1400011646 Hz quality 800
Timecounters tick every 1.000 msec
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding
disabled, default to accept, logging limited to 100 packets/entry by
default
ad0: 78533MB at ata0-master UDMA100
ad4: 76319MB at ata2-master SATA150
Trying to mount root from ufs:/dev/ad0s1a
rl0: link state changed to UP里面我的声卡部分:
pcm0: port 0xdc00-0xdcff,0xd800-0xd8ff mem 0xfe02c000-0xfe02cfff irq 20 at device 16.2 on pci0
pcm0:
我的Nvidia板载网卡部分:
nve0: port 0xd400-0xd407 mem 0xfe02b000-0xfe02bfff irq 21 at device 20.0 on pci0
nve0: Ethernet address 00:e0:4c:e4:30:fa
miibus1: on nve0
rlphy1: on miibus1
rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
nve0: Ethernet address: 00:e0:4c:e4:30:fa
然后来看看我的修改方法:
1. 先查看PCI信息: pciconf -lv,获得以下两条重要内容:
pcm0@pci0:16:2: class=0x040100 card=0x82131565 chip=0x026b10de rev=0xa2 hdr=0x00 vendor = 'NVIDIA Corporation'
class = multimedia
subclass = audio
nve0@pci0:20:0: class=0x068000 card=0x25011565 chip=0x026910de rev=0xa1 hdr=0x00 vendor = 'NVIDIA Corporation'
class = bridge
从freebsd的hareware文档上看,Nvidia nForce 4集成声卡在 snd_ich 中,因此我首先去
/usr/src/sys/dev/sound/pci/ich.h 去看看,发现其中并没有和pciconf输出相关的内容。然后我又打开了
/usr/src/sys/dev/sound/pci/ich.c,呵呵,原来都藏在这里阿:
#define NVIDIA_NFORCE 0x01b1
#define NVIDIA_NFORCE2 0x006a
#define NVIDIA_NFORCE2_400 0x008a
#define NVIDIA_NFORCE3 0x00da
#define NVIDIA_NFORCE3_250 0x00ea
#define NVIDIA_NFORCE4 0x0059
#define AMD_768 0x7445
#define AMD_8111 0x746d
因此我将上述内容改为了
#define NVIDIA_NFORCE 0x01b1
#define NVIDIA_NFORCE2 0x006a
#define NVIDIA_NFORCE2_400 0x008a
#define NVIDIA_NFORCE3 0x00da
#define NVIDIA_NFORCE3_250 0x00ea
#define NVIDIA_NFORCE4 0x0059
#define NVIDIA_NFORCE4_410 0x026b
#define AMD_768 0x7445
#define AMD_8111 0x746d
接着理所当然地修改随后的
{ NVIDIA_VENDORID, NVIDIA_NFORCE, 0,
"nVidia nForce" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE2, 0,
"nVidia nForce2" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE2_400, 0,
"nVidia nForce2 400" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE3, 0,
"nVidia nForce3" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE3_250, 0,
"nVidia nForce3 250" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE4, 0,
"nVidia nForce4" },
{ AMD_VENDORID, AMD_768, 0,
"AMD-768" },
{ AMD_VENDORID, AMD_8111, 0,
"AMD-8111" }
为
{ NVIDIA_VENDORID, NVIDIA_NFORCE, 0,
"nVidia nForce" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE2, 0,
"nVidia nForce2" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE2_400, 0,
"nVidia nForce2 400" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE3, 0,
"nVidia nForce3" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE3_250, 0,
"nVidia nForce3 250" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE4, 0,
"nVidia nForce4" },
{ NVIDIA_VENDORID, NVIDIA_NFORCE4_410, 0,
"nVidia nForce4 410" },
{ AMD_VENDORID, AMD_768, 0,
"AMD-768" },
{ AMD_VENDORID, AMD_8111, 0,
"AMD-8111" }
这样就加入了 nForce4 410板载ALC655 AC97的识别。
Nvidia板载网卡需要修改两个文件,在该文(http://www.freebsdchina.org/forum/viewtopic.php?p=156165#156165) 中已经详细描述,我在这里就不再重复了。
接着修改kernel配置文件,加入以下行:CODE:[Copy to clipboard]device sound
device snd_ich
device miibus
device nve最后 cd /usr/src; make buildkernel && make installkernel 后重启就能够正常使用板载声卡和网卡了。
测试声卡工作的方法:
1. dmesg 查看是否有声卡信息
2. cat /dev/sndstat
3. cat 随便什么文件 > /dev/dsp 如果出现杂音则声卡已经正常工作原贴地址:http://bbs.chinaunix.net/viewthread.php?tid=724397