<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Android_rt3070_or_rt2x00</id>
	<title>Android rt3070 or rt2x00 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Android_rt3070_or_rt2x00"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android_rt3070_or_rt2x00&amp;action=history"/>
	<updated>2026-05-02T11:46:25Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Android_rt3070_or_rt2x00&amp;diff=257&amp;oldid=prev</id>
		<title>Unknown user в 08:15, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Android_rt3070_or_rt2x00&amp;diff=257&amp;oldid=prev"/>
		<updated>2014-10-15T08:15:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Use rt3070 usb wifi module with rt2x00 kernel drivers in Android os= &lt;br /&gt;
&lt;br /&gt;
==Prerequisites== &lt;br /&gt;
&lt;br /&gt;
* Linux kernel working with your device in [http://www.tech-yard.com/tag/android/ android]&lt;br /&gt;
** For example android start on device and everything work but rt3070 wifi&lt;br /&gt;
* Ralink firmware binary&lt;br /&gt;
** Maybe it is possible to override use of binary firmware&lt;br /&gt;
&lt;br /&gt;
==Android device setup== &lt;br /&gt;
&lt;br /&gt;
* Place firmware binary to some folder of device tree&lt;br /&gt;
** For example device/toshiba/paz00-common/prebuild/firmware/rt2870.bin&lt;br /&gt;
&lt;br /&gt;
* Copy firmware in board makefile&lt;br /&gt;
** For example your device make file is ac100.mk, put this line into it&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PRODUCT_COPY_FILES += device/toshiba/paz00-common/prebuild/firmware/rt2870.bin:system/vendor/firmware/rt2870.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
syntax is copy_variable += binary_source_path:binary_destination_path&lt;br /&gt;
&lt;br /&gt;
* Add wifi section in BoardConfig.mk&lt;br /&gt;
** My section is pretty complex but will give a clue&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Wifi related defines&lt;br /&gt;
USES_TI_MAC80211                        := false&lt;br /&gt;
USES_BCMHD_NL80211                      := true&lt;br /&gt;
&lt;br /&gt;
ifdef USES_TI_MAC80211&lt;br /&gt;
BOARD_WPA_SUPPLICANT_DRIVER             := NL80211&lt;br /&gt;
WPA_SUPPLICANT_VERSION                  := VER_0_8_X&lt;br /&gt;
BOARD_WPA_SUPPLICANT_PRIVATE_LIB        := lib_driver_cmd_wl12xx&lt;br /&gt;
BOARD_HOSTAPD_DRIVER                    := NL80211&lt;br /&gt;
BOARD_HOSTAPD_PRIVATE_LIB               := lib_driver_cmd_wl12xx&lt;br /&gt;
BOARD_SOFTAP_DEVICE                     := wlan0&lt;br /&gt;
COMMON_GLOBAL_CFLAGS += -DUSES_TI_MAC80211&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
ifdef USES_BCMHD_NL80211&lt;br /&gt;
BOARD_WPA_SUPPLICANT_DRIVER             := WEXT&lt;br /&gt;
WPA_SUPPLICANT_VERSION                  := VER_0_8_X&lt;br /&gt;
BOARD_WPA_SUPPLICANT_PRIVATE_LIB        := private_lib_driver_cmd&lt;br /&gt;
BOARD_HOSTAPD_DRIVER                    := WEXT&lt;br /&gt;
BOARD_HOSTAPD_PRIVATE_LIB               := private_lib_driver_cmd&lt;br /&gt;
# Unknow option&lt;br /&gt;
#BOARD_LEGACY_NL80211_STA_EVENTS        := true&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
# Wifi base&lt;br /&gt;
BOARD_WLAN_DEVICE                       := wlan0&lt;br /&gt;
WIFI_DRIVER_MODULE_NAME                 := &amp;quot;rt2800usb&amp;quot;&lt;br /&gt;
WIFI_DRIVER_MODULE_PATH                 := &amp;quot;/system/lib/modules/rt2800usb.ko&amp;quot;&lt;br /&gt;
WIFI_DRIVER_MODULE_ARG                  := &amp;quot;nohwcrypt=1&amp;quot;&lt;br /&gt;
WIFI_DRIVER_FW_PATH_STA                 := &amp;quot;/system/vendor/firmware/rt2870.bin&amp;quot;&lt;br /&gt;
WIFI_DRIVER_FW_PATH_P2P                 := &amp;quot;/system/vendor/firmware/rt2870.bin&amp;quot;&lt;br /&gt;
WIFI_DRIVER_FW_PATH_AP                  := &amp;quot;/system/vendor/firmware/rt2870.bin&amp;quot;&lt;br /&gt;
WIFI_FIRMWARE_LOADER                    := &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As im trying to use ti mac80211 private or broadcom bcmhd i made section for both of them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add wpa_supplicant section to board init file&lt;br /&gt;
** For example your board init file is init.paz00.rc then add this sections&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
service wpa_supplicant /system/bin/wpa_supplicant \&lt;br /&gt;
    -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin&lt;br /&gt;
#   we will start as root and wpa_supplicant will switch to user wifi&lt;br /&gt;
#   after setting up the capabilities required for WEXT&lt;br /&gt;
#   user wifi&lt;br /&gt;
#   group wifi inet keystore&lt;br /&gt;
    class main&lt;br /&gt;
    socket wpa_wlan0 dgram 660 wifi wifi&lt;br /&gt;
    disabled&lt;br /&gt;
    oneshot&lt;br /&gt;
&lt;br /&gt;
service p2p_supplicant /system/bin/wpa_supplicant \&lt;br /&gt;
    -Dwext -iwlan0 -puse_p2p_group_interface=1 -c/data/misc/wifi/wpa_supplicant.conf&lt;br /&gt;
# we will start as root and wpa_supplicant will switch to user wifi&lt;br /&gt;
# after setting up the capabilities required for WEXT&lt;br /&gt;
# user wifi&lt;br /&gt;
# group wifi inet keystore&lt;br /&gt;
    class main&lt;br /&gt;
    socket wpa_eth0 dgram 660 wifi wifi&lt;br /&gt;
    disabled&lt;br /&gt;
    oneshot&lt;br /&gt;
&lt;br /&gt;
service hostapd /system/bin/hostapd /data/misc/wifi/hostapd.conf&lt;br /&gt;
    socket wpa_wlan0 dgram 660 wifi wifi&lt;br /&gt;
    class main&lt;br /&gt;
    oneshot&lt;br /&gt;
    disabled&lt;br /&gt;
&lt;br /&gt;
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL&lt;br /&gt;
    class main&lt;br /&gt;
    disabled&lt;br /&gt;
    oneshot&lt;br /&gt;
&lt;br /&gt;
service iprenew_wlan0 /system/bin/dhcpcd -n&lt;br /&gt;
    class main&lt;br /&gt;
    disabled&lt;br /&gt;
    oneshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*** For TI private lib replace -Dwext with -Dnl80211&lt;br /&gt;
&lt;br /&gt;
* Find usable wpa_supplicant private lib&lt;br /&gt;
** As of starting from Android 4.x aka ICS it use new wpa_supplicant fork from Broadcom, you need separate lib&lt;br /&gt;
to make your device work with wpa_supplicant&lt;br /&gt;
*** Perfect way is to know all the driver kitchen and to write own lib fully compatible with device driver&lt;br /&gt;
*** I fount that TI wl12x and Broadcom BCMHD private libs works somehow with rt3070 usb device, both need&lt;br /&gt;
small patches to compile but nothing serious&lt;br /&gt;
**** Place private lib to device tree&lt;br /&gt;
&lt;br /&gt;
==Status== &lt;br /&gt;
&lt;br /&gt;
* For with kernel 3.1 all this is working but not perfect (lower connect distance, sporadic reconnects)&lt;br /&gt;
** Dunno who exacly in charge rt2x00 kernel driver or android wpa_supplicant fork, i prefer to think its wpa_supplicant&lt;br /&gt;
as in linux with same kernel and hardware people have much less problems&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>