NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

Wireless USB Network

From Texas Instruments Wiki
Jump to: navigation, search

Wireless USB Network

Wireless USB network adapters provide WiFi capability to any computing device possessing a standard USB port. USB controller on Davinci supports high-speed USB peripheral mode and high-speed limited host-mode operations. For more information about the USB controller on DM6446 see sprue35. The procedure described here has been tested on TMS320DM6446 and TMS320DM355 EVM’s using the BelkinUSB Wifi adapter (Part # F5D7050) based on ZyDAS/Atheros chipset.

Kernel Config

  • Download the latest DVSDK 1.3 from Follow the Getting Started Guide to install the DVSDK.
  • Change to your kernel build directory.
  Host# cd ~dvsdk_1.3/lsp/ti-davinci 
  • Configure LSP for DM355 or DM6446
  Host # make davinci_dm355_evm_defconfig     /* For DM355 */
  Host # make davinci_dm644x_defconfig   /* For DM6446 */
  • Launch kernel config and enable the RADIO support
  Host # make menuconfig 
  <*>  Device Driver -> Networking Support -> Wireless LAN (non-hamradio) -> Wireless LAN Driver 

In addition to this, you may need to change some networking option like IP Multi-casting, IP advance router etc depending on your requirements.

  • Finally build the kernel
  Host # make uImage

Compiling ZyDAS/Atheros Driver

 Host # tar zxf ZD1211LnxDrv_2_22_0_0.tar.gz
  • Modify Makefile to point the correct LSP path and tool chain, mainly you need to modify
 HOST = /opt/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-
 KDIR := /home/user/dvsdk_1_30/lsp/ti_davinci
  • Finally build the module
 Host # make ZD1211REV_B=1


  • copy zd1211b.ko on the target.
  • Install the driver
  target # insmod zd1211b.ko
  • Connect Wifi adapter to Davinci USB port (Note: If you are using DM6446 then make sure your J7 jumper on the EVM is set to USB Host mode). The driver will output the below message on success
 target# dmesg
  _____     ____    _    ____
 |__  /   _|  _ \  / \  / ___|
   / / | | | | | |/ _ \ \___ \
  / /| |_| | |_| / ___ \ ___) |
 /____\__, |____/_/   \_\____/
 ZD1211B - version
 usbcore: registered new driver zd1211b
 usb 1-1: new high speed USB device using musb_hdrc and address 3
 vendor_id = 050d
 product_id = 705c
 USB 2.0 Host
 Release Ver = 4810
 EEPORM Ver = 4810
 Finsih download Firmware. Ready to reboot
 PA type: 0
 PHYNEWLayout = 1
 AiroHa AL2230RF
 OverWrite CR47 = 0x1C
 zd1205_config: EEP(HWFeature)=0x100
 AllowedChannel = 000107ff
  • To use the driver you first need to activate the network interface. To do that execute ifup command on EVM.
 Target# ifconfig eth1 up
  • Now scan for available interface via
 # iwlist scan
 root@ iwlist scan
 lo        Interface doesn't support scanning.
 eth0      Interface doesn't support scanning.
 sit0      Interface doesn't support scanning.
 eth1      Scan completed :
 Cell 02 - Address: 00:0D:88:2B:CA:15
                   Frequency:2.437 GHz (Channel 6)
                   Extra:SignalStrength=100 %,LinkQuality:76%
                   Encryption key:off
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
  • Set the essid
 # root@ iwconfig eth1 essid usbtest
 # iwconfig 
 lo        no wireless extensions.
 eth0      no wireless extensions.
 sit0      no wireless extensions.
 eth1      802.11b/g NIC  ESSID:"usbtest"
         Mode:Managed  Frequency=2.437 GHz  Access Point: 00:0D:88:2B:CA:15
         Bit Rate:0 kb/s
         Retry:on   RTS thr=9999 B   Fragment thr:off
         Encryption key:off
         Power Management:off
         Link Quality:56/100  Signal level:64/100  Noise level:0/100
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:3   Missed beacon:0
  • Get the IP address via DHCP
 # dhcpcd eth1

In addition to this, you can edit /etc/network/interface file to configure the wireless interface on boot.