Blackfin USB-LAN extender Description The usb-lan extender is an commercial product designed for (but not limited to) Blackfin ADSP (Analog Digital Signal Processor)-BF53x/BF561 EZ-Kits. For more information about the card, please refer to the Blackfin USB-LAN EZ-Extender page. There is an USB (Universal Serial Bus) client chip net2272 on it. Net2272 is USB (Universal Serial Bus) 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 (System Clock) 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 (System Clock) 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 (Universal Serial Bus)-LAN extener, the CPLD (Complex Programmable Logic Device) on BF533 Stamp Board need to be reprogrammed. For how to reprogram CPLD (Complex Programmable Logic Device), 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 (Universal Serial Bus) 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 Compile uClinux and dowload image to Bf537 stamp board. 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 Configure usb0 interface. Don't let the IP confilict with eth0's IP address. ifconfig usb0 192.168.7.1 Connect Stamp board to Linux Host with USB (Universal Serial Bus) cable. On Stamp board's console, it show: usb0: high speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet 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) Configure usb0 interface on Linux Host. ifconfig usb0 192.168.7.2 Run any network application normally. For example: Linux:~ # ping 192.168.7.1 PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data. 64 bytes from 192.168.7.1: icmp_seq=1 ttl=64 time=2.11 ms 64 bytes from 192.168.7.1: icmp_seq=2 ttl=64 time=0.256 ms 64 bytes from 192.168.7.1: icmp_seq=3 ttl=64 time=0.302 ms 64 bytes from 192.168.7.1: icmp_seq=4 ttl=64 time=0.196 ms 64 bytes from 192.168.7.1: icmp_seq=5 ttl=64 time=0.323 ms 64 bytes from 192.168.7.1: icmp_seq=6 ttl=64 time=0.151 ms --- 192.168.7.1 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. Copy file uClinux-dist/linux-2.6.x/Documentation/usb/linux.inf from linux kernel source to your Windows Host. Convert linux.inf to DOS format. You can also do this before you copy it to Windows Host. Conect stamp board to Windows host by USB (Universal Serial Bus) cable. Found New Hardware Wizard appears. Choose Install from a list or specific location(Advanced), click Next. 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. This is a warning of “not passed Windows Logo testing”. Choose “Continue Anyway”. Choose “Next” to finished. Open Network Connections. There is a new “Local Area Connection ?”, assign an IP for it just like other ethernet card.