[Armadillo:04254] Re: Armadillo-500のネットワーク設定について(ethtool使用)

mizo email@hidden
2009年 5月 13日 (水) 20:51:07 JST


溝渕です。

mizo wrote:
> 溝渕です。
> 
> ご指摘ありがとうございます。
> 
> LANケーブル挿抜時の表示が実際のステータスと異なっていることを確認できま
> した。申しわけございません。
> 
> 添付のパッチを適用して動作を確認していただけますか?

1点確認してもよろしいでしょうか?

auto-negotiationがoffの状態で、LANケーブル挿抜時に
"eth0: link up, 100Mbps, full-duplex, lpa 0x05E1"
のようなメッセージが表示されていますか?

ここで表示される値は、auto-negotiationを行なった場合に設定される値である
可能性があるため、もう少しパッチの適用はお待ちください。

> 大木朋春 wrote:
>> 大木と申します。
>> いつもお世話になっております。
>>
>> Armadillo-500(2.6.18-at8使用)においてethtoolを使ってネットワーク設定を行った場合、以下の
>> ような現象が出ております。
>> ethtoolは、debianのサイトからarmバイナリをダウンロードして使用しています。
>>
>> <現象>
>> ethtoolで10M half/full、100M half/fullの設定を行っても、LANケーブル挿抜時の表示が全て
>>
>>  eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> となり、100M fullと表示される。
>> ただし、ethtool eth0でステータス表示をすると、設定した通りの設定値が表示される。
>>
>>
>> おそらくドライバ側の問題かと思いますが、対処可能であれば対処内容をご教示ください。
>>
>> # LANケーブル抜いた状態でethtool eth0をやっても常に
>> # Link detected: yes
>> # となるのは、また別の問題。
>>
>> 以下、その時のログです。
>> --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool eth0
>> Settings for eth0:
>> 	Supported ports: [ TP MII ]
>> 	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: Full
>> 	Port: MII
>> 	PHYAD: 1
>> 	Transceiver: internal
>> 	Auto-negotiation: on
>> 	Current message level: 0x00000004 (4)
>> 	Link detected: yes
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -s eth0 speed 10
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -s eth0 duplex half
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]#
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]#
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool eth0
>> Settings for eth0:
>> 	Supported ports: [ TP MII ]
>> 	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: No
>> 	Speed: 10Mb/s
>> 	Duplex: Half
>> 	Port: MII
>> 	PHYAD: 1
>> 	Transceiver: internal
>> 	Auto-negotiation: off
>> 	Current message level: 0x00000004 (4)
>> 	Link detected: yes
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -s eth0 duplex full
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link down
>> eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool eth0
>> Settings for eth0:
>> 	Supported ports: [ TP MII ]
>> 	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: No
>> 	Speed: 10Mb/s
>> 	Duplex: Full
>> 	Port: MII
>> 	PHYAD: 1
>> 	Transceiver: internal
>> 	Auto-negotiation: off
>> 	Current message level: 0x00000004 (4)
>> 	Link detected: yes
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]#
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -s eth0 speed 100
>> eth0: link down
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# eth0: link down
>> eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool eth0
>> Settings for eth0:
>> 	Supported ports: [ TP MII ]
>> 	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: No
>> 	Speed: 100Mb/s
>> 	Duplex: Full
>> 	Port: MII
>> 	PHYAD: 1
>> 	Transceiver: internal
>> 	Auto-negotiation: off
>> 	Current message level: 0x00000004 (4)
>> 	Link detected: yes
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -s eth0 duplex half
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]#
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]#
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# eth0: link down
>> eth0: link up, 100Mbps, full-duplex, lpa 0x05E1
>>
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool eth0
>> Settings for eth0:
>> 	Supported ports: [ TP MII ]
>> 	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: No
>> 	Speed: 100Mb/s
>> 	Duplex: Half
>> 	Port: MII
>> 	PHYAD: 1
>> 	Transceiver: internal
>> 	Auto-negotiation: off
>> 	Current message level: 0x00000004 (4)
>> 	Link detected: yes
>> [email@hidden (ttymxc0) /mnt/nand_flash/sbin]# ethtool -h
>> ethtool version 5
>> Usage:
>> (以下略)
>>
>> --8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
>>
>>
>> 以上、よろしくお願いいたします。
>>
>> ----------------
>> 大木 朋春
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --- linux-2.6.18-at11_orig/drivers/net/mii.c	2009-05-13 18:43:47.000000000 +0900
> +++ linux-2.6.18-at11/drivers/net/mii.c	2009-05-13 18:41:56.000000000 +0900
> @@ -263,8 +263,8 @@
>  			      unsigned int init_media)
>  {
>  	unsigned int old_carrier, new_carrier;
> -	int advertise, lpa, media, duplex;
> -	int lpa2 = 0;
> +	int lpa, duplex;
> +	struct ethtool_cmd ecmd;
>  
>  	/* if forced media, go no further */
>  	if (mii->force_media)
> @@ -293,28 +293,15 @@
>  	 */
>  	netif_carrier_on(mii->dev);
>  
> -	/* get MII advertise and LPA values */
> -	if ((!init_media) && (mii->advertising))
> -		advertise = mii->advertising;
> -	else {
> -		advertise = mii->mdio_read(mii->dev, mii->phy_id, MII_ADVERTISE);
> -		mii->advertising = advertise;
> -	}
> +	mii_ethtool_gset(mii, &ecmd);
>  	lpa = mii->mdio_read(mii->dev, mii->phy_id, MII_LPA);
> -	if (mii->supports_gmii)
> -		lpa2 = mii->mdio_read(mii->dev, mii->phy_id, MII_STAT1000);
> -
> -	/* figure out media and duplex from advertise and LPA values */
> -	media = mii_nway_result(lpa & advertise);
> -	duplex = (media & ADVERTISE_FULL) ? 1 : 0;
> -	if (lpa2 & LPA_1000FULL)
> -		duplex = 1;
> -
> +	duplex = (ecmd.duplex == DUPLEX_FULL ? 1 : 0);
> +	
>  	if (ok_to_print)
>  		printk(KERN_INFO "%s: link up, %sMbps, %s-duplex, lpa 0x%04X\n",
>  		       mii->dev->name,
> -		       lpa2 & (LPA_1000FULL | LPA_1000HALF) ? "1000" :
> -		       media & (ADVERTISE_100FULL | ADVERTISE_100HALF) ? "100" : "10",
> +		       ecmd.speed == SPEED_1000 ? "1000" :
> +		       ecmd.speed == SPEED_100 ? "100" : "10",
>  		       duplex ? "full" : "half",
>  		       lpa);
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo


-- 
**************************************************
 株式会社アットマークテクノ  開発部 溝渕大輔
 〒060-0035 札幌市中央区北5条東2丁目AFTビル6F
 TEL:011-207-6550 / FAX:011-207-6570
 http://www.atmark-techno.com/
 e-mail:email@hidden
**************************************************



armadillo メーリングリストの案内