This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DM8168 PCIE转千兆以太网的问题



我用的是官方的EVM板,我的SW5的设置是off ,也就是拨码开关都设置为靠近PCIE插座。在这种设置下,当我插了PCIE网卡(x1),上电串口竟然无反应,此PCIE网卡我已经在PC机上测试过了,可以使用。以下是我不插PCIE网卡的时候串口打印信息。

Linux version 2.6.37 (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #21 Mon May 6 11:39:25 CST 2013
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ti8168evm
reserved size = 52428800 at 0x0
FB: Reserving 52428800 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8168 2.0
On node 0 totalpages: 80384
free_area_init_node: node 0, pgdat c0590158, node_mem_map c05cc000
  Normal zone: 728 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 79656 pages, LIFO batch:15
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 79656
Kernel command line: console=ttyO2,115200n8 rootwait root=/dev/sda1 rw mem=364M@0x80000000 324M@0x9F900000 notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 314MB = 314MB total
Memory: 312248k/312248k available, 60488k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xd7000000 - 0xf8000000   ( 528 MB)
    lowmem  : 0xc0000000 - 0xd6c00000   ( 364 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc003d000   ( 212 kB)
      .text : 0xc003d000 - 0xc0546000   (5156 kB)
      .data : 0xc0546000 - 0xc0591b40   ( 303 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:407
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
GPMC revision 6.0
Trying to install interrupt handler for IRQ400
Trying to install interrupt handler for IRQ401
Trying to install interrupt handler for IRQ402
Trying to install interrupt handler for IRQ403
Trying to install interrupt handler for IRQ404
Trying to install interrupt handler for IRQ405
Trying to install interrupt handler for IRQ406
Trying to install type control for IRQ407
Trying to set irq flags for IRQ407
OMAP clockevent source: GPTIMER1 at 27000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
omap_voltage_early_init: voltage driver support not added
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
omap_voltage_add_dev: VDD specified does not exist!
OMAP GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
NOR: Can't request GPMC CS
registered ti816x_gpio_vr device
registered ti816x_sr device
clk get on i2c3 fck failed
_omap_mux_get_by_name: Could not find signal dcan0_tx.dcan0_tx
_omap_mux_get_by_name: Could not find signal dcan0_rx.dcan0_rx
pm_dbg_init: only OMAP3 supported
registered ti81xx_vpss device
registered ti81xx_vidout device
registered ti81xx on-chip HDMI device
registered ti81xx_fb device
registered ti81xx_vin device
ti81xx_pcie: Invoking PCI BIOS...
ti81xx_pcie: Setting up Host Controller...
ti81xx_pcie: Register base mapped @0xd7020000
ti81xx_pcie: Setting outbound translation for 0x20000000-0x2fffffff
ti81xx_pcie: Starting PCI scan...
pci_bus 0000:00: scanning bus
ti81xx_pcie: Reading config[0] for device 0000:00:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:01:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:02:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:03:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:04:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:05:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:06:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:07:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:08:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:09:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0a:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0b:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0c:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0d:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0e:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:0f:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:10:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:11:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:12:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:13:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:14:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:15:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:16:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:17:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:18:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:19:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1a:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1b:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1c:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1d:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1e:00..
failed. No link/device.
ti81xx_pcie: Reading config[0] for device 0000:1f:00..
failed. No link/device.
pci_bus 0000:00: fixups for bus
PCI: bus0: Fast back to back transfers enabled
pci_bus 0000:00: bus scan returning with max=00
pci_bus 0000:00: resource 0 [mem 0x20000000-0x2fffffff]
pci_bus 0000:00: resource 1 [io  0x40000000-0x402fffff]
bio: create slab <bio-0> at 0
regulator: VFB: 800 <--> 1025 mV at 1010 mV
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
USBSS revision 4ea20809
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource gp timer
musb-hdrc: version 6.0, host, debug=0
musb-hdrc musb-hdrc.0: dma type: dma-cppi41
MUSB controller-0 revision 4ea20800
TxFifo Empty intr disabled
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
musb-hdrc musb-hdrc.0: MUSB HDRC host driver
musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
usb usb1: SerialNumber: musb-hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc.0: USB Host mode controller at d701e000 using DMA, IRQ 18
Registered /proc/driver/musb_hdrc.0
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
MUSB controller-1 revision 4ea20800
TxFifo Empty intr disabled
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb-hdrc musb-hdrc.1: USB Host mode controller at d7026800 using DMA, IRQ 19
Registered /proc/driver/musb_hdrc.1
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PCI: CLS 0 bytes, default 64
NetWinder Floating Point Emulator V0.97 (double precision)
PMU: registered new PMU device of type 0
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: sys registered
JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
msgmni has been set to 609
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
ti81xx_pcie_ep: No TI81xx PCIe EP [0xb800] found
ti81xx_pcie_ep: No TI81xx PCIe EP [0xb801] found
ti81xx_pcie_ep: No TI81xx PCIe EP found.
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
console [ttyO2] enabled
brd: module loaded
loop: module loaded
ahci ahci.0: forcing PORTS_IMPL to 0x3
ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
scsi1 : ahci_platform
ata1: SATA max UDMA/133 irq_stat 0x00400040, connection status changed irq 16
ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
m25p80 spi1.0: found w25q32, expected m25p80
m25p80 spi1.0: w25q32 (4096 Kbytes)
Creating 4 MTD partitions on "spi_flash":
0x000000000000-0x000000040000 : "U-Boot"
0x000000040000-0x000000042000 : "U-Boot Env"
0x000000042000-0x0000002c2000 : "Kernel"
0x0000002c2000-0x000000400000 : "File System"
omap2-nand driver initializing
ONFI flash detected
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
Creating 5 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000260000 : "U-Boot"
0x000000260000-0x000000280000 : "U-Boot Env"
0x000000280000-0x0000006c0000 : "Kernel"
0x0000006c0000-0x00000cee0000 : "File System"
0x00000cee0000-0x000010000000 : "Reserved"
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fffffff9
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver smsc95xx
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
uhci_hcd: USB Universal Host Controller Interface driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
usb 1-1: new full speed USB device using musb-hdrc and address 2
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.0.0)
OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
usbcore: registered new interface driver snd-usb-audio
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Power Management for TI81XX.
smartreflex smartreflex: Driver initialized
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
ata2: SATA link down (SStatus 0 SControl 300)
mmc0: new high speed SD card at address cffe
mmcblk0: mmc0:cffe SD02G 1.83 GiB
usb 1-1: New USB device found, idVendor=05e3, idProduct=0606
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: USB Hub 2.0
usb 1-1: Manufacturer: ALCOR
 mmcblk0: p1 p2 p3
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.2: new low speed USB device using musb-hdrc and address 3
usb 1-1.2: New USB device found, idVendor=0425, idProduct=0001
usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-1.2: Product:  USB OPTICAL MOUSE
input:  USB OPTICAL MOUSE as /devices/platform/omap/ti81xx-usbss/musb-hdrc.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input0
generic-usb 0003:0425:0001.0001: input: USB HID v1.11 Mouse [ USB OPTICAL MOUSE] on usb-musb-hdrc.0-1.2/input0
ata1: link is slow to respond, please be patient (ready=0)
ata1: softreset failed (device not ready)
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-8: Hitachi HTS545032B9A300, PB3OC64G, max UDMA/133
ata1.00: 625142448 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTS54503 PB3O PQ: 0 ANSI: 5
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320 GB/298 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
EXT3-fs: barriers not enabled
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sda1): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs (sda1): using internal journal
EXT3-fs (sda1): recovery complete
EXT3-fs (sda1): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 8:1.
devtmpfs: mounted
Freeing init memory: 212K
udevd (90): /proc/90/oom_adj is deprecated, please use /proc/90/oom_score_adj instead.
udev: starting version 141
minix: disagrees about version of symbol module_layout
minix: disagrees about version of symbol module_layout
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev mmcblk0.
EXT3-fs (mmcblk0): error: can't find ext3 filesystem on dev mmcblk0.
EXT2-fs (mmcblk0): error: can't find an ext2 filesystem on dev mmcblk0.
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev mmcblk0.
NET: Registered protocol family 10
ISOFS: Unable to identify CD-ROM format.
EXT3-fs: barriers not enabled
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sda3): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs: barriers not enabled
EXT3-fs (sda3): using internal journal
EXT3-fs (sda3): recovery complete
EXT3-fs (sda3): mounted filesystem with writeback data mode
kjournald starting.  Commit interval 5 seconds
EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs (sda2): using internal journal
EXT3-fs (sda2): recovery complete
EXT3-fs (sda2): mounted filesystem with writeback data mode
EXT3-fs: barriers not enabled
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f014)
ADDRCONF(NETDEV_UP): eth0: link is not ready
net eth0: DaVinci EMAC: ioctl not supported
net eth0: DaVinci EMAC: ioctl not supported
net eth1: DaVinci EMAC: ioctl not supported
SysLink version : 2.10.03.20
SysLink module created on Date:Apr 29 2012 Time:20:45:11
PHY: 0:01 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
HDMI W1 rev 2.0
hdmi: Enter HDMI_W1_StopVideoFrame()
found best resolution: 1680x1050 (31)
Extension block present db 2 23
84
Extension block present db 1 23
84
Extension block present db 3 23
84
Extension block present db 3 23
84
Extension block present db 3 23
84
hdmi: Enter HDMI_W1_GlobalInitVars()
hdmi: Enter HDMI_Core_GlobalInitVars()
hdmi: Enter HDMI_W1_ConfigVideoResolutionTiming()
hdmi: Enter HDMI_W1_ConfigVideoInterface()
hdmi: HDMI_WP_AUDIO_CFG = 0x1030006
hdmi: HDMI_WP_AUDIO_CFG2 = 0x20c0
hdmi: HDMI_WP_AUDIO_CTRL = 0x20
hdmi: Enter DSS_HDMI_CORE_SW_RESET_ASSERT ()
hdmi: Enter DSS_HDMI_CORE_POWER_DOWN_DISABLE()
hdmi: Enter DSS_HDMI_CORE_SW_RESET_RELEASE()
hdmi: Enter HDMI_W1_StartVideoFrame  ()
hdmi: Irqenable 60000011
hdmi: 40 hpd
hdmi: -------------DEBUG-------------------
hdmi: 1 hdmi_wp_irqstatus
hdmi: 1 hdmi_core_intr_state
hdmi: 60 hdmi_core_intr1
hdmi: 3 hdmi_core_intr2
hdmi: f hdmi_core_intr3
hdmi: 87 hdmi_core_sys_sys_stat
hdmi: -------------DEBUG-------------------
hdmi: first hpd
net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=282f014)
ADDRCONF(NETDEV_UP): eth1: link is not ready
PHY: 0:02 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth0: no IPv6 routers present
eth1: no IPv6 routers present
root@luhao:~#


求助...我的PCIE网卡是RTL8111C的。

  • 目前的情况是我的SW5的设置是off ,也就是拨码开关都设置为靠近PCIE插座。在这种设置下,当我插了PCIE网卡(x1),上电串口无反应,我的系统起不来,按照E2E上老外给的说法,当我连接PCIE网卡设备的时候,SW5应该就是这样设置的。

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/106374.aspx

    OFF is towards the PCIe slot, that is farther to R195. The switch bank has written "ON" (small font) on it on the opposite side.

    我的PCIE网卡在PC机上测试过的,可以用。

  • 你好,

       由于DM8168不支持PCIE设备的热插拔,而设置SW5为OFF的目的在于,保证EP设备优先于RC设备启动,使用EP设备的复位信号通过SLOT的A11来复位RC设备。

        当你的网卡插PCIE slot的时候,你看一下,是否是A11脚的电平不正常,这样导致了DM8168一直处于复位状态,无法正常启动。

        同时查一下,你的PCIE X1网卡是否用到了B10 3.3VAUX这个pin脚供电,在EVM上,这个脚是悬空的。

       

  • 我给B11飞了一个3.3V供电,现在PCIE网卡能识别到了,也驱动起来了,可以给ethX来配置ip,但是ping不通,暂时不清楚原因,驱动我用的是官方下载的驱动。明天打算用官方推荐的BCM5751测试一下。

    同时问一个问题,板子上的PCIE2X是不是可以扩两路千兆以太网?

  • 不行,只能支持一路PCIE2X或者一路PCIE1X。

  • 好的,谢谢louis,我买的BCM5751明天会到公司进行测试,到时候通了我会再回复一下的。

  • http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_PCI_Express_Root_Complex_Driver_User_Guide#Taking_care_of_PERSTn

    按照官方推荐的,我使用了BCM5751,可是还不能工作。求助。以下是相关log:

    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xd7020000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers disabled
    PCI: bus1: Fast back to back transfers disabled
    pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pref]
    pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x2000ffff 64bit]
    pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x2000ffff 64bit] (PCI address [0x20000000-0x2000ffff])
    pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pref]
    pci 0000:00:00.0: PCI bridge to [bus 01-01]
    pci 0000:00:00.0: bridge window [io disabled]
    pci 0000:00:00.0: bridge window [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0: bridge window [mem 0x20100000-0x201fffff pref]
    PCI: enabling device 0000:00:00.0 (0140 -> 0143)
    bio: create slab <bio-0> at 0

    regulator: VFB: 800 <--> 1025 mV at 1010 mV
    vgaarb: loaded
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    USBSS revision 4ea20809
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb1: SerialNumber: musb-hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.0: USB Host mode controller at d701e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: MUSB HDRC host driver
    usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb2: SerialNumber: musb-hdrc.1
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at d7026800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    TCP: Hash tables configured (established 16384 bind 16384)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
    msgmni has been set to 609
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    console [ttyO2] enabled
    brd: module loaded
    loop: module loaded
    ahci ahci.0: forcing PORTS_IMPL to 0x3
    ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
    ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc
    scsi0 : ahci_platform
    scsi1 : ahci_platform
    ata1: SATA max UDMA/133 irq_stat 0x00400040, connection status changed irq 16
    ata2: SATA max UDMA/133 irq_stat 0x00400040, connection status changed irq 16
    m25p80 spi1.0: found w25q32, expected m25p80
    m25p80 spi1.0: w25q32 (4096 Kbytes)
    Creating 4 MTD partitions on "spi_flash":
    0x000000000000-0x000000040000 : "U-Boot"
    0x000000040000-0x000000042000 : "U-Boot Env"
    0x000000042000-0x0000002c2000 : "Kernel"
    0x0000002c2000-0x000000400000 : "File System"
    omap2-nand driver initializing
    NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
    Creating 5 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x00000cee0000 : "File System"
    0x00000cee0000-0x000010000000 : "Reserved"
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffff9
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
    davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown
    e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2
    e1000e: Copyright (c) 1999 - 2010 Intel Corporation.
    tg3.c:v3.115 (October 14, 2010)
    PCI: enabling device 0000:01:00.0 (0140 -> 0142)
    usb 1-1: new full speed USB device using musb-hdrc and address 2
    tg3 0000:01:00.0: eth0: Tigon3 [partno(BCM95751A519) rev 4101] (PCI Express) MAC address 00:10:18:24:41:ac
    tg3 0000:01:00.0: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
    tg3 0000:01:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
    tg3 0000:01:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver smsc95xx
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    uhci_hcd: USB Universal Host Controller Interface driver
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage

    Configuring network interfaces... ADDRCONF(NETDEV_UP): eth0: link is not ready
    eth0 no wireless extensions.

    /bin/sh: udhcpc: not found
    done.
    Setting up IP spoofing protection: rp_filter.
    Thu May 9 15:54:00 CST 2013
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting Hardware abstraction layer hald
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    Starting network benchmark server: netserver.
    Starting syslogd/klogd: done
    tg3 0000:01:00.0: eth0: Link is up at 100 Mbps, full duplex
    tg3 0000:01:00.0: eth0: Flow control is on for TX and on for RX
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    我lspci -v ,如下信息打印:

    00:00.0 Class 0604: Device 104c:b800 (rev 01)
    Flags: bus master, fast devsel, latency 0
    Memory at <ignored> (32-bit, non-prefetchable)
    Memory at <ignored> (32-bit, prefetchable)
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    Memory behind bridge: 20000000-200fffff
    Prefetchable memory behind bridge: 20100000-201fffff
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Root Port (Slot-), MSI 00
    Capabilities: [100] Advanced Error Reporting

    01:00.0 Class 0200: Device 14e4:1677 (rev 11)
    Subsystem: Device 14e4:1677
    Flags: bus master, fast devsel, latency 0, IRQ 48
    Memory at 20000000 (64-bit, non-prefetchable) [size=64K]
    Expansion ROM at 20100000 [disabled] [size=64K]
    Capabilities: [48] Power Management version 2
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Enable- Count=1/8 Maskable- 64bit+
    Capabilities: [d0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel <?>
    Kernel driver in use: tg3

    配置IP,但是ping不通,已经排除网线的问题。

  • 你好,

      打印一下:lspci -v 的信息,检查一下是不是有类似下面的打印:

        Memory at <ignored> (32-bit, prefetchable)
         Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
         Memory behind bridge: 20000000-200fffff
         Capabilities: [40] Power Management version 3
         Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
         Capabilities: [70] Express Root Port (Slot-), MSI 00
         Capabilities: [100] Advanced Error Reporting
    01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express
         Subsystem: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express
         Flags: fast devsel, IRQ 48
         Memory at 20000000 (64-bit, non-prefetchable) [disabled] [size=64K]
         Capabilities: [48] Power Management version 2
         Capabilities: [50] Vital Product Data
         Capabilities: [58] MSI: Enable- Count=1/8 Maskable- 64bit+
         Capabilities: [d0] Express Endpoint, MSI 00
         Capabilities: [100] Advanced Error Reporting
         Capabilities: [13c] Virtual Channel

  • 从log信息来看,PCIe 网卡BCM5751已经找到,并且网络link已经建立。PCIe应该没有什么问题,问题应该在网络驱动和使用方面。

    网络连接使用dhcp还是静态IP?从log信息看dhcp应该不能工作。你的网络是怎么配置的?

     

    /bin/sh: udhcpc: not found

     

    01:00.0 Class 0200: Device 14e4:1677 (rev 11)

    ……..

     

    tg3 0000:01:00.0: eth0: Link is up at 100 Mbps, full duplex

    tg3 0000:01:00.0: eth0: Flow control is on for TX and on for RX

    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

  • 我工作的时候是设置的静态的IP。 dhcp其实是可以使用的,只是我把udhcpc这个命令去掉了,所以log里面有这么一句/bin/sh: udhcpc: not found。

    我也还疑过是驱动的问题,所以我另外尝试了RTL8111C和INTEL82574这两款PCIE 网卡,情况基本是一样的,我觉得不大可能是三家公司的驱动同时有问题。

    TI的原理图上,wake脚没有接,我不清楚这个会不会带来大的影响?我看了几个其他平台的PCIE包括笔记本的,都是接了的。

  • root@luhao:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes: 10baseT/Half 10baseT/Full 
    100baseT/Half 100baseT/Full 
    1000baseT/Half 1000baseT/Full 
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full 
    100baseT/Half 100baseT/Full 
    1000baseT/Half 1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Supports Wake-on: g
    Wake-on: g
    Current message level: 0x000000ff (255)
    drv probe link timer ifdown ifup rx_err tx_err
    Link detected: yes
    root@luhao:~#

    这是ethtools 检测到了的eth0的相关信息,eth0是BCM5751

    root@luhao:~# ifconfig -a
    eth0 Link encap:Ethernet HWaddr 00:10:18:0B:3B:76 
    inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::210:18ff:fe0b:3b76/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1307 errors:0 dropped:1759 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000 
    RX bytes:137257 (134.0 KiB) TX bytes:321920 (314.3 KiB)
    Interrupt:48

    lo Link encap:Local Loopback 
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:3 errors:0 dropped:0 overruns:0 frame:0
    TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0 
    RX bytes:336 (336.0 B) TX bytes:336 (336.0 B)

    谢谢Dong Yang的回复,这是我提供的进一步的信息。

  • root@luhao:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:10:18:24:40:0C
    inet addr:193.168.252.10 Bcast:193.168.252.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:538053 errors:0 dropped:538017 overruns:0 frame:1
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:689363584 (657.4 MiB) TX bytes:0 (0.0 B)
    Interrupt:48

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:15 errors:0 dropped:0 overruns:0 frame:0
    TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:1680 (1.6 KiB) TX bytes:1680 (1.6 KiB)

    root@luhao:~# ping 193.168.252.11
    PING 193.168.252.11 (193.168.252.11): 56 data bytes

    这里ping同一网段的193.168.252.11就ping不通,我也尝试换过网线,还有板子电脑直连,或者通过交换机等,都行不通。

  • 包括SW5的设置,无论是on还是off都尝试过了。

    包括这一段

    Controlling PERSTn Using I2C Writes
    Note that this description assumes the above mentioned EVM modification is already done.
    As mentioned earlier, the PERSTn line on the A11 pin of PCIe slot on the EVM can be toggled by controlling I2C0
    writes to IOEXPANDER port 14. This corresponds to performing i2c writes to address 0x20 bit 12.
    • Setting this bit to 1 makes PERSTn pin high (EP reset de-asserted).
    • Setting this bit to 0 means PERSTn pin low (reset asserted) and EP will remain in reset.
    As an example, following commands at U-Boot prompt will toggle reset to EP during boot:
    TI8168_EVM# i2c mw 0x20 ff ef <--- Set bit 12 to 0 to assert PERSTn (default is 1, de-asserted)
    TI8168_EVM# i2c mw 0x20 ff ff <--- Set bit 12 to 1 to de-assert PERSTn and get EP out of reset
    The above sequence can be set as part of U-Boot's bootcmd as shown below to ensure it is executed on every reset
    and before booting the kernel (assuming kernel is flashed in NAND @0x280000 offset):
    TI8168_EVM# setenv bootcmd 'i2c mw 0x20 ff ef; i2c mw 0x20 ff ff; nand read.i 81000000 280000 500000; bootm 81000000'
    TI8168_EVM# saveenv
    This sequence can also be added to Kernel board file to perform similar i2c writes at boot up.

    能尝试的都尝试了。

    Dong Yang 谢谢你对这个帖子的关注。

    不知道TI能否在DM8168平台上对

    TI81XX PCI Express Root Complex Driver User
    Guide

    这篇手册上针对BCM5751的例子再做一次测试,是否能够在寻找网网卡设备的情况下,进一步ping通,


  • Louis你好,我有进一步测试,我像eth0发送原始包,发现可以接受到数据,RX bytes:689363584 (657.4 MiB)。

    root@luhao:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:10:18:24:40:0C 
    inet addr:193.168.252.10 Bcast:193.168.252.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:538053 errors:0 dropped:538017 overruns:0 frame:1
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000 
    RX bytes:689363584 (657.4 MiB) TX bytes:0 (0.0 B)
    Interrupt:48


    但就是不支持协议栈收发。

  • 你好,

    请问你使用的NetXtreme BCM5751 Gigabit Ethernet PCI Express 是GEN1 speeds with x1 link,并且版本是(rev 01)么?

    下面是TI使用该网卡时候的测试数据。 

     http://processors.wiki.ti.com/index.php/TI81XX_PSP_04.04.00.02_Feature_Performance_Guide#Performance_and_Benchmarks_6

  • 这个rev 01 好像片子上看不出来啊,是这样的,我一共买了3款BCM5751的网卡,其中一款是博通原装的,另外两个是国内厂家生产的,目前的一个结果都是一样的,设备可以识别到,就是ping不通,我也好郁闷。

  • root@luhao:/luhao/5.05# lspci -v
    00:00.0 Class 0604: Device 104c:b800 (rev 01)
    Flags: bus master, fast devsel, latency 0
    Memory at <ignored> (32-bit, non-prefetchable)
    Memory at <ignored> (32-bit, prefetchable)
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    Memory behind bridge: 20000000-200fffff
    Prefetchable memory behind bridge: 20100000-201fffff
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Root Port (Slot-), MSI 00
    Capabilities: [100] Advanced Error Reporting

    01:00.0 Class 0200: Device 10ec:8168 (rev 02)
    Subsystem: Device 10ec:8168
    Flags: bus master, fast devsel, latency 0, IRQ 368
    I/O ports at <unassigned> [disabled]
    Memory at 20000000 (64-bit, non-prefetchable) [size=4K]
    Memory at 20120000 (64-bit, prefetchable) [size=64K]
    [virtual] Expansion ROM at 20100000 [disabled] [size=128K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Endpoint, MSI 01
    Capabilities: [b0] MSI-X: Enable- Count=2 Masked-
    Capabilities: [d0] Vital Product Data
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Virtual Channel <?>
    Capabilities: [160] Device Serial Number 00-00-00-00-68-4c-e0-00
    Kernel driver in use: r8168

    这是我使用rtl8111c PCIE网卡的信息。依然是ping不通。

  • 从你的打印信息上看,RTL8111C并没有在PCI Scan中扫描到,你用的是TI的EVM么?请在PCI SCAN的时候把LTSSM寄存器打印一下。

  • Louis 你好,

    RTL8111C已经初始化并加载成功,你可以看到这句01:00.0 Class 0200: Device 10ec:8168,Kernel driver in use: r8168 .realtek 8111X系列网卡使用的是RTL8168的驱动,所以这里显示是8168,实际上这是我插的RTL8111C。

    系统启动的时候,有这些log:

    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xd7020000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers disabled
    PCI: bus1: Fast back to back transfers disabled
    pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pref]
    pci 0000:00:00.0: BAR 7: can't assign io (size 0x1000)
    pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2011ffff pref]
    pci 0000:01:00.0: BAR 4: assigned [mem 0x20120000-0x2012ffff 64bit pref]
    pci 0000:01:00.0: BAR 4: set to [mem 0x20120000-0x2012ffff 64bit pref] (PCI address [0x20120000-0x2012ffff])
    pci 0000:01:00.0: BAR 2: assigned [mem 0x20000000-0x20000fff 64bit]
    pci 0000:01:00.0: BAR 2: set to [mem 0x20000000-0x20000fff 64bit] (PCI address [0x20000000-0x20000fff])
    pci 0000:01:00.0: BAR 0: can't assign io (size 0x100)
    pci 0000:00:00.0: PCI bridge to [bus 01-01]
    pci 0000:00:00.0: bridge window [io disabled]
    pci 0000:00:00.0: bridge window [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0: bridge window [mem 0x20100000-0x201fffff pref]
    PCI: enabling device 0000:00:00.0 (0140 -> 0143)

    r8168 Gigabit Ethernet driver 8.035.00 loaded
    PCI: enabling device 0000:01:00.0 (0140 -> 0142)
    eth%d: RTL8168C/8111C at 0xd708a000, 00:e0:4c:a2:06:a1, IRQ 368
    r8168: This product is covered by one or more of the following patents: US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
    r8168 Copyright (C) 2012 Realtek NIC software team <nicfae@realtek.com>
    This program comes with ABSOLUTELY NO WARRANTY; for details, please see <http://www.gnu.org/licenses/>.
    This is free software, and you are welcome to redistribute it under certain conditions; see <http://www.gnu.org/licenses/>.

    ALSA: Restoring mixer settings...
    Configuring network interfaces... r8168: eth0: link down
    eth0 no wireless extensions.

    udhcpc (v1.13.2) started
    Sending discover...
    r8168: eth0: link up
    r8168: eth0: link up
    Sending discover...
    Sending discover...
    No lease, forking to background
    done.
    Setting up IP spoofing protection: rp_filter.

    这里的eth0就是我的RTL8111c

    root@luhao:~# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:E0:4C:A2:06:A1
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:234 (234.0 B) TX bytes:0 (0.0 B)
    Interrupt:112 Base address:0xa000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    root@luhao:~#

    从这两句eth%d: RTL8168C/8111C at 0xd708a000, 00:e0:4c:a2:06:a1, IRQ 368

    eth0 Link encap:Ethernet HWaddr 00:E0:4C:A2:06:A1

    MAC地址可以看到,我的eth0的确就是RTL8111C。

  • louis你好,最近有一些进展,以下是 我最近做的测试:

    首先看下我的系统启动log:
    Running bootscript from MMC/SD to set the ENV...
    ## Executing script at 80900000
    reading ti_logo.bmp
    151674 bytes read
    reading uImage
    2863856 bytes read
    ## Booting kernel from Legacy Image at 80009000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2863792 Bytes = 2.7 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    Starting kernel ...
    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37 (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #37 Thu May 16 17:04:18 CST 2013
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8168evm
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8168 2.0
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 79656
    Kernel command line: console=ttyO2,115200n8 rootwait root=/dev/sda4 rw mem=364M@0x80000000 324M@0x9F900000 notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd
    PID hash table entries: 2048 (order: 1, 8192 bytes)
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 314MB = 314MB total
    Memory: 312028k/312028k available, 60708k reserved, 0K highmem
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
        vmalloc : 0xd7000000 - 0xf8000000   ( 528 MB)
        lowmem  : 0xc0000000 - 0xd6c00000   ( 364 MB)
        pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
        modules : 0xbf000000 - 0xbfe00000   (  14 MB)
          .init : 0xc0008000 - 0xc003d000   ( 212 kB)
          .text : 0xc003d000 - 0xc057c000   (5372 kB)
          .data : 0xc057c000 - 0xc05c88c0   ( 307 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:407
    IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    Total of 128 interrupts on 1 active controller
    GPMC revision 6.0
    Trying to install interrupt handler for IRQ400
    Trying to install interrupt handler for IRQ401
    Trying to install interrupt handler for IRQ402
    Trying to install interrupt handler for IRQ403
    Trying to install interrupt handler for IRQ404
    Trying to install interrupt handler for IRQ405
    Trying to install interrupt handler for IRQ406
    Trying to install type control for IRQ407
    Trying to set irq flags for IRQ407
    OMAP clockevent source: GPTIMER1 at 27000000 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    omap_voltage_early_init: voltage driver support not added
    regulator: core version 0.5
    regulator: dummy:
    NET: Registered protocol family 16
    omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    omap_voltage_add_dev: VDD specified does not exist!
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    omap_mux_init: Add partition: #1: core, flags: 0
    _omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl
    _omap_mux_get_by_name: Could not find signal i2c2_sda.i2c2_sda
    NOR: Can't request GPMC CS
    registered ti816x_gpio_vr device
    registered ti816x_sr device
    clk get on i2c3 fck failed
    _omap_mux_get_by_name: Could not find signal dcan0_tx.dcan0_tx
    _omap_mux_get_by_name: Could not find signal dcan0_rx.dcan0_rx
    pm_dbg_init: only OMAP3 supported
    registered ti81xx_vpss device
    registered ti81xx_vidout device
    registered ti81xx on-chip HDMI device
    registered ti81xx_fb device
    registered ti81xx_vin device
    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xd7020000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers disabled
    PCI: bus1: Fast back to back transfers disabled
    pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
    pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x2000ffff 64bit]
    pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x2000ffff 64bit] (PCI address [0x20000000-0x2000ffff])
    pci 0000:00:00.0: PCI bridge to [bus 01-01]
    pci 0000:00:00.0:   bridge window [io  disabled]
    pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0:   bridge window [mem pref disabled]
    PCI: enabling device 0000:00:00.0 (0140 -> 0143)
    bio: create slab <bio-0> at 0
    regulator: VFB: 800 <--> 1025 mV at 1010 mV
    vgaarb: loaded
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    USBSS revision 4ea20809
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb1: SerialNumber: musb-hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.0: USB Host mode controller at d701e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: MUSB HDRC host driver
    usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb2: SerialNumber: musb-hdrc.1
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at d7026800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    TCP: Hash tables configured (established 16384 bind 16384)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
    msgmni has been set to 609
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    console [ttyO2] enabled
    brd: module loaded
    loop: module loaded
    ahci ahci.0: forcing PORTS_IMPL to 0x3
    ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode
    ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc
    scsi0 : ahci_platform
    scsi1 : ahci_platform
    ata1: SATA max UDMA/133 irq_stat 0x00400040, connection status changed irq 16
    ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16
    m25p80 spi1.0: found w25q32, expected m25p80
    m25p80 spi1.0: w25q32 (4096 Kbytes)
    Creating 4 MTD partitions on "spi_flash":
    0x000000000000-0x000000040000 : "U-Boot"
    0x000000040000-0x000000042000 : "U-Boot Env"
    0x000000042000-0x0000002c2000 : "Kernel"
    0x0000002c2000-0x000000400000 : "File System"
    omap2-nand driver initializing
    NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
    Creating 5 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x00000cee0000 : "File System"
    0x00000cee0000-0x000010000000 : "Reserved"
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffff9
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
    davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown
    e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2
    e1000e: Copyright (c) 1999 - 2010 Intel Corporation.
    tg3.c:v3.110 (April 9, 2010)
    PCI: enabling device 0000:01:00.0 (0140 -> 0142)
    usb 2-1: new full speed USB device using musb-hdrc and address 2
    tg3 0000:01:00.0: eth0: Tigon3 [partno(BCM95751A519) rev 4001] (PCI Express) MAC address 00:10:18:0b:3b:76
    tg3 0000:01:00.0: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
    tg3 0000:01:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
    tg3 0000:01:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver smsc95xx
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    uhci_hcd: USB Universal Host Controller Interface driver
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    mice: PS/2 mouse device common for all mice
    ata2: SATA link down (SStatus 0 SControl 300)
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (v1.0.0)
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    notify_init : notify drivercreated  for  remote proc id 2 at physical Address 0xbf900000
    usbcore: registered new interface driver snd-usb-audio
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
    ALSA device list:
      #0: TI81XX EVM
    TCP cubic registered
    NET: Registered protocol family 17
    VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    omap_voltage_late_init: Voltage driver support not added
    Power Management for TI81XX.
    smartreflex smartreflex: Driver initialized
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    usb 2-1: New USB device found, idVendor=05e3, idProduct=0606
    usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 2-1: Product: USB Hub 2.0
    usb 2-1: Manufacturer: ALCOR
    hub 2-1:1.0: USB hub found
    hub 2-1:1.0: 4 ports detected
    mmc0: new high speed SD card at address cffe
    mmcblk0: mmc0:cffe SD02G 1.83 GiB
     mmcblk0: p1 p2 p3
    usb 2-1.3: new low speed USB device using musb-hdrc and address 3
    usb 2-1.3: New USB device found, idVendor=0425, idProduct=0001
    usb 2-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    usb 2-1.3: Product:  USB OPTICAL MOUSE
    input:  USB OPTICAL MOUSE as /devices/platform/omap/ti81xx-usbss/musb-hdrc.1/usb2/2-1/2-1.3/2-1.3:1.0/input/input0
    generic-usb 0003:0425:0001.0001: input: USB HID v1.11 Mouse [ USB OPTICAL MOUSE] on usb-musb-hdrc.1-1.3/input0
    usb 2-1.4: new low speed USB device using musb-hdrc and address 4
    usb 2-1.4: New USB device found, idVendor=04d9, idProduct=1702
    usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 2-1.4: Product: USB Keyboard
    usb 2-1.4: Manufacturer:  
    input:   USB Keyboard as /devices/platform/omap/ti81xx-usbss/musb-hdrc.1/usb2/2-1/2-1.4/2-1.4:1.0/input/input1
    generic-usb 0003:04D9:1702.0002: input: USB HID v1.10 Keyboard [  USB Keyboard] on usb-musb-hdrc.1-1.4/input0
    input:   USB Keyboard as /devices/platform/omap/ti81xx-usbss/musb-hdrc.1/usb2/2-1/2-1.4/2-1.4:1.1/input/input2
    generic-usb 0003:04D9:1702.0003: input: USB HID v1.10 Device [  USB Keyboard] on usb-musb-hdrc.1-1.4/input1
    ata1: link is slow to respond, please be patient (ready=0)
    ata1: softreset failed (device not ready)
    ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    ata1.00: ATA-8: Hitachi HTS545032B9A300, PB3OC64G, max UDMA/133
    ata1.00: 625142448 sectors, multi 0: LBA48 NCQ (depth 31/32)
    ata1.00: configured for UDMA/133
    scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTS54503 PB3O PQ: 0 ANSI: 5
    sd 0:0:0:0: Attached scsi generic sg0 type 0
    sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320 GB/298 GiB)
    sd 0:0:0:0: [sda] Write Protect is off
    sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
     sda: sda1 sda2 sda3 sda4
    sd 0:0:0:0: [sda] Attached SCSI disk
    EXT3-fs: barriers not enabled
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (sda4): warning: maximal mount count reached, running e2fsck is recommended
    EXT3-fs (sda4): using internal journal
    EXT3-fs (sda4): recovery complete
    EXT3-fs (sda4): mounted filesystem with writeback data mode
    VFS: Mounted root (ext3 filesystem) on device 8:4.
    devtmpfs: mounted
    Freeing init memory: 212K
    INIT: version 2.86 booting
    Please wait: booting...
    Error opening /dev/fb0: No such file or directory
    Starting udev
    udevd (90): /proc/90/oom_adj is deprecated, please use /proc/90/oom_score_adj instead.
    udev: starting version 141
    Remounting root file system...
    Caching udev devnodes
    Populating dev cacheminix: disagrees about version of symbol module_layout
    modprobe: FATAL: Error inserting minix (/lib/modules/2.6.37/kernel/fs/minix/minix.ko): Invalid module format
    tar: dev/.udev/db/\x2fdevices\x2fvirtual\x2fblock\x2fram0: No such file or directory
    minix: disagrees about version of symbol module_layout
    modprobe: FATAL: Error inserting minix (/lib/modules/2.6.37/kernel/fs/minix/minix.ko): Invalid module format
    FAT: bogus number of reserved sectors
    VFS: Can't find a valid FAT filesystem on dev mmcblk0.
    EXT3-fs (mmcblk0): error: can't find ext3 filesystem on dev mmcblk0.
    EXT2-fs (mmcblk0): error: can't find an ext2 filesystem on dev mmcblk0.
    FAT: bogus number of reserved sectors
    VFS: Can't find a valid FAT filesystem on dev mmcblk0.
    ISOFS: Unable to identify CD-ROM format.
    tar: error exit delayed from previous errors
    mv: cannot rename '/tmp/devices': No such file or directory
    EXT3-fs: barriers not enabled
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (sda3): warning: maximal mount count reached, running e2fsck is recommended
    EXT3-fs (sda3): using internal journal
    EXT3-fs (sda3): recovery complete
    EXT3-fs (sda3): mounted filesystem with writeback data mode
    EXT3-fs: barriers not enabled
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (sda1): warning: maximal mount count reached, running e2fsck is recommended
    EXT3-fs (sda1): using internal journal
    EXT3-fs (sda1): recovery complete
    EXT3-fs (sda1): mounted filesystem with writeback data mode
    EXT3-fs: barriers not enabled
    EXT3-fs: barriers not enabled
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs (sda2): warning: maximal mount count reached, running e2fsck is recommended
    EXT3-fs (sda2): using internal journal
    EXT3-fs (sda2): recovery complete
    EXT3-fs (sda2): mounted filesystem with writeback data mode
    EXT3-fs (mmcblk0p2): using internal journal
    EXT3-fs (mmcblk0p2): recovery complete
    EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
    ALSA: Restoring mixer settings...
    Configuring network interfaces... eth0      no wireless extensions.
    udhcpc (v1.13.2) started
    Sending discover...
    Sending discover...
    tg3 0000:01:00.0: eth0: Link is up at 100 Mbps, full duplex
    tg3 0000:01:00.0: eth0: Flow control is on for TX and on for RX
    Sending discover...
    No lease, forking to background
    done.
    Setting up IP spoofing protection: rp_filter.
    Tue May 14 18:04:00 CST 2013
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting Hardware abstraction layer hald
    Starting Dropbear SSH server: modprobe: FATAL: Could not read '/lib/modules/2.6.37/kernel/net/ipv6/ipv6.ko': No such file or directory
    modprobe: FATAL: Could not read '/lib/modules/2.6.37/kernel/net/ipv6/ipv6.ko': No such file or directory
    dropbear.
    Starting telnet daemon.
    modprobe: FATAL: Could not read '/lib/modules/2.6.37/kernel/net/ipv6/ipv6.ko': No such file or directory
    Starting network benchmark server: netserver.
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting Lighttpd Web Server: lighttpd.
    2013-05-14 18:04:01: (log.c.166) server started
    /
    /
    Starting Matrix GUI application.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the followin GPLv3 packages:
            binutils-dev
            binutils-symlinks
            binutils
            gdbserver
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also rem
     _____                    _____           _         _  
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    Arago Project http://arago-project.org luhao ttyO2
    Arago 2011.09 luhao ttyO2
    luhao login: root
    这是完整的启动log,我们把PCIE部分信息提取出来看一下:
    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xd7020000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers disabled
    PCI: bus1: Fast back to back transfers disabled
    pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
    pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x2000ffff 64bit]
    pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x2000ffff 64bit] (PCI address [0x20000000-0x2000ffff])
    pci 0000:00:00.0: PCI bridge to [bus 01-01]
    pci 0000:00:00.0:   bridge window [io  disabled]
    pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
    pci 0000:00:00.0:   bridge window [mem pref disabled]
    PCI: enabling device 0000:00:00.0 (0140 -> 0143)
    上面是PCIE初始化,PCI scan扫描相关设备。
    tg3.c:v3.110 (April 9, 2010)
    PCI: enabling device 0000:01:00.0 (0140 -> 0142)
    tg3 0000:01:00.0: eth0: Tigon3 [partno(BCM95751A519) rev 4001] (PCI Express) MAC address 00:10:18:0b:3b:76
    tg3 0000:01:00.0: eth0: attached PHY is 5750 (10/100/1000Base-T Ethernet) (WireSpeed[1])
    tg3 0000:01:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
    tg3 0000:01:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
    这里是我的BCM5751 设备初始化相关信息,使用的是tg3驱动。
    Configuring network interfaces... eth0      no wireless extensions.
    udhcpc (v1.13.2) started
    Sending discover...
    Sending discover...
    tg3 0000:01:00.0: eth0: Link is up at 100 Mbps, full duplex
    tg3 0000:01:00.0: eth0: Flow control is on for TX and on for RX
    Sending discover...
    No lease, forking to background
    done.
    Setting up IP spoofing protection: rp_filter.
    这里我们可以看到,我的eth0就是tg3的节点,也就是我的BCM5751.并且tg3 0000:01:00.0: eth0: Link is up at 100 Mbps, full duplex看到设备已经启动,并且是100M全双工。

    系统启动完成之后。ifconfig -a 看所有eth设备
    root@luhao:~# ifconfig -a
    eth0      Link encap:Ethernet  HWaddr 00:10:18:0B:3B:76  
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3557 errors:0 dropped:6571 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:350352 (342.1 KiB)  TX bytes:655104 (639.7 KiB)
              Interrupt:48
    eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:40 Base address:0x8000
    eth2      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:44 Base address:0x8000
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    其中,eth0 是BMC5751,eth1 eth2是DM8168自带的以太网控制器
    此时我将我的笔记本和DM8168接到同一个工业交换机。并配置DM8168的ip
    eth0      Link encap:Ethernet  HWaddr 00:10:18:0B:3B:76  
              inet addr:193.168.100.110  Bcast:193.168.100.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:4869 errors:0 dropped:9077 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:481742 (470.4 KiB)  TX bytes:896192 (875.1 KiB)
              Interrupt:48
    eth1      Link encap:Ethernet  HWaddr 50:56:63:A8:39:84  
              inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1581 (1.5 KiB)  TX bytes:0 (0.0 B)
              Interrupt:40 Base address:0x8000
    eth2      Link encap:Ethernet  HWaddr 50:56:63:A8:39:85  
              inet addr:192.168.10.110  Bcast:192.168.10.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1581 (1.5 KiB)  TX bytes:0 (0.0 B)
              Interrupt:44 Base address:0x8000
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    以下三句是配置的对于IP,这是不同网段的。
    ifconfig eth0 193.168.100.110
    ifconfig eth1 192.168.1.110
    ifconfig eth2 192.168.10.110
    现在我用PC来ping 对应的DM8168对应的ip
    以下是ping的结果
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.110
    PING 192.168.1.110 (192.168.1.110) 56(84) bytes of data.
    64 bytes from 192.168.1.110: icmp_seq=1 ttl=64 time=2.46 ms
    ^C
    --- 192.168.1.110 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 2.468/2.468/2.468/0.000 ms
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.10.110
    PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
    64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=2.74 ms
    ^C
    --- 192.168.10.110 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 2.746/2.746/2.746/0.000 ms
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 193.168.100.110
    PING 192.168.100.110 (192.168.100.110) 56(84) bytes of data.
    ^C
    --- 192.168.100.110 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2016ms
    由以上可知,此时片上eth1 eth2是可用的。BCM5751的eth0是不可用的。
    现在我再从DM8168ping一下PC:
    root@luhao:~# ping 192.168.1.60
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    64 bytes from 192.168.1.60: seq=0 ttl=64 time=0.548 ms
    64 bytes from 192.168.1.60: seq=1 ttl=64 time=0.516 ms
    --- 192.168.1.60 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.516/0.532/0.548 ms
    root@luhao:~# ping 192.168.10.118
    PING 192.168.10.118 (192.168.10.118): 56 data bytes
    64 bytes from 192.168.10.118: seq=0 ttl=64 time=0.678 ms
    64 bytes from 192.168.10.118: seq=1 ttl=64 time=0.468 ms
    --- 192.168.10.118 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.468/0.573/0.678 ms
    root@luhao:~# ping 193.168.100.60
    PING 193.168.100.60 (193.168.100.60): 56 data bytes
    由以上可知,除eth0之外,都是可ping通的。
    此时,我将eth0的ip设置为与eth1同一个网段,
    root@luhao:~# ifconfig eth0 192.168.1.125
    root@luhao:~# ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:10:18:0B:3B:76  
              inet addr:192.168.1.125  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:8835 errors:0 dropped:16827 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:863294 (843.0 KiB)  TX bytes:1649920 (1.5 MiB)
              Interrupt:48
    此时ip已经变成了192.168.1.125.
    和eth1的192.168.1.110在同一个网段,此时,我用pc来ping一下eth0
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.125
    PING 192.168.1.125 (192.168.1.125) 56(84) bytes of data.
    64 bytes from 192.168.1.125: icmp_seq=1 ttl=64 time=1.91 ms
    64 bytes from 192.168.1.125: icmp_seq=2 ttl=64 time=1.01 ms
    ^C
    --- 192.168.1.125 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 1.015/1.465/1.915/0.450 ms
    由以上可知,此时ping通了。我再尝试从DM8168使用eth0 来ping我的pc
    root@luhao:~# ping 192.168.1.60        
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    64 bytes from 192.168.1.60: seq=0 ttl=64 time=1.424 ms
    64 bytes from 192.168.1.60: seq=1 ttl=64 time=0.533 ms
    64 bytes from 192.168.1.60: seq=2 ttl=64 time=0.303 ms
    --- 192.168.1.60 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.303/0.753/1.424 ms
    看上去是ping通,但是此时,我们并不确定到底是走的eth0还是eth1呢?
    OK。我现在来指定某一个eth来ping我的pc
    root@luhao:~# ping 192.168.1.60 -I eth0
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    由以上可知,当我指定为eth0的时候,就ping不通了,那么我现在来指定eth1试试。
    root@luhao:~# ping 192.168.1.60 -I eth1
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    64 bytes from 192.168.1.60: seq=0 ttl=64 time=0.554 ms
    64 bytes from 192.168.1.60: seq=1 ttl=64 time=0.443 ms
    --- 192.168.1.60 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.443/0.498/0.554 ms
    由以上可知,指定eth1是没问题的。
    此时我再做一个新的实验,我现在拔掉路由器上对应的eth0,也就是插BCM5751的网线。然后再来ping一下eth0和eth1
    结果如下,(当我拔掉eth0网线的时候,串口kog打印出tg3 0000:01:00.0: eth0: Link is down,再一次证明,eth0对应的是TG3,也就是BCM5751)
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.125
    PING 192.168.1.125 (192.168.1.125) 56(84) bytes of data.
    64 bytes from 192.168.1.125: icmp_seq=1 ttl=64 time=1.15 ms
    64 bytes from 192.168.1.125: icmp_seq=2 ttl=64 time=1.06 ms
    64 bytes from 192.168.1.125: icmp_seq=3 ttl=64 time=1.10 ms
    ^C
    --- 192.168.1.125 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 1.069/1.110/1.157/0.036 ms
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.110
    PING 192.168.1.110 (192.168.1.110) 56(84) bytes of data.
    64 bytes from 192.168.1.110: icmp_seq=1 ttl=64 time=1.03 ms
    64 bytes from 192.168.1.110: icmp_seq=2 ttl=64 time=1.24 ms
    64 bytes from 192.168.1.110: icmp_seq=3 ttl=64 time=1.01 ms
    ^C
    --- 192.168.1.110 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2004ms
    rtt min/avg/max/mdev = 1.010/1.097/1.248/0.113 ms
    由以上可知。此时在没有插eth0网线的情况下,我主机可以同时ping通eth0和eth1这两个ip。但需要注意一点,此时eth0和eth1是在同一个网段的。那么我此时将eth0的ip改回去,也就说不再和eth1一个网段
    ifconfig eth0 193.168.100.110
    此时我用pc来ping  eth0的ip
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 193.168.100.110
    PING 193.168.100.110 (193.168.100.110) 56(84) bytes of data.
    ^C
    --- 193.168.100.110 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2015ms
    以上可知,此时ping不通。
    从以上实验来看,感觉我的eth0似乎成了eth1的一个路由节点。
    此时,我用命令来路由一下eth0到eth1
    root@luhao:~# route add -net 193.168.100.0 netmask 255.255.255.0 dev eth1
    然后再尝试用pc  ping  eth0
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 193.168.100.110
    PING 193.168.100.110 (193.168.100.110) 56(84) bytes of data.
    64 bytes from 193.168.100.110: icmp_seq=1 ttl=64 time=4.01 ms
    64 bytes from 193.168.100.110: icmp_seq=2 ttl=64 time=1.06 ms
    ^C
    --- 193.168.100.110 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 1.062/2.538/4.015/1.477 ms
    以上可知,现在ping通了。
    我再从DM8168ping主机,
    root@luhao:~# ping 193.168.100.60
    PING 193.168.100.60 (193.168.100.60): 56 data bytes
    64 bytes from 193.168.100.60: seq=0 ttl=64 time=7.693 ms
    64 bytes from 193.168.100.60: seq=1 ttl=64 time=0.483 ms
    --- 193.168.100.60 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.483/4.088/7.693 ms
    也是通的。
    但是,此时需要注意一点,我并没有插eth0对应的网线!
    此时看一下route
    root@luhao:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    193.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
    193.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
    192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2

    以上是针对BCM5751做的实验,我同时也是用RTL8111C做了一样的实验,结果,也是一样的。
    感谢大家花这么多时间耐心读完。
  • 当我DM8168的Ip配置如下
    root@luhao:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:10:18:0B:3B:76  
              inet addr:192.168.1.112  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:8062 errors:0 dropped:14853 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:802999 (784.1 KiB)  TX bytes:1579264 (1.5 MiB)
              Interrupt:48
    eth1      Link encap:Ethernet  HWaddr 50:56:63:A8:39:84  
              inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:7854 errors:0 dropped:117 overruns:0 frame:0
              TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:752369 (734.7 KiB)  TX bytes:1564 (1.5 KiB)
              Interrupt:40 Base address:0x8000
    eth2      Link encap:Ethernet  HWaddr 50:56:63:A8:39:85  
              inet addr:192.168.10.110  Bcast:192.168.10.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:7852 errors:0 dropped:117 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:751945 (734.3 KiB)  TX bytes:0 (0.0 B)
              Interrupt:44 Base address:0x8000
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:10 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:1008 (1008.0 B)  TX bytes:1008 (1008.0 B)
    root@luhao:~# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
    192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
    192.168.10.0    *               255.255.255.0   U     0      0        0 eth2
    此时用我的主机pingDM8168
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.112
    PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data.
    64 bytes from 192.168.1.112: icmp_seq=1 ttl=64 time=3.63 ms
    64 bytes from 192.168.1.112: icmp_seq=2 ttl=64 time=1.04 ms
    ^C
    --- 192.168.1.112 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 1.046/2.338/3.631/1.293 ms
    root@ubuntu:/usr/ezsdk/board-support/linux-2.6.37-psp04.04.00.01# ping 192.168.1.110
    PING 192.168.1.110 (192.168.1.110) 56(84) bytes of data.
    64 bytes from 192.168.1.110: icmp_seq=1 ttl=64 time=1.07 ms
    64 bytes from 192.168.1.110: icmp_seq=2 ttl=64 time=1.08 ms
    ^C
    --- 192.168.1.110 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 1.073/1.078/1.083/0.005 ms
    两个ip都是可以ping通的,但是我从DM8168指定IPping主机的话,eth0是不通的
    root@luhao:~# ping 192.168.1.60 -I eth0
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    --- 192.168.1.60 ping statistics ---
    1 packets transmitted, 0 packets received, 100% packet loss
    root@luhao:~# ping 192.168.1.60 -I eth1
    PING 192.168.1.60 (192.168.1.60): 56 data bytes
    64 bytes from 192.168.1.60: seq=0 ttl=64 time=0.945 ms
    64 bytes from 192.168.1.60: seq=1 ttl=64 time=0.479 ms
    --- 192.168.1.60 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.479/0.712/0.945 ms
    从TI的这个手册来看
    TI曾经在DM8168 EVM上基于BCM5751做过PCIE网卡性能测试,且测试的时候禁用了片上双千兆网。
    我也尝试过禁掉片上双网卡,无论是从应用层还是驱动层,但是PCIE网卡都没有起来。
    以上ping通的情况有一个现象需要说明一下,当我eth0对应的网线拔掉,所做的测试结果都是一样的,而当我的eth1网线拔掉的时候,情况是都ping不通。
  • 补上上面的两张图片

  • 问题解决了,谢谢大家这么长时间的关注。

    Since TI81XX RC supports maximum remote read request size (MRRQS) as 256 bytes, ensure that the EP driver/device you are using doesn't set read request size more than this value. If it does, then modify the driver to set read request size to 256 bytes before building it. Ensuring Maximum Read Request size within 256 Byte limit is required even for any intermediate Switch/Bridge devices in the fabric.

    需要改驱动里面read request size,这个每个驱动对应的函数描述不大一样,但是类似,大家可以参考下博通的pcie_set_readrq函数,默认设置的是4096,改成256就行了。

    OK。

  • 谢谢你的分享