2011-07-20

[DM368][RT73] Enabling Wireless Dongle

Reference information

Davinci USB WLan


in case USB is not configured to OTG or host:
I was using D-link DWA-110, Ralink RT-73 NIC
Steps:
1. download serialmonkey's driver source since it is recommended by TI wiki Davinci USB WLan.

there was not too much trouble to make it by following the wiki. I got rt73.ko and copied it to (target)/opt/ipnc. I also copied rt73.bin to (target)/lib/firmware

However, when issuing "insmod rt73.ko", the result was always -

rt73: init
rt73: idVendor = 0x7d1, idProduct = 0x3c03
rt73: Failed to request_firmware. Check your firmware file location
rt73: Failed to load Firmware.
apparently the firmware "rt73.ko" was not found.  I am not too familiar with the procedure after the driver is installed (such as what script will be called , etc). I searched web for quick solution, some useful sites are listed below:
in short, the search failed, even I place rt73.bin to various location, the firmware simply didn't get loaded.

2. Change to official Ralink driver

After reading TI's forum post "Trouble with USB WLAN driver on IPNC DM368", I decided to give up serialmonkey and go official way.

To make the official driver needs a little more effort. There was some kind of kernel inconstant with IPNC release (probably 2.0.26 or something like that). 

I got rt73_drv1.1.0.5 from ralink's download section. To make module, you have to
- modify Makefile: change LINUX_SRC
the first make resulted in missing sturct member get_wireless_stats error in rtmp_main.c, function usb_rtusb_probe()

#if (WIRELESS_EXT >= 12) 
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
netdev->get_wireless_stats = rt73_get_wireless_stats;
#endif
netdev->wireless_handlers = (struct iw_handler_def *) &rt73_iw_handler_def;
#endif
I believe that my IPNC_DM036 release is of kernel 2.6.18, but the include/linux/netdevice.h, the member  get_wireless_stats doesn't exist. not sure if appro or montavista patched it and I didn't check official kernel tree.

Anyway, I changed the #if statement to KERNEL_VERSION(2,6,18) and the module can be compiled.

3. the new rt73.ko works fine, and I also found that rt73.bin is not required.




2 comments:

  1. Hi, really thanks for your sharing. I am also working with this issue now. Did you change your kernel setting relate to USB and Network or just use default? If you modified somethings please give me a hint. Thanks!

    ReplyDelete
  2. Hi Bioz,

    checking TI's wiki
    http://processors.wiki.ti.com/index.php/Davinci_USB_WLan
    https://www.ridgerun.com/developer/wiki/index.php/How_to_configure_DM365_for_USB_host,_device_and_OTG_support

    and you will be fine. if not sure, compile those options into kernel so you don't have to insert the modules.

    ReplyDelete