hi everone
recently i was working on a usb wifi ,rt3070,
when i start the wifi soft ap function,i received an error;
here is the log
I/dispd ( 2080): path:/module/rtutil3070ap
I/dispd ( 2080): path:/module/rt3070ap
I/dispd ( 2080): path:/module/rtnet3070ap
D/Tethering( 2116): sendTetherStateChangedBroadcast 1, 0, 0
D/Tethering( 2116): interfaceAdded :ra0
I/dispd ( 2080): path:/devices/virtual/net/ra0
I/dispd ( 2080): path:/bus/usb/drivers/rt2870
D/CommandListener( 2079): Setting iface cfg
D/Tethering( 2116): Tethering ra0
D/Tethering( 2116): InitialState.processMessage what=2
D/NetworkManagmentService( 2116): rsp <213 00:00:00:00:00:00 0.0.0.0 0.0.0.0 [down broadcast multicast]>
D/NetworkManagmentService( 2116): flags <[down broadcast multicast]>
D/Tethering( 2116): sendTetherStateChangedBroadcast 0, 0, 0
D/Tethering( 2116): Tethered ra0
D/Tethering( 2116): sendTetherStateChangedBroadcast 0, 1, 0
D/Tethering( 2116): MasterInitialState.processMessage what=1
D/Tethering( 2116): Tether Mode requested by ra0 - TetheredState - Tethered - lastError =0
D/NetworkManagmentService( 2116): rsp <213 00:00:00:00:00:00 0.0.0.0 0.0.0.0 [down broadcast multicast]>
D/NetworkManagmentService( 2116): flags <[down broadcast multicast]>
D/NetworkManagmentService( 2116): rsp <213 00:00:00:00:00:00 192.168.43.1 255.255.255.0 [down broadcast multicast]>
D/NetworkManagmentService( 2116): flags <[down broadcast multicast]>
D/Tethering( 2116): chooseUpstreamType(false), dunRequired =false, iface=null
D/Tethering( 2116): notifying tethered with iface =null
D/TetherController( 2079): Setting IP forward enable = 1
D/TetherController( 2079): Starting tethering services
D/TetherController( 2079): Tethering services running
D/TetherController( 2079): setDnsForwarders(0 = '8.8.8.8')
D/TetherController( 2079): setDnsForwarders(1 = '4.2.2.2')
D/TetherController( 2079): Sending update msg to dnsmasq [update_dns:8.8.8.8:4.2.2.2]
D/Tethering( 2116): TetheredState.processMessage what=12
I/dnsmasq ( 2417): started, version 2.51 cachesize 150
I/dnsmasq ( 2417): compile time options: no-IPv6 GNU-getopt no-DBus no-I18N DHCP no-scripts no-TFTP
W/dnsmasq ( 2417): warning: no upstream servers configured
I/dnsmasq ( 2417): DHCP, IP range 192.168.43.2 -- 192.168.43.254, lease time 1h
I/dnsmasq ( 2417): DHCP, IP range 192.168.42.2 -- 192.168.42.254, lease time 1h
I/dnsmasq ( 2417): read /etc/hosts - 1 addresses
I/dnsmasq ( 2417): using nameserver 4.2.2.2#53
I/dnsmasq ( 2417): using nameserver 8.8.8.8#53
D/dalvikvm( 2116): GC_CONCURRENT freed 1002K, 46% free 4374K/8007K, external 2765K/3965K, paused 4ms+15ms
E/SoftapController( 2079): Softap driver stop - function not supported
E/WifiService( 2116): Exception in startAccessPoint()
int SoftapController::getPrivFuncNum(char *iface, const char *fname) {
struct iwreq wrq;
struct iw_priv_args *priv_ptr;
int i, ret;
strncpy(wrq.ifr_name, iface, sizeof(wrq.ifr_name));
wrq.u.data.pointer = mBuf;
wrq.u.data.length = sizeof(mBuf) / sizeof(struct iw_priv_args);
wrq.u.data.flags = 0;
if ((ret = ioctl(mSock, SIOCGIWPRIV, &wrq)) < 0) {
LOGE("SIOCGIPRIV failed: %d", ret);
return ret;
}
priv_ptr = (struct iw_priv_args *)wrq.u.data.pointer;
for(i=0;(i < wrq.u.data.length);i++) {
if (strcmp(priv_ptr[i].name, fname) == 0)
return priv_ptr[i].cmd;
}
return -1;
}
i can not figure it out,is there somebody familiar with android wifi soft ap,please give me some advice
thanks inadvance
the file is the whole log
in this function it return an error
fnum = getPrivFuncNum(iface, "START");
Original Attachment has been moved to: untitle.txt.zip
Solved! Go to Solution.
hi,
According to your log, it seems iwreq struct is not filled well, or your wireless driver doesn't provide "START"/"STOP" commands within Wireless Extention for Android. You can check athero wireless driver of default BSP,
--
//"system/wlan/atheros/AR6kSDK.build_3.1_RC.563/host/os/linux/ar6000_android.c"
370 int android_ioctl_siwpriv(struct net_device *dev,
371 struct iw_request_info *__info,
372 struct iw_point *data, char *__extra)
373 {
585 } else if (strcasecmp(cmd, "START")==0 || strcasecmp(cmd, "STOP")==0) {
ff, if your question has been answered, please click Correc Answer, so that we may close the DI.
Thanks,
Yixing
hi,
According to your log, it seems iwreq struct is not filled well, or your wireless driver doesn't provide "START"/"STOP" commands within Wireless Extention for Android. You can check athero wireless driver of default BSP,
--
//"system/wlan/atheros/AR6kSDK.build_3.1_RC.563/host/os/linux/ar6000_android.c"
370 int android_ioctl_siwpriv(struct net_device *dev,
371 struct iw_request_info *__info,
372 struct iw_point *data, char *__extra)
373 {
585 } else if (strcasecmp(cmd, "START")==0 || strcasecmp(cmd, "STOP")==0) {
hi MaxTsai
yes it's because my wireless driver doesn't provide "START"/"STOP" commands within Wireless Extention for Android.
ths