Changeset 12038


Ignore:
Timestamp:
05/05/09 08:35:59 (4 years ago)
Author:
BrainSlayer
Message:

use now ccq instead of rssi for link quality (atheros chipsets only, broadcom and ralink uses still rssi

Location:
src/router
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/visuals/dd-wrt.c

    r12036 r12038  
    59365936                 0 ) ) 
    59375937        { 
    5938             websWrite( wp, "'%s','%s','%s','%3dM','%3dM','%d','%d','%d'", 
     5938            websWrite( wp, "'%s','%s','%s','%3dM','%3dM','%d','%d','%d','%d'", 
    59395939                       mac,ifname, UPTIME(si->isi_uptime), 
    59405940                       ( ( si-> 
     
    59445944                           isi_rates[si->isi_rxrate] & IEEE80211_RATE_VAL ) / 
    59455945                         2 ) * turbo, si->isi_noise + si->isi_rssi, 
    5946                        si->isi_noise, si->isi_rssi ); 
     5946                       si->isi_noise, si->isi_rssi,si->isi_ccq ); 
    59475947        } 
    59485948        else 
    59495949        { 
    5950             websWrite( wp, "'%s','%s','%s','N/A','N/A','%d','%d','%d'", mac, 
     5950            websWrite( wp, "'%s','%s','%s','N/A','N/A','%d','%d','%d','%d'", mac, 
    59515951                       ifname, UPTIME(si->isi_uptime),si->isi_noise + si->isi_rssi, si->isi_noise, 
    5952                        si->isi_rssi ); 
     5952                       si->isi_rssi,si->isi_ccq ); 
    59535953        } 
    59545954        cp += si->isi_len; 
     
    61856185            } 
    61866186            else 
     6187//* 1.24 + 116 
    61876188#endif 
    61886189            { 
    6189                 websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d'", mac, 
     6190                int qual = table.Entry[i].AvgRssi0 * 124 + 11600; 
     6191                qual/=10; 
     6192 
     6193                websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d','%d'", mac, 
    61906194                           ifname, table.Entry[i].AvgRssi0, -95, 
    6191                            ( table.Entry[i].AvgRssi0 - ( -95 ) ) ); 
     6195                           ( table.Entry[i].AvgRssi0 - ( -95 ) ),qual ); 
    61926196            } 
    61936197        } 
     
    61986202        char mac[32]; 
    61996203 
     6204                int qual = sta->rssi * 124 + 11600; 
     6205                qual/=10; 
    62006206        strcpy( mac, ieee80211_ntoa( sta->mac ) ); 
    6201         websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d'", mac, 
     6207        websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d','%d'", mac, 
    62026208                   sta->ifname, sta->rssi, sta->noise, 
    6203                    ( sta->rssi - ( sta->noise ) ) ); 
     6209                   ( sta->rssi - ( sta->noise ) ),qual ); 
    62046210        free( sta ); 
    62056211 
     
    62426248#define NOISE_CMD       "wl noise" 
    62436249 
    6244 #ifndef HAVE_MSSID 
    6245 void ej_active_wireless( webs_t wp, int argc, char_t ** argv ) 
    6246 { 
    6247     int rssi = 0, noise = 0; 
    6248     FILE *fp2; 
    6249     char *mode; 
    6250     char mac[30]; 
    6251     char list[2][30]; 
    6252     char line[80]; 
    6253     char cmd[80]; 
    6254     int macmask; 
    6255  
    6256 #ifdef FASTWEB 
    6257     ejArgs( argc, argv, "%d", &macmask ); 
    6258 #else 
    6259     if( ejArgs( argc, argv, "%d", &macmask ) < 1 ) 
    6260     { 
    6261         websError( wp, 400, "Insufficient args\n" ); 
    6262         return; 
    6263     } 
    6264 #endif 
    6265  
    6266     unlink( RSSI_TMP ); 
    6267     int cnt = 0; 
    6268  
    6269     mode = nvram_safe_get( "wl_mode" ); 
    6270     unsigned char buf[WLC_IOCTL_MAXLEN]; 
    6271  
    6272     memset( buf, 0, WLC_IOCTL_MAXLEN ); 
    6273     char *iface = get_wdev(  ); 
    6274  
    6275     if( !ifexists( iface ) ) 
    6276         return; 
    6277     int r = getassoclist( iface, buf ); 
    6278  
    6279     if( r < 0 ) 
    6280         return; 
    6281     struct maclist *maclist = ( struct maclist * )buf; 
    6282     int i; 
    6283  
    6284     for( i = 0; i < maclist->count; i++ ) 
    6285     { 
    6286         ether_etoa( ( uint8 * ) & maclist->ea[i], mac ); 
    6287  
    6288         rssi = 0; 
    6289         noise = 0; 
    6290         // get rssi value 
    6291         if( strcmp( mode, "ap" ) && strcmp( mode, "apsta" ) 
    6292             && strcmp( mode, "apstawet" ) ) 
    6293             sysprintf( "%s > %s", RSSI_CMD, RSSI_TMP ); 
    6294         else 
    6295             sysprintf( "%s \"%s\" > %s", RSSI_CMD, mac, RSSI_TMP ); 
    6296  
    6297         // get noise value if not ap mode 
    6298         if( strcmp( mode, "ap" ) ) 
    6299             sysprintf( "%s >> %s", NOISE_CMD, RSSI_TMP ); 
    6300  
    6301         fp2 = fopen( RSSI_TMP, "r" ); 
    6302         if( fgets( line, sizeof( line ), fp2 ) != NULL ) 
    6303         { 
    6304  
    6305             // get rssi 
    6306             // #ifdef HAVE_MSSID 
    6307             if( sscanf( line, "%d", &rssi ) != 1 ) 
    6308                 continue; 
    6309  
    6310             // noise=getNoise(iface); 
    6311  
    6312             if( strcmp( mode, "ap" ) && 
    6313                 fgets( line, sizeof( line ), fp2 ) != NULL && 
    6314                 sscanf( line, "%d", &noise ) != 1 ) 
    6315                 continue; 
    6316             /* 
    6317              * #else if (sscanf (line, "%s %s %d", list[0], list[1], &rssi) 
    6318              * != 3) continue; // noise=getNoise(iface); if (strcmp (mode, 
    6319              * "ap") && fgets (line, sizeof (line), fp2) != NULL && sscanf 
    6320              * (line, "%s %s %d", list[0], list[1], &noise) != 3) continue; 
    6321              * #endif 
    6322              */ 
    6323             // get noise for client/wet mode 
    6324  
    6325             fclose( fp2 ); 
    6326         } 
    6327         if( nvram_match( "maskmac", "1" ) && macmask ) 
    6328         { 
    6329             mac[0] = 'x'; 
    6330             mac[1] = 'x'; 
    6331             mac[3] = 'x'; 
    6332             mac[4] = 'x'; 
    6333             mac[6] = 'x'; 
    6334             mac[7] = 'x'; 
    6335             mac[9] = 'x'; 
    6336             mac[10] = 'x'; 
    6337         } 
    6338         if( cnt ) 
    6339             websWrite( wp, "," ); 
    6340         cnt++; 
    6341         if( !strcmp( mode, "ap" ) ) 
    6342         { 
    6343             // char *ref = nvram_get ("noise_reference"); 
    6344             noise = -98; 
    6345             // if (ref) 
    6346             // noise = atoi (ref); 
    6347         } 
    6348         websWrite( wp, "'%s','%d','%d','%d'", mac, rssi, noise, 
    6349                    rssi - noise ); 
    6350     } 
    6351     unlink( RSSI_TMP ); 
    6352  
    6353     return; 
    6354 } 
    6355 #else 
    63566250int 
    63576251ej_active_wireless_if( webs_t wp, int argc, char_t ** argv, 
     
    63646258    char line[80]; 
    63656259    int macmask; 
    6366  
    6367 #ifdef FASTWEB 
    6368     ejArgs( argc, argv, "%d", &macmask ); 
    6369 #else 
    6370     if( ejArgs( argc, argv, "%d", &macmask ) < 1 ) 
    6371     { 
    6372         websError( wp, 400, "Insufficient args\n" ); 
    6373         return 0; 
    6374     } 
    6375 #endif 
     6260    macmask=atoi(argv[0]); 
    63766261    if( !ifexists( iface ) ) 
    63776262        return cnt; 
     
    64446329         * only for broadcom } 
    64456330         */ 
    6446         websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d'", mac, iface, 
    6447                    rssi, noise, rssi - noise ); 
     6331        int qual = rssi * 124 + 11600; 
     6332        qual/=10; 
     6333        websWrite( wp, "'%s','%s','N/A','N/A','N/A','%d','%d','%d','%d'", mac, iface, 
     6334                   rssi, noise, rssi - noise,qual ); 
    64486335    } 
    64496336    unlink( RSSI_TMP ); 
     
    64806367} 
    64816368 
    6482 #endif 
    64836369 
    64846370#endif 
  • src/router/kromo/common/Info.htm

    r11806 r12038  
    1414                return; 
    1515        } 
    16         for(var i = 0; i < val.length; i = i + 8) { 
     16        for(var i = 0; i < val.length; i = i + 9) { 
    1717                var row = table.insertRow(-1); 
    1818                 
     
    3636                row.insertCell(-1).innerHTML = val[i + 6];               
    3737                row.insertCell(-1).innerHTML = val[i + 7];               
    38                 setMeterBar(row.insertCell(-1), (val[i + 5] == "0" ? 0 : parseInt(val[i + 5]) * 1.24 + 116), ""); 
     38                setMeterBar(row.insertCell(-1), (val[i + 8] == "0" ? 0 : parseInt(val[i + 8]) * 0.1), ""); 
    3939        } 
    4040} 
  • src/router/kromo/dd-wrt/Status_Wireless.asp

    r11760 r12038  
    1414                return; 
    1515        } 
    16         for(var i = 0; i < val.length; i = i + 8) { 
     16        for(var i = 0; i < val.length; i = i + 9) { 
    1717                var row = table.insertRow(-1); 
    1818                 
     
    3232                row.insertCell(-1).innerHTML = val[i + 6]; 
    3333                row.insertCell(-1).innerHTML = val[i + 7]; 
    34                 setMeterBar(row.insertCell(-1), (val[i + 5] == "0" ? 0 : parseInt(val[i + 5]) * 1.24 + 116), ""); 
     34                setMeterBar(row.insertCell(-1), (val[i + 8] == "0" ? 0 : parseInt(val[i + 8]) * 0.1), ""); 
    3535        } 
    3636} 
     
    216216                                                                                <th width="8%"><% tran("share.intrface"); %></th> 
    217217                                                                                <th width="10%"><% tran("status_router.sys_up"); %></th> 
    218                                                                                 <th width="10%"><% tran("share.txrate"); %></th> 
     218                                                                                <th width="11%"><% tran("share.txrate"); %></th> 
    219219                                                                                <th width="11%"><% tran("share.rxrate"); %></th> 
    220220                                                                                <th width="8%"><% tran("share.signal"); %></th> 
Note: See TracChangeset for help on using the changeset viewer.