Problemy s e1000e ?

Milan Kocian milon na wq.cz
Čtvrtek Červen 4 12:58:37 CEST 2009


On Wed, Jun 03, 2009 at 08:23:52PM +0200, Petr Vavra wrote:
> Ano,
>
> driver e1000e je ponekud problemovy. Podle typu karty/cipu to nekde  
> funguje uplne dobre, jinde spatne az vubec. Mrknete do logu a vysledek  
> supnete do googlu, mozna neco z vysledku pomuze, mi pomohla gigova  
> sitovka s Realtek cipsetem v PCI slotu :( Strkat neco takoveho do desky,  
> ktera ma dva onboard intely se mi poneku pricilo, ale funguje to lip.
>
> V dobe vypadku budete mit v logu nejspis neco takovehoto:
>
> May 29 01:03:16 linux kernel: eth0: Detected Tx Unit Hang:
> May 29 01:03:16 linux kernel:   TDH                  <6c>
> May 29 01:03:16 linux kernel:   TDT                  <6d>
> May 29 01:03:16 linux kernel:   next_to_use          <6d>
> May 29 01:03:16 linux kernel:   next_to_clean        <6b>
> May 29 01:03:16 linux kernel: buffer_info[next_to_clean]:
> May 29 01:03:16 linux kernel:   time_stamp           <7f059e>
> May 29 01:03:16 linux kernel:   next_to_watch        <6c>
> May 29 01:03:16 linux kernel:   jiffies              <7f1b0d>
> May 29 01:03:16 linux kernel:   next_to_watch.status <0>
> May 29 01:03:17 linux kernel: NETDEV WATCHDOG: eth0: transmit timed out
> May 29 01:03:23 linux kernel: eth0: Link is Up 1000 Mbps Full Duplex,  
> Flow Control: RX/TX
>
> Tech TX Unit Hang tam bude po sobe asi vic, pak teprve ten timeout, pri  
> kopirovani z windows se obcas neulozi soubor (windows vyhodi chybu),  
> nekdy to udela za hodinu, nekdy i nekolikrat za minutu.
>
> Petr Vavra
>

Zdravim,

neco podobneho jsem mel v logu taky. z netdevu jsem dostal od
chlapika z intelu jeden skript, ktery to opravil. Fixuje primo
neco v eepromce. Ale je to jen pro nejake typy karet.
Tak ho radsi prikladam.

-- 
Milan Kocian
------------- další část ---------------
#!/bin/bash

if [ -z "$1" ]; then
	echo "Usage: $0 \<interface\>"
	echo "       i.e. $0 eth0"
	exit 1
fi

if ! ifconfig $1 > /dev/null; then
	exit 1
fi

dev=$(ethtool -e $1 | grep 0x0010 | awk '{print "0x"$13$12$15$14}')

case $dev in
	0x108b8086)
		echo "$1: is a \"82573V Gigabit Ethernet Controller\""
		;;
	0x108c8086)
		echo "$1: is a \"82573E Gigabit Ethernet Controller\""
		;;
	0x109a8086)
		echo "$1: is a \"82573L Gigabit Ethernet Controller\""
		;;
	*)
		echo "No appropriate hardware found for this fixup"
		exit 1
		;;
esac

echo "This fixup is applicable to your hardware"

var=$(ethtool -e $1 | grep 0x0010 | awk '{print $16}')
new=$(echo ${var:0:1}`echo ${var:1} | tr '02468ace' '13579bdf'`)

if [ ${var:0:1}${var:1} == $new ]; then
	echo "Your eeprom is up to date, no changes were made"
	exit 2
fi

echo "executing command: ethtool -E $1 magic $dev offset 0x1e value 0x$new"
ethtool -E $1 magic $dev offset 0x1e value 0x$new


Další informace o konferenci Linux