Intel ATOM D945GCLF onboard LAN driver-card problem
-
I recently purchased Intel ATOM D945GCLF mini ITX board (excelent router in my opininon). I put another PIC 10/100 MB Level one network card. When I try to install Pfsense I detect only one card-PCI card is detected, onboard not. Onboard card is 10/100 Mbits/sec LAN subsystem using the Realtek* LAN adapter device.
How to fix this problem? ???
Any help is much apreciated.
Regards
-
Is the card on the HCL?
If not you wont have much luck getting it running.You could try to install the inofficial 1.2.1 version which is based on FreeBSD 6.3 and supports more hardware.
http://cvs.pfsense.org/~sullrich/testing_images/6/FreeBSD_RELENG_6_3/pfSense_RELENG_1_2/But before you do that i'd check that you plugged the NIC correctly in.
Also is it a 5V or 3.3V card?
Does your mainboard provide the needed voltages?
I had more than one NIC that didnt work because of this reason. -
card that doesn"t work is onboard… the other one is working perfectly. I will try install inofficial version.
Why Puppy linux detects this card?
Any other ideas?
Regards
-
pfSense is not Linux.
Could you post the output of dmesg?
-
here is dmesg:
BIOS-e820: 0000000000000000 - 000000000008f000 (usable)
BIOS-e820: 000000000008f000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003f533000 (usable)
BIOS-e820: 000000003f533000 - 000000003f53b000 (reserved)
BIOS-e820: 000000003f53b000 - 000000003f5cb000 (usable)
BIOS-e820: 000000003f5cb000 - 000000003f5cf000 (reserved)
BIOS-e820: 000000003f5cf000 - 000000003f661000 (usable)
BIOS-e820: 000000003f661000 - 000000003f6f0000 (ACPI NVS)
BIOS-e820: 000000003f6f0000 - 000000003f6f3000 (usable)
BIOS-e820: 000000003f6f3000 - 000000003f6ff000 (ACPI data)
BIOS-e820: 000000003f6ff000 - 000000003f700000 (usable)
BIOS-e820: 000000003f700000 - 0000000040000000 (reserved)
BIOS-e820: 00000000f0000000 - 0000000100000000 (reserved)
119MB HIGHMEM available.
896MB LOWMEM available.
Entering add_active_range(0, 0, 259840) 0 entries of 256 used
Zone PFN ranges:
DMA 0 -> 4096
Normal 4096 -> 229376
HighMem 229376 -> 259840
early_node_map[1] active PFN ranges
0: 0 -> 259840
On node 0 totalpages: 259840
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
Normal zone: 1760 pages used for memmap
Normal zone: 223520 pages, LIFO batch:31
HighMem zone: 238 pages used for memmap
HighMem zone: 30226 pages, LIFO batch:7
DMI 2.4 present.
ACPI: RSDP 000FE020, 0014 (r0 INTEL )
ACPI: RSDT 3F6FD038, 0038 (r1 INTEL D945GLF 26 1000013)
ACPI: FACP 3F6FC000, 0074 (r1 INTEL D945GLF 26 MSFT 1000013)
ACPI: DSDT 3F6F7000, 477C (r1 INTEL D945GLF 26 MSFT 1000013)
ACPI: FACS 3F6A3000, 0040
ACPI: APIC 3F6F6000, 0078 (r1 INTEL D945GLF 26 MSFT 1000013)
ACPI: WDDT 3F6F5000, 0040 (r1 INTEL D945GLF 26 MSFT 1000013)
ACPI: MCFG 3F6F4000, 003C (r1 INTEL D945GLF 26 MSFT 1000013)
ACPI: ASF! 3F6F3000, 00A6 (r32 INTEL D945GLF 26 MSFT 1000013)
ACPI: PM-Timer IO Port: 0x408
Allocating PCI resources starting at 50000000 (gap: 40000000:b0000000)
Built 1 zonelists. Total pages: 257810
Kernel command line: initrd=initrd.gz pmedia=usbflash BOOT_IMAGE=vmlinuz
Enabling fast FPU save and restore… done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 16384 bytes)
Detected 1596.173 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024228k/1039360k available (2415k kernel code, 13804k reserved, 827k data, 200k init, 121188k highmem)
virtual kernel memory layout:
fixmap : 0xfffea000 - 0xfffff000 ( 84 kB)
pkmap : 0xff800000 - 0xffc00000 (4096 kB)
vmalloc : 0xf8800000 - 0xff7fe000 ( 111 MB)
lowmem : 0xc0000000 - 0xf8000000 ( 896 MB)
.init : 0xc042e000 - 0xc0460000 ( 200 kB)
.data : 0xc035bc99 - 0xc042aaf4 ( 827 kB)
.text : 0xc0100000 - 0xc035bc99 (2415 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 3195.05 BogoMIPS (lpj=6390112)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfe9fbff 20100000 00000000 00000000 0040e31d 00000000 00000001
monitor/mwait feature present.
using mwait in idle threads.
CPU: L1 I cache: 32K, L1 D cache: 24K
CPU: L2 cache: 512K
CPU: After all inits, caps: bfe9fbff 20100000 00000000 00003940 0040e31d 00000000 00000001
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
CPU: Intel(R) Atom(TM) CPU 230 @ 1.60GHz stepping 02
Checking 'hlt' instruction... OK.
ACPI: Core revision 20070126
ACPI: setting ELCR to 0200 (from 0e00)
NET: Registered protocol family 16
EISA bus registered
ACPI: bus type pci registered
PCI: Found Intel Corporation 945G/GZ/P/PL Express Memory Controller Hub with MMCONFIG support.
PCI: Using MMCONFIG
Setting up standard PCI resources
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S3 S4 S5)
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
Boot video device is 0000:00:02.0
PCI quirk: region 0400-047f claimed by ICH6 ACPI/GPIO/TCO
PCI quirk: region 0500-053f claimed by ICH6 GPIO
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [_SB_.PCI0.PRT]
ACPI: PCI Interrupt Routing Table [_SB.PCI0.P32_.PRT]
ACPI: PCI Interrupt Routing Table [_SB.PCI0.PEX0.PRT]
ACPI: PCI Interrupt Routing Table [_SB.PCI0.PEX2.PRT]
ACPI: PCI Interrupt Routing Table [_SB.PCI0.PEX3._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 *11 12)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 *10 11 12)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 *9 10 11 12)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 *9 10 11 12)
Linux Plug and Play Support v0.97Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 10 devices
PnPBIOS: Disabled by ACPI PNP
SCSI subsystem initialized
libata version 2.20 loaded.
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
pnp: 00:01: iomem range 0xf0000000-0xf3ffffff could not be reserved
pnp: 00:01: iomem range 0xfed13000-0xfed13fff has been reserved
pnp: 00:01: iomem range 0xfed14000-0xfed17fff has been reserved
pnp: 00:01: iomem range 0xfed18000-0xfed18fff has been reserved
pnp: 00:06: ioport range 0x500-0x53f has been reserved
pnp: 00:06: ioport range 0x400-0x47f has been reserved
pnp: 00:06: ioport range 0x680-0x6ff has been reserved
Time: tsc clocksource has been installed.
PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
PCI: Bridge: 0000:00:1c.0
IO window: 2000-2fff
MEM window: 50200000-502fffff
PREFETCH window: 50000000-500fffff
PCI: Bridge: 0000:00:1c.2
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.3
IO window: disabled.
MEM window: disabled.
PREFETCH window: disabled.
PCI: Bridge: 0000:00:1e.0
IO window: 1000-1fff
MEM window: 50100000-501fffff
PREFETCH window: disabled.
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:1c.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1c.0 to 64
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1c.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1c.2 to 64
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:1c.3[D] -> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:00:1c.3 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
checking if image is initramfs… it is
Freeing initrd memory: 1237k freed
highmem bounce pool size: 64 pages
NTFS driver 2.1.28 [Flags: R/W].
io scheduler noop registered
io scheduler cfq registered (default)
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.0:pcie00]
Allocate Port Service[0000:00:1c.0:pcie02]
Allocate Port Service[0000:00:1c.0:pcie03]
PCI: Setting latency timer of device 0000:00:1c.2 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.2:pcie00]
Allocate Port Service[0000:00:1c.2:pcie02]
Allocate Port Service[0000:00:1c.2:pcie03]
PCI: Setting latency timer of device 0000:00:1c.3 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.3:pcie00]
Allocate Port Service[0000:00:1c.3:pcie02]
Allocate Port Service[0000:00:1c.3:pcie03]
isapnp: Scanning for PnP cards…
Switched to NOHz mode on CPU #0
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12ac
intel_rng: Firmware space is locked read-only. If you can't or
intel_rng: don't want to disable this in firmware setup, and if
intel_rng: you are certain that your system has a functional
intel_rng: RNG, try using the 'no_fwh_detect' option.
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
floppy0: no floppy controllers found
RAMDISK driver initialized: 16 RAM disks of 13824K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH7: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
ICH7: chipset revision 1
ICH7: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x30b0-0x30b7, BIOS settings: hda:DMA, hdb:pio
Probing IDE interface ide0…
hda: InnoDisk Corp. - EDC4000 512MB, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hda: max request size: 128KiB
hda: 1023120 sectors (523 MB) w/0KiB Cache, CHS=1015/16/63, UDMA(66)
hda: hda1
ata_piix 0000:00:1f.2: version 2.10ac1
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2 **-> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x000130c8 ctl 0x000130ee bmdma 0x000130a0 irq 10
ata2: SATA max UDMA/133 cmd 0x000130c0 ctl 0x000130ea bmdma 0x000130a8 irq 10
scsi0 : ata_piix
ATA: abnormal status 0x7F on port 0x000130cf
scsi1 : ata_piix
ATA: abnormal status 0x7F on port 0x000130c7
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard as /class/input/input0
input: ImPS/2 Generic Wheel Mouse as /class/input/input1
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
Freeing unused kernel memory: 200k freed
squashfs: version 3.3 (2007/10/31) Phillip Lougher
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 9
PCI: setting IRQ 9 as level-triggered
ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKH] -> GSI 9 (level, low) -> IRQ 9
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 9, io base 0x00003080
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1 **-> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 10, io base 0x00003060
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 11, io base 0x00003040
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.3[D] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.3: irq 11, io base 0x00003020
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.7[A] -> Link [LNKH] -> GSI 9 (level, low) -> IRQ 9
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 5
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: irq 9, io mem 0x503c0000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 8 ports detected
Initializing USB Mass Storage driver…
usb 5-8: new high speed USB device using ehci_hcd and address 2
usb 5-8: configuration #1 chosen from 1 choice
scsi2 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Registering unionfs 2.1.2 (for 2.6.21.7)
fuse init (API version 7.8)
scsi 2:0:0:0: Direct-Access Patriot Memory PMAP PQ: 0 ANSI: 0 CCS
SCSI device sda: 8060928 512-byte hdwr sectors (4127 MB)
sda: Write Protect is off
sda: Mode Sense: 23 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 8060928 512-byte hdwr sectors (4127 MB)
sda: Write Protect is off
sda: Mode Sense: 23 00 00 00
sda: assuming drive cache: write through
sda: sda1
sd 2:0:0:0: Attached scsi removable disk sda
usb-storage: device scan complete
Linux agpgart interface v0.102 (c) Dave Jones
agpgart: Detected an Intel 945G Chipset.
agpgart: Detected 7932K stolen memory.
agpgart: AGP aperture is 256M @ 0x40000000
ACPI: PCI Interrupt 0000:00:1f.3 **-> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10
r8169 Gigabit Ethernet driver 2.2LK loaded
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:01:00.0 to 64
eth0: RTL8169s/8110s at 0xf886a000, 00:1c:c0:45:9f:0c, IRQ 11
8139too Fast Ethernet driver 0.9.28
ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 9
ACPI: PCI Interrupt 0000:04:00.0[A] -> Link [LNKF] -> GSI 9 (level, low) -> IRQ 9
eth1: RealTek RTL8139 at 0xf896c000, 00:11:6b:95:f9:d7, IRQ 9
eth1: Identified 8139 chip type 'RTL-8100B/8139D'
unionfs: do delay copyup of "messages"
unionfs: new lower inode mtime (bindex=0, name=log)
usbcore: registered new interface driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
unionfs: do delay copyup of "usblp.ko"
unionfs: do delay copyup of "parport.ko"
unionfs: do delay copyup of "parport_pc.ko"
lp: driver loaded but no devices found
unionfs: do delay copyup of "lp.ko"inofficial version doesn"t work…
Regards******
-
this dmesg is from Puppy linux…
-
There's another thread on this NIC here - it seems that it doesn't work under FreeBSD. According to the Intel specification for the board (see the bottom of page 10), the NIC on the Atom board you mention is a Realtek RTL8102EL, as mentioned in the other thread.
Quite why a Realtek NIC was used beats me, considering that Intel make excellent NICs themselves. It could be that they were very tight for board space; Intel 82572EI would seem a good choice, and it has Gigabit support, but it needs more board space for the device and it needs more external components (there's no version with built in EPROM or Flash memory). Further, it ideally needs PCIe x4, presumably because of the Gigabit speed (the Realtek 10/100 NIC is PCIe x1). The Realtek part has the advantage of being a single chip PCIe MAC/PHY/EPROM device with just 48 leads.
Looking at the code and CVS logs of the rl(4) and, probably more importantly, the re(4) driver, I can't see that this chip is supported under any version of FreeBSD. There's no mention of the RTL8102 series anywhere. I did eventually find the data sheet here, but that gives no programming details whatsoever.
You've posted a Linux dmesg, which shows two Realtek NICs. I can only presume that the other NIC you inserted is another Realtek one - which doesn't help any in identifying what is going on.
Can you confirm that the built in NIC works under Linux, and whether it's eth0 or eth1 in the dmesg you posted.
Can you also post the output of dmesg and pciconf -lv under pfSense or FreeBSD (6.3-RELEASE preferred). pfSense is not Linux based - so whilst knowing that a Linux driver works, that provides no more than a little help to getting this card going under pfSense. I believe there's a lot of commonality between the FreeBSD and NetBSD drivers - if the built in NIC works under NetBSD, that's worth knowing.
We might be lucky, in that it's just a case of adding the card's ID to the re(4) driver. If that's not it, then this probably requires the input of someone familiar with the Realtek drivers in FreeBSD - probably Pyun. Offers of money and/or hardware to the maintainers will likely help your cause.
Realtek NICs aren't brilliant even when they do work - just look at the Hardware board. Why not get hold of a decent dual port NIC and forget about the built in one? I suspect it will get supported sooner or later (these Atom boards are very new) - but it will still only be a Realtek 10/100 NIC. If you only need 10/100 speeds, you may be able to get a suitable Intel based card from eBay for fairly little.
The alternative, if your plug in NIC supports VLANs, is to buy a switch that supports 802.1q tagged VLANs, in which case you only need a single NIC. My belief is that VLANs provide much more flexibility, as well as needing fewer cables and switch ports. You can find inexpensive fanless 802.1q capable switches if you're happy with a 10/100 switch with a couple of Gigabit ports. Netgear FSM726 v2 is one example - though I'm not particularly fond of Netgear switches. If you are going to buy an FSM726, I'd buy new - the old v1 hardware has a couple of very noisy fans!
-
Thank you David_W for quick reply.
eth0 is onboard card the other one is eth1. They both work under Linux.They are both based on Realtek chipset (other one is Level One FNC-0109tx). I will love to post dmesg from Pfsense or freebsd 6.3, but I cant complete instalation (the computer halts in the middle becouse iI dont have 2 lan cards or ports). I will try installing wlan card.The other alternative is dual port NIC. (I must see if I can put this card in PCI slot, becouse I have very small case)
Regards
-
You don't need two NICs for FreeBSD 6.3-RELEASE - just download and boot the FreeBSD 6.3-RELEASE i386 disc 1 ISO. That may be a way ahead to get the dmesg and pciconf -lv output.
You've now confirmed that the built in NIC is detected using the Realtek 8169s/8110s driver in Linux and that that card works in Linux. That may be a start towards a solution here - the information I asked for will help reveal more of the picture.
I can't promise to offer a fix; I have other things to be getting on with, but getting this information together is going to help whoever eventually does fix this.
-
here is dmesg from freebsd 6.3:
Copyright
1992-2008 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:45:45 UTC 2008
root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Atom(TM) CPU 230 @ 1.60GHz (1599.32-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x106c2 Stepping = 2
Features=0xbfe9fbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>Features2=0x40e31d<sse3,rsvd2,mon,ds_cpl,tm2,ssse3,cx16,xtpr,pdcm,<b22>>
AMD Features=0x20100000 <nx,lm>AMD Features2=0x1 <lahf>Logical CPUs per core: 2
real memory = 1063649280 (1014 MB)
avail memory = 1027358720 (979 MB)
ACPI APIC Table: <intel d945glf="">FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0: Changing APIC ID to 2
ioapic0 <version 2.0="">irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Jan 16 2008 04:43:12)
acpi0: <intel d945glf="">on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <acpi cpu="">on acpi0
cpu1: <acpi cpu="">on acpi0
acpi_button0: <sleep button="">on acpi0
pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
pci0: <acpi pci="" bus="">on pcib0
agp0: <intel 82945g="" (945g="" gmch)="" svga="" controller="">port 0x30e0-0x30e7 mem 0x50300000-0x5037ffff,0x40000000-0x4fffffff,0x50380000-0x503bffff irq 16 at device 2.0 on pci0
agp0: detected 7932k stolen memory
agp0: aperture size is 256M
pcib1: <acpi pci-pci="" bridge="">at device 28.0 on pci0
pci1: <acpi pci="" bus="">on pcib1
pci1: <network, ethernet="">at device 0.0 (no driver attached)
pcib2: <acpi pci-pci="" bridge="">at device 28.2 on pci0
pci2: <acpi pci="" bus="">on pcib2
pcib3: <acpi pci-pci="" bridge="">at device 28.3 on pci0
pci3: <acpi pci="" bus="">on pcib3
uhci0: <uhci (generic)="" usb="" controller="">port 0x3080-0x309f irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <uhci (generic)="" usb="" controller="">on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <uhci (generic)="" usb="" controller="">port 0x3060-0x307f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <uhci (generic)="" usb="" controller="">on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <uhci (generic)="" usb="" controller="">port 0x3040-0x305f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <uhci (generic)="" usb="" controller="">on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <uhci (generic)="" usb="" controller="">port 0x3020-0x303f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <uhci (generic)="" usb="" controller="">on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <intel 82801gb="" r="" (ich7)="" usb="" 2.0="" controller="">mem 0x503c0000-0x503c03ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <intel 82801gb="" r="" (ich7)="" usb="" 2.0="" controller="">on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib4: <acpi pci-pci="" bridge="">at device 30.0 on pci0
pci4: <acpi pci="" bus="">on pcib4
rl0: <realtek 10="" 8139="" 100basetx="">port 0x1000-0x10ff mem 0x50100000-0x501000ff irq 21 at device 0.0 on pci4
miibus0: <mii bus="">on rl0
rlphy0: <realtek internal="" media="" interface="">on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:11:6b:95:f9:d7
isab0: <pci-isa bridge="">at device 31.0 on pci0
isa0: <isa bus="">on isab0
atapci0: <intel ich7="" udma100="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x30b0-0x30bf irq 18 at device 31.1 on pci0
ata0: <ata 0="" channel="">on atapci0
ata1: <ata 1="" channel="">on atapci0
atapci1: <intel ich7="" sata300="" controller="">port 0x30c8-0x30cf,0x30ec-0x30ef,0x30c0-0x30c7,0x30e8-0x30eb,0x30a0-0x30af irq 19 at device 31.2 on pci0
ata2: <ata 0="" channel="">on atapci1
ata3: <ata 1="" channel="">on atapci1
pci0: <serial bus,="" smbus="">at device 31.3 (no driver attached)
atkbdc0: <keyboard controller="" (i8042)="">port 0x60,0x64 irq 1 on acpi0
atkbd0: <at keyboard="">irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <ps 2="" mouse="">irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <system console="">at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
umass0: Generic USB Flash Disk, rev 1.10/1.00, addr 2
Timecounters tick every 1.000 msec
hptrr: no controller detected.
ad0: FAILURE - SET_MULTI status=51 <ready,dsc,error>error=4 <aborted>ad0: 499MB <innodisk 18="" corp.="" -="" edc4000="" 512mb="" 06="" 05="">at ata0-master UDMA66
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <generic usb="" flash="" disk="" 2.01="">Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 127MB (260288 512 byte sectors: 64H 32S/T 127C)
acd0: DVDROM <tsstcorpdvd-rom sh-d163b="" sb01="">at ata3-master SATA150
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ad0s1a</tsstcorpdvd-rom></generic></innodisk></aborted></ready,dsc,error></generic></system></ps></at></keyboard></serial></ata></ata></intel></ata></ata></intel></isa></pci-isa></realtek></mii></realtek></acpi></acpi></intel></intel></uhci></uhci></uhci></uhci></uhci></uhci></uhci></uhci></acpi></acpi></acpi></acpi></network,></acpi></acpi></intel></acpi></acpi></sleep></acpi></acpi></intel></version></intel ></lahf></nx,lm></sse3,rsvd2,mon,ds_cpl,tm2,ssse3,cx16,xtpr,pdcm,<b22></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe> -
pci1: <acpi pci="" bus="">on pcib1
pci1: <network, ethernet="">at device 0.0 (no driver attached)</network,></acpi>That's the Realtek card. Can you post the output of pciconf -lv as that will give the device ID. Without that, there's no way to try to create a driver.
-
Here you have it:
hostb0@pci0:0:0: class=0x060000 card=0x464c8086 chip=0x27708086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82945G/GZ/P/PL Host Bridge/DRAM Controller'
class = bridge
subclass = HOST-PCI
agp0@pci0:2:0: class=0x030000 card=0x464c8086 chip=0x27728086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82945G Integrated Graphics Controller'
class = display
subclass = VGA
pcib1@pci0:28:0: class=0x060400 card=0x00000000 chip=0x27d08086 rev=0x01 hdr=0x01
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) PCIe Root Port'
class = bridge
subclass = PCI-PCI
pcib2@pci0:28:2: class=0x060400 card=0x00000000 chip=0x27d48086 rev=0x01 hdr=0x01
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) PCIe Root Port'
class = bridge
subclass = PCI-PCI
pcib3@pci0:28:3: class=0x060400 card=0x00000000 chip=0x27d68086 rev=0x01 hdr=0x01
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) PCIe Root Port'
class = bridge
subclass = PCI-PCI
uhci0@pci0:29:0: class=0x0c0300 card=0x464c8086 chip=0x27c88086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) USB Universal Host Controller'
class = serial bus
subclass = USB
uhci1@pci0:29:1: class=0x0c0300 card=0x464c8086 chip=0x27c98086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) USB Universal Host Controller'
class = serial bus
subclass = USB
uhci2@pci0:29:2: class=0x0c0300 card=0x464c8086 chip=0x27ca8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) USB Universal Host Controller'
class = serial bus
subclass = USB
uhci3@pci0:29:3: class=0x0c0300 card=0x464c8086 chip=0x27cb8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) USB Universal Host Controller'
class = serial bus
subclass = USB
ehci0@pci0:29:7: class=0x0c0320 card=0x464c8086 chip=0x27cc8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) USB 2.0 Enhanced Host Controller'
class = serial bus
subclass = USB
pcib4@pci0:30:0: class=0x060401 card=0x464c8086 chip=0x244e8086 rev=0xe1 hdr=0x01
vendor = 'Intel Corporation'
device = '82801 Family (ICH2/3/4/4/5/5/6/7/8/9,63xxESB) Hub Interface to PCI Bridge'
class = bridge
subclass = PCI-PCI
isab0@pci0:31:0: class=0x060100 card=0x464c8086 chip=0x27b88086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '945GL Intel 82801GB/GR (ICH7 Family) LPC Interface Controller - 27B8'
class = bridge
subclass = PCI-ISA
atapci0@pci0:31:1: class=0x01018a card=0x464c8086 chip=0x27df8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) Ultra ATA Storage Controller'
class = mass storage
subclass = ATA
atapci1@pci0:31:2: class=0x01018f card=0x464c8086 chip=0x27c08086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller'
class = mass storage
subclass = ATA
none0@pci0:31:3: class=0x0c0500 card=0x464c8086 chip=0x27da8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) SMBus Controller'
class = serial bus
subclass = SMBus
none1@pci1:0:0: class=0x020000 card=0x00018086 chip=0x813610ec rev=0x02 hdr=0x00
vendor = 'Realtek Semiconductor'
device = 'RTL8139/810x Family Fast Ethernet NIC'
class = network
subclass = ethernet
rl0@pci4:0:0: class=0x020000 card=0x813910ec chip=0x813910ec rev=0x10 hdr=0x00
vendor = 'Realtek Semiconductor'
device = 'RT8139 (A/B/C/810x/813x/C+) Fast Ethernet Adapter'
class = network
subclass = ethernet -
none1@pci1:0:0: class=0x020000 card=0x00018086 chip=0x813610ec rev=0x02 hdr=0x00
vendor = 'Realtek Semiconductor'
device = 'RTL8139/810x Family Fast Ethernet NIC'
class = network
subclass = ethernetThat's the device we're trying to support.
The Intel vendor ID always amuses me - note that the low word of 'card', the subvendor ID, is 0x8086.
'Chip' is the more important value - the low word is 0x10ec, which is Realtek. The high word is 0x8136 - Realtek 8101E alike. The re(4) driver already has support for the Realtek 8101E.
Looking at if_re.c, I can only surmise that the driver is trying to attach to this NIC expecting a Realtek 8101E, but discovers that it's a different hardware revision to one it expects for the 8101E, so it doesn't attach to the chip. After all, 8102E is not 8101E! Hopefully someone can get hold of the necessary programming documentation to add support for the NIC that is on this Intel board.
I have had a quick glance at the Linux driver, but it didn't help me understand what was happening. I'm not familiar with Linux drivers, and the driver API is somewhat different to FreeBSD.
-
David_W thank you for your reply.
I tried installing Freebsd 7.0 but no luck…
I also searched on Google and I find that a lot of people have problem with this onboard LAN.. but I am new in Freebsd so I can do much to help them... so I must be patient and wait... hopefully this will be resolved quickly.
If I can do something to help....
Regards
-
Any news on this subject?
-
As others have said, the driver needs to be in FreeBSD before you'll get anywhere. You may find that you need to raise this on the freebsd-net mailing list (and if you really want it to work, you may have to donate a working card/motherboard to a developer).
One thing to keep in mind, new drivers tend to appear in HEAD, which is 8.0. Some may be back-ported to 7.x but few are likely to be back-ported to 6.x.
-
The problem is in network card RTL8102E. I downloaded freebsd drivers from http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=7&Level=5&Conn=4&DownTypeID=3&GetDown=false
instaled freebsd 6.2 , compiled if_rl.ko driver, put it /boot/kernel/if_rl.ko and in /boot/defaults/loader.conf change if_rl_load="NO" to "YES"
my dmesg:
rl0: <realtek rtl810xe="" pci-e="" fast="" ethernet="" adapter="">port 0x2000-0x20ff mem 0x50200000-0x50200fff,0x50000000-0x5000ffff irq 11 at device 0.0 on pci1
rl0: [GIANT-LOCKED]
version:1.76 beta1</realtek> -
Does that mean this is working now?
-
In a word - no.
Unfortunately Realtek's driver is forked from an ancient version of if_rl.c - by ancient I mean six years old and on the FreeBSD 4.x branch. There's no straightforward way of porting their changes back to FreeBSD HEAD, 7-STABLE and 6-STABLE, which is the only way these changes are going to make it into FreeBSD proper.
Maybe Realtek have taken objection to the comment in the driver that the 8139 is possibly the worst PCI Ethernet NIC ever made (with one exception). Their version has deleted that comment. To see what I mean, look here, fairly near the top.
Realtek's code updates the PIO based rl(4) driver, not the DMA based re(4) driver, which is where you really want support. Further, the dmesg extract mindziux posted shows that Realtek's driver is under the Giant lock. Both these will hurt performance badly.
Networking drivers that need the Giant lock will not be committed to FreeBSD HEAD; a process is underway at the moment to get the remaining networking drivers out from under the Giant lock. Those drivers that do not get updated will be deleted. See recent posts by Robert Watson to freebsd-stable for more details.
It would have been so much better if Realtek worked with the FreeBSD developers to get their patches incorporated into the operating system, as other vendors do (including Broadcom and Intel for network drivers, and LSI Logic for storage drivers). The ancient code base of their driver means it's reaching the end of the line, as the networking code in 7.x and HEAD is very different to the 4.x base of Realtek's driver.
If you are desperate to get things working, follow mindzuix's steps, but the performance will be suspect at best. I would suggest not using this NIC at all - use an Intel Gigabit NIC in the PCI slot. It's a huge shame that Intel used this cheap Realtek NIC rather than one of their own NICs on this board; the Realtek NIC is just about OK as a desktop NIC, but I believe is a poor choice for a server or firewall NIC.
-
Hi to all the Atom fan's here who are struggling with their RTL8101E (or is it a RTL8102E) nic.
I received my D945GCLF last week but it wasn't until last weekend that I got to play with it. Unfortunately the amount of play regarding the network capabilities was small. The problems described in the posting before me have plagued me too. Other linux distro's, I have tried SuSe, Ubuntu, Knoppix on the board result in the same non responsive NIC.
lspci -v -n on a SuSe install tells me:
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Subsystem: Intel Corporation Device [8086:0001]
Flags: bus master, fast devsel, latency 0, IRQ 220
I/O ports at 2000 Memory at 88200000 (64-bit, non-prefetchable)
Memory at 88000000 (64-bit, prefetchable)
Expansion ROM at 88020000 [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [ac] MSI-X: Enable- Mask- TabSize=2
Capabilities: [cc] Vital Product Data
Kernel driver in use: r8169
Kernel modules: r8169It seems SuSe loads another kernel module, with mixed results. 8 out of 10 reboots the nic stay dead. Switching from manual IP to dhcp only results in the dhcp request being backgrounded (and eventually resulting in no IP being received). Not that superb if you'r thinking of using the Atom board as a router/home server. Unfortunately I had to reinstate my old Epia M10K as a router and stuck an Intel 1000GT in the one PCI Slot on the D945GCLF. After that the RTL nic get's properly activated as well (receives an IP through dhcp) and is willing to work. If I removed the Intel nic, I am back at the lottery.
I have emailed RealTek about the problems but so far little good advise (.. update linux driver) or maintaining a dual boot with XP and enable WOL from the windows driver (not an option for a linux only server).
Even though the replies have been rather gloomy I do hope for a driver update with normal support for the 8101/2E so I can eclaim the Gbit nic from the Atom box.