2009年5月6日水曜日

ralink USB で hostapd

どこで何を調べていたか定かではないけど hostapd での nl80211 ドライバはつい最近、2.6.30 からだよ。といった ML のアーカイブを見かけた... はさて置き。

ralink 謹製のドライバが、この辺り にあるので ``RT2501USB(RT73:RT2571W/RT2573/RT2671)'' を持ってきて眺めてみた。が、送信については ACK のチェックは無いようで、USB - urb? のステータスがエラーで無ければ送信 OK というスタンス。一方 linux では SUCCESS は送信フレームの ACK が返ってきたときだけ。と厳しいためrt2x00usb.c にてエラーだったら FAILURE。それ以外はエラーじゃないけど ACK が確認できないので UNKNOWN。この UNKNOWN が enum mac80211_tx_control_flags::include/net/mac80211.h の IEEE80211_TX_STAT_ACK か否か。で否との結果送信できなかったぁ。で動かない。

ralink で OK。に従うならば TXDONE_UNKNOWN を TXDONE_SUCCESS にするのもアリかと。

tcpdump で wlan - 復習

にっ、二年前ですか。こんなことちょっと調べた後も進歩なし。もう一度 MAC フレームの先頭、フレームコントロールフィールドについて。tcpdump でフィルタする時には wlan[0] あるいは wlan[1] で指定。
wlan[0]
  • sub type: 4bit
  • type: 2bit
  • version: 2bit

  • wlan[1]: すべて 1bit
  • ToDS
  • FromDS
  • MoreFragment
  • Retry
  • PowerManagement
  • MoreData
  • WEP
  • Order
  • 先日の tcpdump-workers へのリンクが切れていたので、こちら参照しつつ、バージョンは 0。管理フレームの type は 0。subtype は
    • 0000 association request
    • 0001 association response
    • 0010 reassociation request
    • 0011 reassociation response
    • 0100 probe request
    • 0101 probe response
    • 1000 beacon
    • 1010 deassociation
    • 1011 authentication
    • 1100 deauthentication
    を踏まえるとビーコンフレームは
    # iw dev wlan0 interface add mon0 type monitor flags none
    # ip link set mon0 up
    # ip link ls
    5: mon0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ieee802.11/radiotap xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    # tcpdump -ntvvi mon0 '(wlan[0] & 0xff) == 0x80'
    tcpdump: WARNING: mon0: no IPv4 address assigned
    tcpdump: listening on mon0, link-type IEEE802_11_RADIO (802.11 plus BSD radio information header), capture size 96 bytes
    157275684377us tsft 1.0 Mb/s 2472 MHz (0x00a0) -33dB signal antenna 1 [0x0000000e] 0us Beacon (foobar) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS, PRIVACY
    157275945495us tsft 1.0 Mb/s 2472 MHz (0x00a0) -34dB signal antenna 1 [0x0000000e] 0us Beacon (foobar) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS, PRIVACY
    ....
    radiotap でも wlan[] 指定は OK。も一つ良くリンク忘れるので備忘録
    IEEE 802.11-2007 IEEE Standard for Information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications