--- src/osl-linux.c.orig 2011-10-18 13:51:25.190495842 +0200 +++ src/osl-linux.c 2011-10-18 14:06:19.401147670 +0200 @@ -624,38 +624,7 @@ { /* TLVDEF( etheraddr_t, bssid, , 5, Access_unset ) */ - etheraddr_t* bssid = (etheraddr_t*) data; - - struct iwreq req; - int ret; - - memset(&req, 0, sizeof(req)); - strncpy(req.ifr_ifrn.ifrn_name, g_osl->wireless_if, sizeof(req.ifr_ifrn.ifrn_name)); - ret = ioctl(g_osl->sock, SIOCGIWAP, &req); - if (ret != 0) - { - /* We don't whine about "Operation Not Supported" since that - * just means the interface does not have wireless extensions. */ - if (errno != EOPNOTSUPP) - warn("get_bssid: get associated Access Point MAC failed: %s\n", - strerror(errno)); - return TLV_GET_FAILED; - } - - if (req.u.ap_addr.sa_family != ARPHRD_ETHER) - { - warn("get_bssid: expecting Ethernet address back, not sa_family=%d\n", - req.u.ap_addr.sa_family); - return TLV_GET_FAILED; - } - - memcpy(bssid, req.u.ap_addr.sa_data, sizeof(etheraddr_t)); - - IF_TRACED(TRC_TLVINFO) - printf("get_bssid(): bssid=" ETHERADDR_FMT "\n", ETHERADDR_PRINT(bssid)); - END_TRACE - - return TLV_GET_SUCCEEDED; + return TLV_GET_FAILED; } @@ -736,12 +705,7 @@ { /* TLVDEF( uint16_t, max_op_rate, , 9, Access_unset ) units of 0.5 Mbs */ - uint16_t morate; - - morate = htons(108); /* (OpenWRT, 802.11g) 54 Mbs / 0.5 Mbs = 108 */ - memcpy(data, &morate, 2); - - return TLV_GET_SUCCEEDED; + return TLV_GET_FAILED; } @@ -750,13 +714,7 @@ { /* TLVDEF( uint64_t, tsc_ticks_per_sec, , 0xA, Access_unset ) */ - uint64_t ticks; - - ticks = (uint64_t) 0xF4240LL; // 1M (1us) ticks - YMMV - - cpy_hton64(data, &ticks); - - return TLV_GET_SUCCEEDED; + return TLV_GET_FAILED; } @@ -1081,12 +1039,7 @@ { /* TLVDEF( uint16_t, sees_max, , 0x19, Access_unset, TRUE ) */ - uint16_t *sees_max = (uint16_t*)data; - - g_short_reorder_buffer = htons(NUM_SEES); - memcpy(sees_max, &g_short_reorder_buffer, 2); - - return TLV_GET_SUCCEEDED; + return TLV_GET_FAILED; } @@ -1097,29 +1050,5 @@ { /* TLVDEF( comptbl_t, component_tbl, , 0x1A, Access_unset, FALSE ) */ - comptbl_t *cmptbl = (comptbl_t*)data; - - uint16_t cur_mode; - etheraddr_t bssid; - - cmptbl->version = 1; - cmptbl->bridge_behavior = 0; // all packets transiting the bridge are seen by Responder - cmptbl->link_speed = htonl((uint32_t)(100000000/100)); // units of 100bps - cmptbl->radio_cnt = 1; - cmptbl->radios = &my_radio; - - cmptbl->radios->MOR = htons((uint16_t)(54000000/500000)); // units of 1/2 Mb/sec - cmptbl->radios->PHYtype = 2; // 0=>Unk; 1=>2.4G-FH; 2=>2.4G-DS; 3=>IR; 4=>OFDM5G; 5=>HRDSSS; 6=>ERP - if (get_wireless_mode((void*)&cur_mode) == TLV_GET_FAILED) - { - cur_mode = 2; // default is "automatic or unknown" - } - cmptbl->radios->mode = (uint8_t)cur_mode; - if (get_bssid((void*)&bssid) == TLV_GET_FAILED) - { - memcpy(&bssid, &g_hwaddr, sizeof(etheraddr_t)); - } - memcpy(&cmptbl->radios->BSSID, &bssid, sizeof(etheraddr_t)); - - return TLV_GET_SUCCEEDED; + return TLV_GET_FAILED; }