2014년 11월 26일 수요일

How to test the W5500 Linux driver

LinuxNote List-page
PREVIOUS: Note3 - Porting Guides

W5500 linux driver
W5300E01-ARM보드의 L4 커넥터에 WIZ550io를 연결하였다.


  • Serial Port는 PC와 연결되어 있으며, 이를 통해 Log를 볼 수 있으며, Zmodem를 통해 Linux dirver module인 w5500.ko를 다운받을 수 있다.

  • Bootloader시 WIZ830mj(W5300기반의 모듈, 3번이라고 쓰이진 Ethernet Port)를 통해 kernel를 다운 받을 수 있다.

  • Kernel이 구동된 이후에는 WIZ550io의 Ethernet port를 통해 packet의 송수신을 한다.




  1. Kernel download on target board
    W5300E01-ARM와 PC의 Serial terminal과 연결한 상태에서 보드의 전원을 인가한 뒤 3초이내에 bootloader로 진입하기 위해 serial terminal에 Enter를 입력한다. bootloader로 진입 후에는 아래의 순서대로 kernel를 target board로 다운받을 수 있다.

    #tftp 31000000 wizImage //target board로 wizImage(커널이미지) 다운로드
    #nand erase 40000 3c0000 //remove nand flash kernel area
    #nand write 31000000 40000 2eb958 // write kernel image to nand flash kernel area
    #reset //re-start
    #login ID : root

  2. Driver module download
    Serial terminal에서 zmodem을 통해 w5500.ko를 다운받은 뒤 아래의 순으로 module을 kernel에 적재 시킬 수 있다.

    #rmmod wiznet              //remove W5300 linux driver(default) module
    #lsmod //verify
    #insmod w5500.ko // insert w5500.ko module
    #ifconfig wiz0 192.168.0.3 //setting network IP address

  3. Ping Test


    • on Board side
      #ping 192.168.0.223 // PC address
      serial terminal ping test

    • on PC side
      #ping 192.168.0.3 // Target board address
      Command Prompt ping test


  4. netloop in app
    driver 코드 안에 포함되어 있는 network loopback program 사용법은 아래와 같다.





  • Compile
    #arm-linux-gcc netloop.c -o netloop


  • Download netloop by using Zmodem


    • 사용하는 Serial Terminal에 맞게 Zmodem을 이용하여 netloop를 Target board에 다운로드한다.


  • netloop 주요 옵션들


























    Option Descriptions
    -u UDP loopback mode
    -t TCP loopback mode
    -p Port number (Default 5001)
    -b Socket buffer size (Default 2048)

  • 실행 예


    • TCP loopback: port number 5003, socket buffer size : 4096

      $netloop -t -p 5003 -b 4096