Problems with network speed setup in F12
Rick Stevens
ricks at nerd.com
Fri Jan 22 17:48:03 UTC 2010
On 01/22/2010 04:08 AM, Gianluca Cecchi wrote:
> Hello,
> in f11 I had a line into /etc/rc.d/rc.local to force speed/duplex/autoneg:
> /sbin/ethtool -s eth0 speed 100 duplex full autoneg off>> /tmp/ethtool.log 2>&1
>
> In F12 I see that this setting is not maintained.
> After I log in in Gnome I see that:
> [root at tekkaman ~]# ethtool eth0
> Settings for eth0:
> Supported ports: [ TP ]
> Supported link modes: 10baseT/Half 10baseT/Full
> 100baseT/Half 100baseT/Full
> Supports auto-negotiation: Yes
> Advertised link modes: 10baseT/Half 10baseT/Full
> 100baseT/Half 100baseT/Full
> Advertised auto-negotiation: Yes
> Speed: 100Mb/s
> Duplex: Half
> Port: Twisted Pair
> PHYAD: 1
> Transceiver: internal
> Auto-negotiation: on
> Supports Wake-on: g
> Wake-on: d
> Current message level: 0x000000ff (255)
> Link detected: yes
>
> The log file has timestamp of my boot time, so that I know it was
> actually executed.
> If I run it manually it succeeds and I get now:
> Advertised link modes: Not reported
> Advertised auto-negotiation: No
> Speed: 100Mb/s
> Duplex: Full
> Port: Twisted Pair
> PHYAD: 1
> Transceiver: internal
> Auto-negotiation: off
> Supports Wake-on: g
> Wake-on: d
> Current message level: 0x000000ff (255)
> Link detected: yes
>
>
> but after some minutes I get again:
> Advertised auto-negotiation: Yes
> Speed: 100Mb/s
> Duplex: Half
> Port: Twisted Pair
> PHYAD: 1
> Transceiver: internal
> Auto-negotiation: on
> Supports Wake-on: g
> Wake-on: d
> Current message level: 0x000000ff (255)
> Link detected: yes
>
> So there is something external that manage this kind of changes.
It's NetworkManager doing that to you.
> Some questions:
> - network guys say me that switch port is fixed at 100/full (it is a
> gigabit ethernet) so, if this is true, even in autoneg there is an
> error in getting settings
Is there a reason they've set that up as fixed? Is there an autoneg
issue with the switch (some don't do autonegotiation correctly).
> - what is the component that changes the settings? I walked through NM
> applet to edit connections but I don't see any parameter....
Yet another issue with NM. It doesn't give you the ability to run any
special "ethtool" stuff.
> Hw is a Dell laptop XPX M1330 with updated F12 x86_64
> lspci for network card gives:
> 09:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5906M
> Fast Ethernet PCI Express (rev 02)
> Subsystem: Dell XPS M1330
> Flags: bus master, fast devsel, latency 0, IRQ 31
> Memory at f1bf0000 (64-bit, non-prefetchable) [size=64K]
> Expansion ROM at<ignored> [disabled]
> Capabilities: [48] Power Management version 3
> Capabilities: [50] Vital Product Data
> Capabilities: [58] Vendor Specific Information<?>
> Capabilities: [e8] MSI: Enable+ Count=1/1 Maskable- 64bit+
> Capabilities: [d0] Express Endpoint, MSI 00
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [13c] Virtual Channel<?>
> Capabilities: [160] Device Serial Number 00-1d-09-ff-fe-3d-82-50
> Kernel driver in use: tg3
> Kernel modules: tg3
>
> Strange thing is that after booting the laptop less that 4 hours ago,
> with dmesg I get these messages:
> tg3.c:v3.99 (April 20, 2009)
> tg3 0000:09:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> tg3 0000:09:00.0: setting latency timer to 64
> tg3 0000:09:00.0: PME# disabled
> eth0: Tigon3 [partno(BCM95906) rev c002] (PCI Express) MAC address
> 00:1d:09:3d:82:50
> eth0: attached PHY is 5906 (10/100Base-TX Ethernet) (WireSpeed[0])
> eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[0]
> eth0: dma_rwctrl[76180000] dma_mask[64-bit]
> ...
> tg3 0000:09:00.0: PME# disabled
> alloc irq_desc for 31 on node 0
> alloc kstat_irqs on node 0
> tg3 0000:09:00.0: irq 31 for MSI/MSI-X
> ADDRCONF(NETDEV_UP): eth0: link is not ready
> Bridge firewalling registered
> virbr0: starting userspace STP failed, starting kernel STP
> tg3: eth0: Link is up at 100 Mbps, full duplex.
> --------------------------->>>> this I think is about my rc.local
> command
> tg3: eth0: Flow control is off for TX and off for RX.
> ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> lo: Disabled Privacy Extensions
> type=1305 audit(1264148879.894:25902): audit_enabled=0 old=1
> auid=4294967295 ses=4294967295 subj=kernel res=1
> eth0: no IPv6 routers present
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, full duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> ...
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> CE: hpet increasing min_delta_ns to 22500 nsec
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
> tg3: eth0: Link is down.
> tg3: eth0: Link is up at 100 Mbps, half duplex.
> tg3: eth0: Flow control is off for TX and off for RX.
>
> So I have many link down messages and (apparently) renegotiation tthat
> then gives 100/half
> Any suggestions???
This is a wild-assed guess, but you could try editing the
"/etc/sysconfig/network-scripts/network-functions" file. Find the
"check_ethtool()" function (around line 256 or so). Add a line (marked
by "ADD--->") as shown below:
check_ethtool ()
{
[ -x /sbin/ethtool ] || return 2
ADD---> LC_ALL=C ethtool -s $1 speed 100 duplex full autoneg off
output=$(LC_ALL=C ethtool $1 2>&1)
echo $output | LC_ALL=C grep -q "Link detected: yes" && return 1
echo $output | LC_ALL=C grep -q "Link detected: no" && return 0 ||
return 2
}
It's a butt-ugly hack, but may serve your purpose.
> BTW I have libvirtd started but no vm created
> Thanks in advance,
> Gianluca
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer ricks at nerd.com -
- AIM/Skype: therps2 ICQ: 22643734 Yahoo: origrps2 -
- -
- Better to understand a little than to misunderstand a lot. -
----------------------------------------------------------------------
More information about the users
mailing list