Guest User

hostapd

a guest
Mar 9th, 2017
499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.48 KB | None | 0 0
  1. diff -pur a/src/ap/hw_features.c b/src/ap/hw_features.c
  2. --- a/src/ap/hw_features.c 2017-01-27 00:09:12.314728000 +0100
  3. +++ b/src/ap/hw_features.c 2017-01-27 02:56:05.813277300 +0100
  4. @@ -911,10 +911,7 @@ int hostapd_select_hw_mode(struct hostap
  5. if ((iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211G ||
  6. iface->conf->ieee80211n || iface->conf->ieee80211ac) &&
  7. iface->conf->channel == 14) {
  8. - wpa_printf(MSG_INFO, "Disable OFDM/HT/VHT on channel 14");
  9. - iface->conf->hw_mode = HOSTAPD_MODE_IEEE80211B;
  10. - iface->conf->ieee80211n = 0;
  11. - iface->conf->ieee80211ac = 0;
  12. + iface->conf->hw_mode = HOSTAPD_MODE_IEEE80211G;
  13. }
  14.  
  15. iface->current_mode = NULL;
  16. diff -pur a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c
  17. --- a/src/common/ieee802_11_common.c 2017-01-27 02:01:29.732186000 +0100
  18. +++ b/src/common/ieee802_11_common.c 2017-01-27 02:59:54.902397265 +0100
  19. @@ -629,13 +629,498 @@ enum hostapd_hw_mode ieee80211_freq_to_c
  20. return HOSTAPD_MODE_IEEE80211G;
  21. }
  22.  
  23. - if (freq == 2484) {
  24. - if (sec_channel || vht)
  25. - return NUM_HOSTAPD_MODES;
  26. + if (freq == 2192) {
  27. + if (sec_channel == 1)
  28. + *op_class = 83;
  29. + else if (sec_channel == -1)
  30. + *op_class = 84;
  31. + else
  32. + *op_class = 81;
  33. + *channel = 213;
  34. + return HOSTAPD_MODE_IEEE80211G;
  35. + }
  36.  
  37. - *op_class = 82; /* channel 14 */
  38. - *channel = 14;
  39. + if (freq == 2197) {
  40. + if (sec_channel == 1)
  41. + *op_class = 83;
  42. + else if (sec_channel == -1)
  43. + *op_class = 84;
  44. + else
  45. + *op_class = 81;
  46. + *channel = 214;
  47. + return HOSTAPD_MODE_IEEE80211G;
  48. + }
  49. +
  50. + if (freq == 2202) {
  51. + if (sec_channel == 1)
  52. + *op_class = 83;
  53. + else if (sec_channel == -1)
  54. + *op_class = 84;
  55. + else
  56. + *op_class = 81;
  57. + *channel = 215;
  58. + return HOSTAPD_MODE_IEEE80211G;
  59. + }
  60. +
  61. + if (freq == 2207) {
  62. + if (sec_channel == 1)
  63. + *op_class = 83;
  64. + else if (sec_channel == -1)
  65. + *op_class = 84;
  66. + else
  67. + *op_class = 81;
  68. + *channel = 216;
  69. + return HOSTAPD_MODE_IEEE80211G;
  70. + }
  71. +
  72. + if (freq == 2212) {
  73. + if (sec_channel == 1)
  74. + *op_class = 83;
  75. + else if (sec_channel == -1)
  76. + *op_class = 84;
  77. + else
  78. + *op_class = 81;
  79. + *channel = 217;
  80. + return HOSTAPD_MODE_IEEE80211G;
  81. + }
  82. +
  83. + if (freq == 2217) {
  84. + if (sec_channel == 1)
  85. + *op_class = 83;
  86. + else if (sec_channel == -1)
  87. + *op_class = 84;
  88. + else
  89. + *op_class = 81;
  90. + *channel = 218;
  91. + return HOSTAPD_MODE_IEEE80211G;
  92. + }
  93. +
  94. + if (freq == 2222) {
  95. + if (sec_channel == 1)
  96. + *op_class = 83;
  97. + else if (sec_channel == -1)
  98. + *op_class = 84;
  99. + else
  100. + *op_class = 81;
  101. + *channel = 219;
  102. + return HOSTAPD_MODE_IEEE80211G;
  103. + }
  104. +
  105. + if (freq == 2227) {
  106. + if (sec_channel == 1)
  107. + *op_class = 83;
  108. + else if (sec_channel == -1)
  109. + *op_class = 84;
  110. + else
  111. + *op_class = 81;
  112. + *channel = 220;
  113. + return HOSTAPD_MODE_IEEE80211G;
  114. + }
  115. +
  116. + if (freq == 2232) {
  117. + if (sec_channel == 1)
  118. + *op_class = 83;
  119. + else if (sec_channel == -1)
  120. + *op_class = 84;
  121. + else
  122. + *op_class = 81;
  123. + *channel = 221;
  124. + return HOSTAPD_MODE_IEEE80211G;
  125. + }
  126. +
  127. + if (freq == 2237) {
  128. + if (sec_channel == 1)
  129. + *op_class = 83;
  130. + else if (sec_channel == -1)
  131. + *op_class = 84;
  132. + else
  133. + *op_class = 81;
  134. + *channel = 222;
  135. + return HOSTAPD_MODE_IEEE80211G;
  136. + }
  137. +
  138. + if (freq == 2242) {
  139. + if (sec_channel == 1)
  140. + *op_class = 83;
  141. + else if (sec_channel == -1)
  142. + *op_class = 84;
  143. + else
  144. + *op_class = 81;
  145. + *channel = 223;
  146. + return HOSTAPD_MODE_IEEE80211G;
  147. + }
  148. +
  149. + if (freq == 2247) {
  150. + if (sec_channel == 1)
  151. + *op_class = 83;
  152. + else if (sec_channel == -1)
  153. + *op_class = 84;
  154. + else
  155. + *op_class = 81;
  156. + *channel = 224;
  157. + return HOSTAPD_MODE_IEEE80211G;
  158. + }
  159. +
  160. + if (freq == 2252) {
  161. + if (sec_channel == 1)
  162. + *op_class = 83;
  163. + else if (sec_channel == -1)
  164. + *op_class = 84;
  165. + else
  166. + *op_class = 81;
  167. + *channel = 225;
  168. + return HOSTAPD_MODE_IEEE80211G;
  169. + }
  170. +
  171. + if (freq == 2257) {
  172. + if (sec_channel == 1)
  173. + *op_class = 83;
  174. + else if (sec_channel == -1)
  175. + *op_class = 84;
  176. + else
  177. + *op_class = 81;
  178. + *channel = 226;
  179. + return HOSTAPD_MODE_IEEE80211G;
  180. + }
  181. +
  182. + if (freq == 2262) {
  183. + if (sec_channel == 1)
  184. + *op_class = 83;
  185. + else if (sec_channel == -1)
  186. + *op_class = 84;
  187. + else
  188. + *op_class = 81;
  189. + *channel = 227;
  190. + return HOSTAPD_MODE_IEEE80211G;
  191. + }
  192. +
  193. + if (freq == 2267) {
  194. + if (sec_channel == 1)
  195. + *op_class = 83;
  196. + else if (sec_channel == -1)
  197. + *op_class = 84;
  198. + else
  199. + *op_class = 81;
  200. + *channel = 228;
  201. + return HOSTAPD_MODE_IEEE80211G;
  202. + }
  203. +
  204. + if (freq == 2272) {
  205. + if (sec_channel == 1)
  206. + *op_class = 83;
  207. + else if (sec_channel == -1)
  208. + *op_class = 84;
  209. + else
  210. + *op_class = 81;
  211. + *channel = 229;
  212. + return HOSTAPD_MODE_IEEE80211G;
  213. + }
  214. +
  215. + if (freq == 2277) {
  216. + if (sec_channel == 1)
  217. + *op_class = 83;
  218. + else if (sec_channel == -1)
  219. + *op_class = 84;
  220. + else
  221. + *op_class = 81;
  222. + *channel = 230;
  223. + return HOSTAPD_MODE_IEEE80211G;
  224. + }
  225. +
  226. + if (freq == 2282) {
  227. + if (sec_channel == 1)
  228. + *op_class = 83;
  229. + else if (sec_channel == -1)
  230. + *op_class = 84;
  231. + else
  232. + *op_class = 81;
  233. + *channel = 231;
  234. + return HOSTAPD_MODE_IEEE80211G;
  235. + }
  236. +
  237. + if (freq == 2287) {
  238. + if (sec_channel == 1)
  239. + *op_class = 83;
  240. + else if (sec_channel == -1)
  241. + *op_class = 84;
  242. + else
  243. + *op_class = 81;
  244. + *channel = 232;
  245. + return HOSTAPD_MODE_IEEE80211G;
  246. + }
  247. +
  248. + if (freq == 2292) {
  249. + if (sec_channel == 1)
  250. + *op_class = 83;
  251. + else if (sec_channel == -1)
  252. + *op_class = 84;
  253. + else
  254. + *op_class = 81;
  255. + *channel = 233;
  256. + return HOSTAPD_MODE_IEEE80211G;
  257. + }
  258. +
  259. + if (freq == 2297) {
  260. + if (sec_channel == 1)
  261. + *op_class = 83;
  262. + else if (sec_channel == -1)
  263. + *op_class = 84;
  264. + else
  265. + *op_class = 81;
  266. + *channel = 234;
  267. + return HOSTAPD_MODE_IEEE80211G;
  268. + }
  269. +
  270. + if (freq == 2302) {
  271. + if (sec_channel == 1)
  272. + *op_class = 83;
  273. + else if (sec_channel == -1)
  274. + *op_class = 84;
  275. + else
  276. + *op_class = 81;
  277. + *channel = 235;
  278. + return HOSTAPD_MODE_IEEE80211G;
  279. + }
  280. +
  281. + if (freq == 2307) {
  282. + if (sec_channel == 1)
  283. + *op_class = 83;
  284. + else if (sec_channel == -1)
  285. + *op_class = 84;
  286. + else
  287. + *op_class = 81;
  288. + *channel = 236;
  289. + return HOSTAPD_MODE_IEEE80211G;
  290. + }
  291. +
  292. + if (freq == 2312) {
  293. + if (sec_channel == 1)
  294. + *op_class = 83;
  295. + else if (sec_channel == -1)
  296. + *op_class = 84;
  297. + else
  298. + *op_class = 81;
  299. + *channel = 237;
  300. + return HOSTAPD_MODE_IEEE80211G;
  301. + }
  302. +
  303. + if (freq == 2317) {
  304. + if (sec_channel == 1)
  305. + *op_class = 83;
  306. + else if (sec_channel == -1)
  307. + *op_class = 84;
  308. + else
  309. + *op_class = 81;
  310. + *channel = 238;
  311. + return HOSTAPD_MODE_IEEE80211G;
  312. + }
  313. +
  314. + if (freq == 2322) {
  315. + if (sec_channel == 1)
  316. + *op_class = 83;
  317. + else if (sec_channel == -1)
  318. + *op_class = 84;
  319. + else
  320. + *op_class = 81;
  321. + *channel = 239;
  322. + return HOSTAPD_MODE_IEEE80211G;
  323. + }
  324. +
  325. + if (freq == 2327) {
  326. + if (sec_channel == 1)
  327. + *op_class = 83;
  328. + else if (sec_channel == -1)
  329. + *op_class = 84;
  330. + else
  331. + *op_class = 81;
  332. + *channel = 240;
  333. + return HOSTAPD_MODE_IEEE80211G;
  334. + }
  335.  
  336. + if (freq == 2332) {
  337. + if (sec_channel == 1)
  338. + *op_class = 83;
  339. + else if (sec_channel == -1)
  340. + *op_class = 84;
  341. + else
  342. + *op_class = 81;
  343. + *channel = 241;
  344. + return HOSTAPD_MODE_IEEE80211G;
  345. + }
  346. +
  347. + if (freq == 2337) {
  348. + if (sec_channel == 1)
  349. + *op_class = 83;
  350. + else if (sec_channel == -1)
  351. + *op_class = 84;
  352. + else
  353. + *op_class = 81;
  354. + *channel = 242;
  355. + return HOSTAPD_MODE_IEEE80211G;
  356. + }
  357. +
  358. + if (freq == 2342) {
  359. + if (sec_channel == 1)
  360. + *op_class = 83;
  361. + else if (sec_channel == -1)
  362. + *op_class = 84;
  363. + else
  364. + *op_class = 81;
  365. + *channel = 243;
  366. + return HOSTAPD_MODE_IEEE80211G;
  367. + }
  368. +
  369. + if (freq == 2347) {
  370. + if (sec_channel == 1)
  371. + *op_class = 83;
  372. + else if (sec_channel == -1)
  373. + *op_class = 84;
  374. + else
  375. + *op_class = 81;
  376. + *channel = 244;
  377. + return HOSTAPD_MODE_IEEE80211G;
  378. + }
  379. +
  380. + if (freq == 2352) {
  381. + if (sec_channel == 1)
  382. + *op_class = 83;
  383. + else if (sec_channel == -1)
  384. + *op_class = 84;
  385. + else
  386. + *op_class = 81;
  387. + *channel = 245;
  388. + return HOSTAPD_MODE_IEEE80211G;
  389. + }
  390. +
  391. + if (freq == 2357) {
  392. + if (sec_channel == 1)
  393. + *op_class = 83;
  394. + else if (sec_channel == -1)
  395. + *op_class = 84;
  396. + else
  397. + *op_class = 81;
  398. + *channel = 246;
  399. + return HOSTAPD_MODE_IEEE80211G;
  400. + }
  401. +
  402. + if (freq == 2362) {
  403. + if (sec_channel == 1)
  404. + *op_class = 83;
  405. + else if (sec_channel == -1)
  406. + *op_class = 84;
  407. + else
  408. + *op_class = 81;
  409. + *channel = 247;
  410. + return HOSTAPD_MODE_IEEE80211G;
  411. + }
  412. +
  413. + if (freq == 2367) {
  414. + if (sec_channel == 1)
  415. + *op_class = 83;
  416. + else if (sec_channel == -1)
  417. + *op_class = 84;
  418. + else
  419. + *op_class = 81;
  420. + *channel = 248;
  421. + return HOSTAPD_MODE_IEEE80211G;
  422. + }
  423. +
  424. + if (freq == 2372) {
  425. + if (sec_channel == 1)
  426. + *op_class = 83;
  427. + else if (sec_channel == -1)
  428. + *op_class = 84;
  429. + else
  430. + *op_class = 81;
  431. + *channel = 249;
  432. + return HOSTAPD_MODE_IEEE80211G;
  433. + }
  434. +
  435. + if (freq == 2377) {
  436. + if (sec_channel == 1)
  437. + *op_class = 83;
  438. + else if (sec_channel == -1)
  439. + *op_class = 84;
  440. + else
  441. + *op_class = 81;
  442. + *channel = 250;
  443. + return HOSTAPD_MODE_IEEE80211G;
  444. + }
  445. +
  446. + if (freq == 2382) {
  447. + if (sec_channel == 1)
  448. + *op_class = 83;
  449. + else if (sec_channel == -1)
  450. + *op_class = 84;
  451. + else
  452. + *op_class = 81;
  453. + *channel = 251;
  454. + return HOSTAPD_MODE_IEEE80211G;
  455. + }
  456. +
  457. + if (freq == 2387) {
  458. + if (sec_channel == 1)
  459. + *op_class = 83;
  460. + else if (sec_channel == -1)
  461. + *op_class = 84;
  462. + else
  463. + *op_class = 81;
  464. + *channel = 252;
  465. + return HOSTAPD_MODE_IEEE80211G;
  466. + }
  467. +
  468. + if (freq == 2392) {
  469. + if (sec_channel == 1)
  470. + *op_class = 83;
  471. + else if (sec_channel == -1)
  472. + *op_class = 84;
  473. + else
  474. + *op_class = 81;
  475. + *channel = 253;
  476. + return HOSTAPD_MODE_IEEE80211G;
  477. + }
  478. +
  479. + if (freq == 2397) {
  480. + if (sec_channel == 1)
  481. + *op_class = 83;
  482. + else if (sec_channel == -1)
  483. + *op_class = 84;
  484. + else
  485. + *op_class = 81;
  486. + *channel = 254;
  487. + return HOSTAPD_MODE_IEEE80211G;
  488. + }
  489. +
  490. + if (freq == 2402) {
  491. + if (sec_channel == 1)
  492. + *op_class = 83;
  493. + else if (sec_channel == -1)
  494. + *op_class = 84;
  495. + else
  496. + *op_class = 81;
  497. + *channel = 255;
  498. + return HOSTAPD_MODE_IEEE80211G;
  499. + }
  500. +
  501. + if (freq == 2407) {
  502. + if (sec_channel == 1)
  503. + *op_class = 83;
  504. + else if (sec_channel == -1)
  505. + *op_class = 84;
  506. + else
  507. + *op_class = 81;
  508. + *channel = 0;
  509. + return HOSTAPD_MODE_IEEE80211G;
  510. + }
  511. +
  512. + if (freq == 2484) {
  513. + if (sec_channel == 1)
  514. + *op_class = 83;
  515. + else if (sec_channel == -1)
  516. + *op_class = 84;
  517. + else
  518. + *op_class = 81;
  519. + *channel = 14;
  520. return HOSTAPD_MODE_IEEE80211G;
  521. }
  522.  
  523. @@ -1188,12 +1673,12 @@ struct wpabuf * mb_ies_by_info(struct mb
  524.  
  525.  
  526. const struct oper_class_map global_op_class[] = {
  527. - { HOSTAPD_MODE_IEEE80211G, 81, 1, 13, 1, BW20, P2P_SUPP },
  528. - { HOSTAPD_MODE_IEEE80211G, 82, 14, 14, 1, BW20, NO_P2P_SUPP },
  529. + { HOSTAPD_MODE_IEEE80211G, 81, 1, 14, 1, BW20, P2P_SUPP },
  530. + { HOSTAPD_MODE_IEEE80211G, 82, 14, 14, 1, BW20, P2P_SUPP },
  531.  
  532. /* Do not enable HT40 on 2.4 GHz for P2P use for now */
  533. - { HOSTAPD_MODE_IEEE80211G, 83, 1, 9, 1, BW40PLUS, NO_P2P_SUPP },
  534. - { HOSTAPD_MODE_IEEE80211G, 84, 5, 13, 1, BW40MINUS, NO_P2P_SUPP },
  535. + { HOSTAPD_MODE_IEEE80211G, 83, 1, 14, 1, BW40PLUS, P2P_SUPP },
  536. + { HOSTAPD_MODE_IEEE80211G, 84, 1, 14, 1, BW40MINUS, P2P_SUPP },
  537.  
  538. { HOSTAPD_MODE_IEEE80211A, 115, 36, 48, 4, BW20, P2P_SUPP },
  539. { HOSTAPD_MODE_IEEE80211A, 116, 36, 44, 8, BW40PLUS, P2P_SUPP },
Add Comment
Please, Sign In to add comment