Cannot use Ralink RT2870 Wi-Fi USB Dongle on Android, BeagleBoneBlack.

Hi, I’m using BBB and I tried to install and use Android 4.2.2 with USB Wi-Fi dongle, but my dongle is not working under Android.
My dongle’s maker is Logitec and its chip is Ralink RT2870.

For this Challenge, I followed these 3 sites.
http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1_DeveloperGuide

http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1_PortingGuide

http://nelenkov.blogspot.jp/2013/07/building-wireless-android-device.html

First, I followed the Developer Guide and I have done from section 1.2 (Host PC Setup) to section 1.6 (Flashing to SD). Then My BBB undrer Android was working , but I cannot use USB Wi-Fi dongle, of cause.

Second, I followed the WLAN section of Porting Guide and nelencov’s past work, and I recognized that I should change some setting files.
I show the list of my changing as below.

  • menuconfig
    – Ralink Support and rt2x00usb Device Support were choosed.
    — then, cfg80211.ko, mac80211.ko, rt2x00lib.ko, rt2x00usb.ko, rt2800lib.ko and rt2800usb.ko are made.
  • BoardConfig.mk
    – add

BOARD_WPA_SUPPLICANT_DRIVER := WEXT
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WLAN_DEVICE := wlan0

  • device.mk
    – add

#Wi-Fi
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml
kernel/net/wireless/cfg80211.ko:system/lib/modules/cfg80211.ko
kernel/net/mac80211/mac80211.ko:system/lib/modules/mac80211.ko
kernel/drivers/net/wireless/rt2x00/rt2800lib.ko:system/lib/modules/rt2x00lib.ko
kernel/drivers/net/wireless/rt2x00/rt2800usb.ko:system/lib/modules/rt2x00usb.ko
kernel/drivers/net/wireless/rt2x00/rt2800lib.ko:system/lib/modules/rt2800lib.ko
kernel/drivers/net/wireless/rt2x00/rt2800usb.ko:system/lib/modules/rt2800usb.ko
device/ti/beagleboneblack/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf

PRODUCT_PROPERTY_OVERRIDES :=
wifi.interface=wlan0

  • init.am335xevm.rc
    – add

on post-fs-data

wifi

mkdir /data/misc/wifi/sockets 0770 wifi wifi
insmod /system/lib/modules/cfg80211.ko
insmod /system/lib/modules/mac80211.ko
insmod /system/lib/modules/rt2x00lib.ko
insmod /system/lib/modules/rt2x00usb.ko
insmod /system/lib/modules/rt2800lib.ko
insmod /system/lib/modules/rt2800usb.ko

service wpa_supplicant /system/bin/wpa_supplicant
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf
-e/data/misc/wifi/entropy.bin
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot

service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot

  • ./overlay/frameworks/base/core/res/res/values/config.xml

– add

“ethernet,9,9,2,-1,true”
“mobile,0,0,0,-1,true”
“wifi,1,1,1,-1,true”

and

"9,1" "1,1"

And I downloaded the firmware(rt2870.bin) from Ralink website, and add it to SD’s dir(/system/etc/firmware/).

But my Wi-Fi dongle didn’t work and outputted below error messages.

[ 4.672454] cfg80211: Calling CRDA to update world regulatory domain
[ 4.721130] rt2800lib: Unknown symbol rt2x00lib_txdone (err 0)
[ 4.727386] rt2800lib: Unknown symbol rt2x00mac_conf_tx (err 0)
[ 4.733703] rt2800lib: Unknown symbol rt2x00lib_get_bssidx (err 0)
[ 4.744567] rt2800usb: Unknown symbol rt2x00mac_sw_scan_complete (err 0)
[ 4.751678] rt2800usb: Unknown symbol rt2800_config_shared_key (err 0)
[ 4.758605] rt2800usb: Unknown symbol rt2x00mac_add_interface (err 0)
[ 4.765380] rt2800usb: Unknown symbol rt2800_enable_radio (err 0)
[ 4.771820] rt2800usb: Unknown symbol rt2800_reset_tuner (err 0)
[ 4.778137] rt2800usb: Unknown symbol rt2x00mac_get_stats (err 0)
[ 4.784576] rt2800usb: Unknown symbol rt2x00mac_sta_remove (err 0)
[ 4.791076] rt2800usb: Unknown symbol rt2800_validate_eeprom (err 0)
[ 4.797790] rt2800usb: Unknown symbol rt2x00lib_txdone_noinfo (err 0)
[ 4.804595] rt2800usb: Unknown symbol rt2800_link_stats (err 0)
[ 4.810852] rt2800usb: Unknown symbol rt2x00usb_disable_radio (err 0)
[ 4.817657] rt2800usb: Unknown symbol rt2800_rfkill_poll (err 0)
[ 4.824005] rt2800usb: Unknown symbol rt2800_txdone_entry (err 0)
[ 4.830413] rt2800usb: Unknown symbol rt2800_probe_hw_mode (err 0)
[ 4.836944] rt2800usb: Unknown symbol rt2800_read_eeprom_efuse (err 0)
[ 4.843872] rt2800usb: Unknown symbol rt2x00mac_set_key (err 0)
[ 4.850097] rt2800usb: Unknown symbol rt2800_efuse_detect (err 0)
[ 4.856536] rt2800usb: Unknown symbol rt2800_config_filter (err 0)
[ 4.863037] rt2800usb: Unknown symbol rt2800_conf_tx (err 0)
[ 4.869018] rt2800usb: Unknown symbol rt2x00mac_sw_scan_start (err 0)
[ 4.875793] rt2800usb: Unknown symbol rt2x00mac_tx_frames_pending (err 0)
[ 4.882965] rt2800usb: Unknown symbol rt2800_check_firmware (err 0)
[ 4.889556] rt2800usb: Unknown symbol rt2x00usb_vendor_request_buff (err 0)
[ 4.896911] rt2800usb: Unknown symbol rt2800_mcu_request (err 0)
[ 4.903259] rt2800usb: Unknown symbol rt2800_init_eeprom (err 0)
[ 4.909576] rt2800usb: Unknown symbol rt2800_config_pairwise_key (err 0)
[ 4.916656] rt2800usb: Unknown symbol rt2800_wait_csr_ready (err 0)
[ 4.923278] rt2800usb: Unknown symbol rt2x00queue_get_entry (err 0)
[ 4.929870] rt2800usb: Unknown symbol rt2800_clear_beacon (err 0)
[ 4.936309] rt2800usb: Unknown symbol rt2800_get_tsf (err 0)
[ 4.942260] rt2800usb: Unknown symbol rt2x00mac_remove_interface (err 0)
[ 4.949340] rt2800usb: Unknown symbol rt2x00usb_vendor_request (err 0)
[ 4.956207] rt2800usb: Unknown symbol rt2x00usb_probe (err 0)
[ 4.962280] rt2800usb: Unknown symbol rt2x00usb_watchdog (err 0)
[ 4.968627] rt2800usb: Unknown symbol rt2800_load_firmware (err 0)
[ 4.975128] rt2800usb: Unknown symbol rt2x00mac_config (err 0)
[ 4.981292] rt2800usb: Unknown symbol rt2x00usb_suspend (err 0)
[ 4.987548] rt2800usb: Unknown symbol rt2x00usb_clear_entry (err 0)
[ 4.994171] rt2800usb: Unknown symbol rt2x00mac_start (err 0)
[ 5.000213] rt2800usb: Unknown symbol rt2x00mac_rfkill_poll (err 0)
[ 5.006835] rt2800usb: Unknown symbol rt2800_process_rxwi (err 0)
[ 5.013275] rt2800usb: Unknown symbol rt2x00mac_set_tim (err 0)
[ 5.019500] rt2800usb: Unknown symbol rt2x00mac_stop (err 0)
[ 5.025482] rt2800usb: Unknown symbol rt2800_link_tuner (err 0)
[ 5.031738] rt2800usb: Unknown symbol rt2800_config_intf (err 0)
[ 5.038085] rt2800usb: Unknown symbol rt2800_set_rts_threshold (err 0)
[ 5.044982] rt2800usb: Unknown symbol rt2800_wait_wpdma_ready (err 0)
[ 5.051757] rt2800usb: Unknown symbol rt2x00mac_configure_filter (err 0)
[ 5.058837] rt2800usb: Unknown symbol rt2x00usb_disconnect (err 0)
[ 5.065368] rt2800usb: Unknown symbol rt2800_sta_remove (err 0)
[ 5.071594] rt2800usb: Unknown symbol rt2x00mac_flush (err 0)
[ 5.077667] rt2800usb: Unknown symbol rt2800_get_tkip_seq (err 0)
[ 5.084075] rt2800usb: Unknown symbol rt2800_write_tx_data (err 0)
[ 5.090606] rt2800usb: Unknown symbol rt2800_disable_radio (err 0)
[ 5.097137] rt2800usb: Unknown symbol rt2800_ampdu_action (err 0)
[ 5.103576] rt2800usb: Unknown symbol rt2800_config_ant (err 0)
[ 5.109802] rt2800usb: Unknown symbol rt2x00usb_register_read_async (err 0)
[ 5.117156] rt2800usb: Unknown symbol rt2x00mac_tx (err 0)
[ 5.122955] rt2800usb: Unknown symbol rt2800_sta_add (err 0)
[ 5.128906] rt2800usb: Unknown symbol rt2x00mac_sta_add (err 0)
[ 5.135162] rt2800usb: Unknown symbol rt2800_config (err 0)
[ 5.141052] rt2800usb: Unknown symbol rt2x00usb_vendor_req_buff_lock (err 0)
[ 5.148498] rt2800usb: Unknown symbol rt2x00usb_regbusy_read (err 0)
[ 5.155212] rt2800usb: Unknown symbol rt2x00usb_kick_queue (err 0)
[ 5.161712] rt2800usb: Unknown symbol rt2800_write_beacon (err 0)
[ 5.168151] rt2800usb: Unknown symbol rt2800_gain_calibration (err 0)
[ 5.174957] rt2800usb: Unknown symbol rt2x00usb_resume (err 0)
[ 5.181091] rt2800usb: Unknown symbol rt2x00usb_uninitialize (err 0)
[ 5.187805] rt2800usb: Unknown symbol rt2x00usb_initialize (err 0)
[ 5.194335] rt2800usb: Unknown symbol rt2800_get_survey (err 0)
[ 5.200561] rt2800usb: Unknown symbol rt2800_config_erp (err 0)
[ 5.206817] rt2800usb: Unknown symbol rt2x00usb_flush_queue (err 0)
[ 5.213439] rt2800usb: Unknown symbol rt2x00mac_get_ringparam (err 0)
[ 5.220214] rt2800usb: Unknown symbol rt2x00mac_bss_info_changed (err 0)
[ 5.232635] rt2800lib: Unknown symbol rt2x00lib_txdone (err 0)
[ 5.238891] rt2800lib: Unknown symbol rt2x00mac_conf_tx (err 0)
[ 5.245208] rt2800lib: Unknown symbol rt2x00lib_get_bssidx (err 0)
[ 5.256103] rt2800usb: Unknown symbol rt2x00mac_sw_scan_complete (err 0)
[ 5.263244] rt2800usb: Unknown symbol rt2800_config_shared_key (err 0)
[ 5.270141] rt2800usb: Unknown symbol rt2x00mac_add_interface (err 0)
[ 5.276947] rt2800usb: Unknown symbol rt2800_enable_radio (err 0)
[ 5.283386] rt2800usb: Unknown symbol rt2800_reset_tuner (err 0)
[ 5.289703] rt2800usb: Unknown symbol rt2x00mac_get_stats (err 0)
[ 5.296142] rt2800usb: Unknown symbol rt2x00mac_sta_remove (err 0)
[ 5.302673] rt2800usb: Unknown symbol rt2800_validate_eeprom (err 0)
[ 5.309387] rt2800usb: Unknown symbol rt2x00lib_txdone_noinfo (err 0)
[ 5.316192] rt2800usb: Unknown symbol rt2800_link_stats (err 0)
[ 5.322448] rt2800usb: Unknown symbol rt2x00usb_disable_radio (err 0)
[ 5.329284] rt2800usb: Unknown symbol rt2800_rfkill_poll (err 0)
[ 5.335632] rt2800usb: Unknown symbol rt2800_txdone_entry (err 0)
[ 5.342041] rt2800usb: Unknown symbol rt2800_probe_hw_mode (err 0)
[ 5.348602] rt2800usb: Unknown symbol rt2800_read_eeprom_efuse (err 0)
[ 5.355499] rt2800usb: Unknown symbol rt2x00mac_set_key (err 0)
[ 5.361755] rt2800usb: Unknown symbol rt2800_efuse_detect (err 0)
[ 5.368194] rt2800usb: Unknown symbol rt2800_config_filter (err 0)
[ 5.374725] rt2800usb: Unknown symbol rt2800_conf_tx (err 0)
[ 5.380676] rt2800usb: Unknown symbol rt2x00mac_sw_scan_start (err 0)
[ 5.387481] rt2800usb: Unknown symbol rt2x00mac_tx_frames_pending (err 0)
[ 5.394653] rt2800usb: Unknown symbol rt2800_check_firmware (err 0)
[ 5.401275] rt2800usb: Unknown symbol rt2x00usb_vendor_request_buff (err 0)
[ 5.408630] rt2800usb: Unknown symbol rt2800_mcu_request (err 0)
[ 5.414978] rt2800usb: Unknown symbol rt2800_init_eeprom (err 0)
[ 5.421295] rt2800usb: Unknown symbol rt2800_config_pairwise_key (err 0)
[ 5.428375] rt2800usb: Unknown symbol rt2800_wait_csr_ready (err 0)
[ 5.434997] rt2800usb: Unknown symbol rt2x00queue_get_entry (err 0)
[ 5.441619] rt2800usb: Unknown symbol rt2800_clear_beacon (err 0)
[ 5.448059] rt2800usb: Unknown symbol rt2800_get_tsf (err 0)
[ 5.454040] rt2800usb: Unknown symbol rt2x00mac_remove_interface (err 0)
[ 5.461120] rt2800usb: Unknown symbol rt2x00usb_vendor_request (err 0)
[ 5.468017] rt2800usb: Unknown symbol rt2x00usb_probe (err 0)
[ 5.474090] rt2800usb: Unknown symbol rt2x00usb_watchdog (err 0)
[ 5.480407] rt2800usb: Unknown symbol rt2800_load_firmware (err 0)
[ 5.486938] rt2800usb: Unknown symbol rt2x00mac_config (err 0)
[ 5.493103] rt2800usb: Unknown symbol rt2x00usb_suspend (err 0)
[ 5.499359] rt2800usb: Unknown symbol rt2x00usb_clear_entry (err 0)
[ 5.505981] rt2800usb: Unknown symbol rt2x00mac_start (err 0)
[ 5.512054] rt2800usb: Unknown symbol rt2x00mac_rfkill_poll (err 0)
[ 5.518676] rt2800usb: Unknown symbol rt2800_process_rxwi (err 0)
[ 5.525115] rt2800usb: Unknown symbol rt2x00mac_set_tim (err 0)
[ 5.531341] rt2800usb: Unknown symbol rt2x00mac_stop (err 0)
[ 5.537322] rt2800usb: Unknown symbol rt2800_link_tuner (err 0)
[ 5.543609] rt2800usb: Unknown symbol rt2800_config_intf (err 0)
[ 5.549957] rt2800usb: Unknown symbol rt2800_set_rts_threshold (err 0)
[ 5.556854] rt2800usb: Unknown symbol rt2800_wait_wpdma_ready (err 0)
[ 5.563659] rt2800usb: Unknown symbol rt2x00mac_configure_filter (err 0)
[ 5.570709] rt2800usb: Unknown symbol rt2x00usb_disconnect (err 0)
[ 5.577239] rt2800usb: Unknown symbol rt2800_sta_remove (err 0)
[ 5.583496] rt2800usb: Unknown symbol rt2x00mac_flush (err 0)
[ 5.589569] rt2800usb: Unknown symbol rt2800_get_tkip_seq (err 0)
[ 5.596008] rt2800usb: Unknown symbol rt2800_write_tx_data (err 0)
[ 5.602508] rt2800usb: Unknown symbol rt2800_disable_radio (err 0)
[ 5.609069] rt2800usb: Unknown symbol rt2800_ampdu_action (err 0)
[ 5.615509] rt2800usb: Unknown symbol rt2800_config_ant (err 0)
[ 5.621734] rt2800usb: Unknown symbol rt2x00usb_register_read_async (err 0)
[ 5.629089] rt2800usb: Unknown symbol rt2x00mac_tx (err 0)
[ 5.634887] rt2800usb: Unknown symbol rt2800_sta_add (err 0)
[ 5.640869] rt2800usb: Unknown symbol rt2x00mac_sta_add (err 0)
[ 5.647125] rt2800usb: Unknown symbol rt2800_config (err 0)
[ 5.653045] rt2800usb: Unknown symbol rt2x00usb_vendor_req_buff_lock (err 0)
[ 5.660491] rt2800usb: Unknown symbol rt2x00usb_regbusy_read (err 0)
[ 5.667205] rt2800usb: Unknown symbol rt2x00usb_kick_queue (err 0)
[ 5.673736] rt2800usb: Unknown symbol rt2800_write_beacon (err 0)
[ 5.680145] rt2800usb: Unknown symbol rt2800_gain_calibration (err 0)
[ 5.686950] rt2800usb: Unknown symbol rt2x00usb_resume (err 0)
[ 5.693115] rt2800usb: Unknown symbol rt2x00usb_uninitialize (err 0)
[ 5.699829] rt2800usb: Unknown symbol rt2x00usb_initialize (err 0)
[ 5.706359] rt2800usb: Unknown symbol rt2800_get_survey (err 0)
[ 5.712615] rt2800usb: Unknown symbol rt2800_config_erp (err 0)
[ 5.718872] rt2800usb: Unknown symbol rt2x00usb_flush_queue (err 0)
[ 5.725494] rt2800usb: Unknown symbol rt2x00mac_get_ringparam (err 0)
[ 5.732269] rt2800usb: Unknown symbol rt2x00mac_bss_info_changed (err 0)

I thought these errors occured because of lacking firmware, but I put the firmware on /system/etc/firmware, so I cannnot solve this problem…
So, if someone successed to working this type of Wi-Fi dongle, please mention about this trouble.

THNX . I HAVE THE SAME PROBLEM BUT I REALY D’ONT UNDERSTAND ANY THING .PLEASE IF THERE IS A ANDROID DRIVER FOR RALINK RT2870 .SOMEBODY GMME A LINK OR UPLOAAD IT HERE I WILL DOWNLOAD IT