[Suzaku:00654] =?iso-2022-jp?B?TEFOOTExOCAbJEIkTkF9QF8kSyREJCQkRi0iGyhC?=

Tarumi email@hidden
2006年 9月 27日 (水) 11:25:58 JST


垂水です。

ご教示ありがとうございます。


試した結果
 # cat /proc/interrupts
            CPU0
   0:       6015           XINTC  timer
   1:        205           XINTC  Microblaze UARTlite
   2:          6           XINTC  SMSC_LAN911x_ISR
 ERR:          0
6のままで増加しませんでした。

 # ifconfig (タイムアウト・エラーになる前の内容です)
 eth0      Link encap:Ethernet  HWaddr 00:00:56:34:12:00
           UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000

TXの送信パケットは増加しますので、正常ですが受信は全くできていない様です。
送信内容はパソコンでモニタした結果、正常でした。

9118は完成した基板を購入していますので問題ないと思います。
 http://www.daisendenshi.com/product/list_easy-nic.html


>>  SMSC: In ISR, not my interrupt, dwIntCfg=0x00000101
>
> ここで失敗してますね。ソースコード的には dwIntCfg=0x00001100じゃないと
> いけないみたいです。

たぶん、この辺りか、初期化に何かあるのでしょうね。
もう少し悩んでみます。

また、お気づきの点がありましたらご教授いただければ幸いです。


> eth1を dhcpに対応させる方法でしょうか? dhcpのクライアントの引き数でイ
> ンターフェースを指定できるはずです。

「dhcpのクライアントの引き数」て何ですか?
どこかに設定か呼び出しがあるのでしょうか?
素人の質問で申し訳ありませんが、ご教授いただけると助かります。


----- Original Message ----- 
From: <Yasushi.SHOJI at atmark-techno.com (Yasushi SHOJI)>
Sent: Tuesday, September 26, 2006 6:00 PM
Subject: [Suzaku:00653] Re: LAN9118 増設について


> At Tue, 26 Sep 2006 15:36:20 +0900,
> Tarumi wrote:
>>
>> SUZAKU-Sを使用し、外部にLAN9118を増設して使おうとしているのですが
>> DHCPが正常に終了できずに悩んでいます。
>
> PINGとか tcp/ipの通信はできていますか?
>
> 一度 DHCPが interfaceを初期化するときのバグを見たことがあります。
>
>> ドライバは最新のものに含まれていたものを使用しています。
>
> 9115ではテストしていますが、9118ではテストしていないのでなんとも言えま
> せんが、とりあえず気がついたとこだけ。
>
> 9118って32 bit版ですよね? レジスタのread/writeは正常にできていると判
> 断して良いですか?
>
>> 変更箇所
>>  ・fpgaのSMC91111のアドレスを変更、割り込みは削除。
>>  ・fpgaにSMSC9118を追加
>>   (DHCPに対応させる方法が分からなかった為、eth0にして使用しています)
>
> eth1を dhcpに対応させる方法でしょうか? dhcpのクライアントの引き数でイ
> ンターフェースを指定できるはずです。
>
> 下のログを見ると9118では IRQを使っていないように見えますがあっています
> か?
>
>>  ・config.linix-2.4.x.jffs2にCONFIG_SMSC911X=yを追加
>>
>> 通信ログ
>>  ・ ・ ・ ・ ・ (省略)
>>  eth0: LAN9118 (rev 1180001) at ffe00000 IRQ 2
>>  SMSC: -->Phy_Initialize
>>  SMSC: dwPhyId==0x00C0001C,bPhyModel==0x0D,bPhyRev==0x01
>>  SMSC: <--Phy_Initialize, result=TRUE
>>  SMSC: <--Smsc911x_init(), result=0
>>  SMSC:   Interface Name = "eth0"
>>  SMSC: <-- init_module()
>>  Suzaku MTD mappings:
>>    Flash 0x800000 at 0xff000000
>>
>>  ・ ・ ・ ・ ・ (省略)
>>  flatfsd: Created 4 configuration files (150 bytes)
>>  Setting hostname:
>>  SMSC: Link is now UP at 100Mbps FD
>>  SMSC: LAN911x: ASYMP,SYMP ,100FD,100HD,10FD ,10HD
>>  SMSC: Partner: ASYMP,SYMP ,100FD,100HD,10FD ,10HD
>>  Setting up interface lo:
>>  Starting DHCP client:
>>  SMSC: -->Smsc911x_open(dev=0x800FB270)
>>  SMSC: -->Lan_Initialize(dwIntCfg=0x00000001)
>>  SMSC: <--g_GpioSetting set
>>  SMSC: <--Lan_Initialize
>>  SMSC: Testing ISR using IRQ 2
>>  SMSC: In ISR, not my interrupt, dwIntCfg=0x00000101
>
> ここで失敗してますね。ソースコード的には dwIntCfg=0x00001100じゃないと
> いけないみたいです。
>
>>  SMSC: ISR passed test using IRQ 2
>>  SMSC: Tx will use PIO
>>  SMSC: Rx will use PIO
>>  SMSC: -->Phy_Initialize
>>  SMSC: dwPhyId==0x00C0001C,bPhyModel==0x0D,bPhyRev==0x01
>>  SMSC: <--Phy_Initialize, result=TRUE
>>  SMSC: <--Smsc911x_open, result=0
>>  SMSC: In ISR, not my interrupt, dwIntCfg=0x36000101
>>  SMSC_WARNING: Gpt_CancelCallBack: Failed
>>  SMSC: In ISR, not my interrupt, dwIntCfg=0x36000101
>>  Starting inetd:
>>  Starting thttpd:
>>  SMSC: Link is now UP at 100Mbps FD
>>  SMSC: LAN911x: ASYMP,SYMP ,100FD,100HD,10FD ,10HD
>>  SMSC: Partner: ASYMP,SYMP ,100FD,100HD,10FD ,10HD
>>  
>>  SUZAKU-S login: Jan  1 00:01:05 dhcpcd[32]: timed out waiting for a 
>> valid DHCP server response
>>  SMSC: Multicast: enable dwBitNum=31,addr=01 00 5E 00 00 01
>                                             ^^^^^^^^^^^^^^^^^
> MACアドレスはあっていますか?
>
>>  SMSC: In ISR, not my interrupt, dwIntCfg=0x36000101
>>
>> 初期化、テスト割り込み、送信は正常に行われています。
>> 受信割り込みも、おそらく正常だと思います。
>
> たぶん、割り込み処理していないと思います。
>
>    cat /proc/interrupts
>
> で、割り込みの増加を見れると思いますが、確認してもらえますか?
>
>> 受信が正常に行われているかどうかが、Linuxに不慣れなものでよく分かりません。 
>> 
>
> wireshark (旧 ethereal)で通信経路のデータを見ることができます。suzaku
> から正しいデータが出力されているか確認してください。
>
>> お手数ですが、現状および受信状態を確認する方法など
>> ご教授いただきたく、よろしくお願いいたします。
>
> 9118に書き込む場所で printkをして、wiresharkで取れたデータと比較してみ
> てください。
>
>> 追伸。
>>  過去のメーリングリストに添付しているサンプルソースなどは
>>  何処かからダウンロードできないのでしょうか?
>>  (参考資料は、多いほど助かるのですが・・・)
>
>
> http://lists.atmark-techno.com/pipermail/suzaku/ でアーカイブを見るこ
> とができます。添付ファイルも見れると思います。
> -- 
>         yashi




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