world leader in high performance signal processing
Trace: » usb-lan_ez-extender

Blackfin USB-LAN extender



The usb-lan extender is an commercial product designed for (but not limited to) Blackfin ADSP-BF53x/BF561 EZ-Kits. For more information about the card, please refer to the Blackfin USB-LAN EZ-Extender page. There is an USB client chip net2272 on it. Net2272 is USB 2.0 compliant and support high speed.

Hardware setting on stamp board

BF561 EZKIT Board

Due to modifications in different revisions of the board, some may not be able to work properly.

BOM Revision Status
1.3 Should work just fine
2.1 Should work just fine
2.3 Power supply is not sufficient to properly power the system while running Linux
2.4 Should work just fine
2.5 Should work just fine
2.6 Should work just fine
2.7 Cannot be used when SCLK is above 100mhz

There are even newer versions of the add-on card which cause the system to be unstable when the System clock is running at over 100mhz. This means you'll see random memory failures and so when running Linux, you'll see weird crashes. The only solution is to bump the SCLK down to 100mhz. Starting with 2008R1, the default U-Boot will run at this frequency.

BF537 Stamp Board

Set sw6.4 off.

BF533 Stamp Board

In order to make BF533 to work with USB-LAN extener, the CPLD on BF533 Stamp Board need to be reprogrammed. For how to reprogram CPLD, please refer to CPLD programming.

BF538F EZkit Board

Only cards that are rev 2.0 or newer will work. You may be able to get older boards to work if you make adjustments to the EZkit or the addon card, but really you should just buy a get a new version.

Also make sure to set SW6.4 off.

Linux Kernel Configuration

Configure asynchronous memory.

Blackfin Processor Options --->
      --- Asynchronous Memory Configuration
          EBIU_AMBCTL Control  --->
                  (0x55c2) Bank 3

Configure USB client as ethernet

USB support  --->
      USB Gadget Support --->
              <*> Support for USB Gadgets
              <*> USB Gadget Drivers (Ethernet Gadget (with CDC ethernet support))
                     Ethernet Gadget (with CDC Ethernet support)
              [*]       RNDIS support (EXPERIMENTAL)

Work with Linux Host

Assume your Linux host is Suse 9.1

  1. Compile uClinux and dowload image to Bf537 stamp board.
  2. After kernel is startup, run “ifconfig -a”. The output includes following information.
    usb0      Link encap:Ethernet  HWaddr 26:08:A9:45:6D:9F
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
  3. Configure usb0 interface. Don't let the IP confilict with eth0's IP address.
    ifconfig usb0
  4. Connect Stamp board to Linux Host with USB cable. On Stamp board's console, it show:
    usb0: high speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet
  5. On Linux host, enter root user mode. Run “ifconfig -a ”. The output includes following information, which is the same with on stamp board.
    usb0      Link encap:Ethernet  HWaddr 5E:9D:75:3E:1E:C5
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  6. Configure usb0 interface on Linux Host.
    ifconfig usb0
  7. Run any network application normally. For example:
    Linux:~ # ping
    PING ( 56(84) bytes of data.
    64 bytes from icmp_seq=1 ttl=64 time=2.11 ms
    64 bytes from icmp_seq=2 ttl=64 time=0.256 ms
    64 bytes from icmp_seq=3 ttl=64 time=0.302 ms
    64 bytes from icmp_seq=4 ttl=64 time=0.196 ms
    64 bytes from icmp_seq=5 ttl=64 time=0.323 ms
    64 bytes from icmp_seq=6 ttl=64 time=0.151 ms
    --- ping statistics ---
    6 packets transmitted, 6 received, 0% packet loss, time 5002ms
    rtt min/avg/max/mdev = 0.151/0.556/2.111/0.698 ms

Work with Windows Host

Assume your Windows Host is Windows XP.

  1. Copy file uClinux-dist/linux-2.6.x/Documentation/usb/linux.inf from linux kernel source to your Windows Host.
  2. Convert linux.inf to DOS format. You can also do this before you copy it to Windows Host.
  3. Conect stamp board to Windows host by USB cable.
  4. Found New Hardware Wizard appears. Choose Install from a list or specific location(Advanced), click Next.
  5. Choose “Search for the best driver in these locations”, uncheck “Search remvable media(floppy, CD-ROM…). Check “Include this location in the search:”, use Browse to find the file linux.inf.
  6. This is a warning of “not passed Windows Logo testing”. Choose “Continue Anyway”.
  7. Choose “Next” to finished.
  8. Open Network Connections. There is a new “Local Area Connection ?”, assign an IP for it just like other ethernet card.